mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 01:50:08 +00:00
c8d490d1c6
- phanpy service (openengineering/phanpy:latest) :8383->8080, Caddy vps02 → 10.8.0.2:8383 - custom page_footer.tmpl mounted ro: removes 🏳️🌈/🏳️⚧️/🦥 from footer - scripts/check-pride.sh + check-pride.py: detect LGBTQ flags in GtS templates (unicode-normalized), to run on every image upgrade - STATUS.md: procedure for GtS upgrades - openspec: add-webclient-and-clean-footer
87 lines
4.3 KiB
YAML
87 lines
4.3 KiB
YAML
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
|
||
# Кастомный шаблон подвала: без радужных флагов/эмодзи (чистый Source - GoToSocial)
|
||
# ВАЖНО: при обновлении версии GtS проверить совместимость шаблона (см. STATUS.md)
|
||
- ./web/template/page_footer.tmpl:/gotosocial/web/template/page_footer.tmpl:ro
|
||
|
||
# --- Веб-клиент Phanpy (Mastodon-клиент, статический SPA) ---
|
||
# https://web.dedinit.ru (Caddy vps02 → 10.8.0.2:8383)
|
||
# Ходит на API social.dedinit.ru напрямую из браузера (CORS уже *).
|
||
phanpy:
|
||
image: openengineering/phanpy:latest
|
||
container_name: phanpy
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8383:8080"
|
||
|
||
networks:
|
||
gotosocial:
|
||
ipam:
|
||
config:
|
||
# Выделенная подсеть (172.29.0.0/16 свободна на bigbox)
|
||
- subnet: "172.29.0.0/16"
|
||
gateway: "172.29.0.1" |