Files
gotosocial/docker-compose.yml
T
estorozhenko cd7e279bb6 feat(registration): open signups, 10/day limit; openspec: fix-apex-webfinger-and-registration
- docker-compose.yml: GTS_ACCOUNTS_REGISTRATION_OPEN=true, GTS_ACCOUNTS_REGISTRATION_DAILY_LIMIT=10
- openspec: proposal/specs/design/tasks for dynamic apex webfinger + registration + SMTP verify
- verified: /api/v1/instance → registrations:true; apex webfinger → acct:kpa39l@dedinit.ru; SMTP test OK
2026-09-07 05:48:46 +00:00

74 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
gotosocial:
# Фиксированный тег стабильного релиза (обновление — вручную)
# ВНИМАНИЕ: теги GtS БЕЗ префикса v (0.22.1, не v0.22.1)
image: superseriousbusiness/gotosocial:0.22.1
container_name: gotosocial
restart: unless-stopped
# uid/gid пользователя estorozhenko на bigbox
user: "1000:1000"
environment:
# Окружение процесса GtS
TZ: Europe/Moscow
# Docker-образ GtS конфигурируется ТОЛЬКО через GTS_* env
# (config.yaml в образе не подхватывается — «host must be set»)
# Split-domain: сервер на social.dedinit.ru, аккаунты @user@dedinit.ru
GTS_HOST: "social.dedinit.ru"
GTS_ACCOUNT_DOMAIN: "dedinit.ru"
GTS_PROTOCOL: "https"
GTS_BIND_ADDRESS: "0.0.0.0"
GTS_PORT: "8080"
# SQLite: файл в volume ./data
GTS_DB_TYPE: "sqlite"
GTS_DB_ADDRESS: "/gotosocial/storage/sqlite.db"
# Медиа — локально (./data/storage)
GTS_STORAGE_LOCAL_BASE_PATH: "/gotosocial/storage"
# Траст reverse proxy (Caddy на vps02 → WG 10.8.0.4 → bigbox 10.8.0.2 → docker NAT 172.30.0.1)
# 10.8.0.4/32 — WG-адрес vps02 (реальный источник от Caddy), 172.30.0.1/16 — шлюз docker-сети
GTS_TRUSTED_PROXIES: "10.8.0.4/32,127.0.0.1/32,::1,172.30.0.1/16"
# Инстанс
GTS_INSTANCE_TITLE: "dedinit()"
GTS_INSTANCE_DESCRIPTION: "Нода для обычных людей"
GTS_INSTANCE_CONTACT_EMAIL: "kpa39l@yandex.ru"
# Регистрация открыта: 10 новых аккаунтов в сутки (лимит очереди одобрения — дефолт 20)
GTS_ACCOUNTS_REGISTRATION_OPEN: "true"
GTS_ACCOUNTS_REGISTRATION_DAILY_LIMIT: "10"
# SMTP (Jino) — пароль из .env (GTS_SMTP_PASSWORD)
GTS_SMTP_HOST: "smtp.jino.ru"
GTS_SMTP_PORT: "587"
GTS_SMTP_USERNAME: "social@dedinit.ru"
GTS_SMTP_FROM_ADDRESS: "social@dedinit.ru"
# Метрики Prometheus (OTEL)
GTS_METRICS_ENABLED: "true"
GTS_METRICS_AUTH_ENABLED: "false"
# Логи
GTS_LOG_LEVEL: "info"
GTS_LOG_FORMAT: "json"
# OpenTelemetry → Prometheus (метрики)
OTEL_METRICS_PRODUCERS: prometheus
OTEL_METRICS_EXPORTER: prometheus
# Слушать :9464 на всех интерфейсах (иначе только внутри контейнера)
OTEL_EXPORTER_PROMETHEUS_HOST: "0.0.0.0"
env_file:
- .env
ports:
# Caddy с vps02 → 10.8.0.2:8082 (через WG) → контейнер :8080
# ВНИМАНИЕ: 8080 на bigbox занят NetBox — GtS наружу на 8082
- "8082:8080"
# Метрики Prometheus (OTEL :9464) — наружу на 127.0.0.1 (только localhost)
- "127.0.0.1:9464:9464"
volumes:
# Данные: SQLite + медиа (локальное хранилище)
- ./data:/gotosocial/storage
# Кэш Wazero-компиляции (быстрый старт)
- ./.cache:/gotosocial/.cache
# Конфиг для справки (read-only; рабочий конфиг — env выше)
- ./config.yaml:/gotosocial/config.example.yaml:ro
networks:
gotosocial:
ipam:
config:
# Выделенная подсеть (172.29.0.0/16 свободна на bigbox)
- subnet: "172.29.0.0/16"
gateway: "172.29.0.1"