deploy: запуск GtS 0.22.1 на bigbox

- compose: тег 0.22.1 (без v), порт 8082:8080 (8080 занят NetBox)
- конфиг GtS через GTS_* env (docker-образ не читает config.yaml)
- .cache для Wazero, права data/ 1000:1000
- Caddy vps02: social.dedinit.ru -> 10.8.0.2:8082
- apex dedinit.ru: .well-known (webfinger/nodeinfo/host-meta) статикой на Jino
This commit is contained in:
estorozhenko
2026-09-06 19:35:54 +00:00
parent 56f228a3d6
commit d9951b6048
+40 -8
View File
@@ -1,29 +1,61 @@
services:
gotosocial:
# Фиксированный тег стабильного релиза (обновление — вручную)
image: superseriousbusiness/gotosocial:v0.22.1
# ВНИМАНИЕ: теги 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 (не секреты — в git)
# Окружение процесса 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.2 → docker NAT 172.29.0.1)
GTS_TRUSTED_PROXIES: "127.0.0.1/32,::1,172.29.0.1/16"
# Инстанс
GTS_INSTANCE_TITLE: "dedinit()"
GTS_INSTANCE_DESCRIPTION: "Нода для обычных людей"
GTS_INSTANCE_CONTACT_EMAIL: "kpa39l@yandex.ru"
# 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
env_file:
- .env
ports:
# Caddy с vps02 → 10.8.0.2:8080 (через WG) → контейнер
- "8080:8080"
# Caddy с vps02 → 10.8.0.2:8082 (через WG) → контейнер :8080
# ВНИМАНИЕ: 8080 на bigbox занят NetBox — GtS наружу на 8082
- "8082:8080"
volumes:
# Данные: SQLite + медиа (локальное хранилище)
- ./data:/gotosocial/storage
# Конфиг (read-only, в git)
- ./config.yaml:/gotosocial/config.yaml:ro
networks:
- gotosocial
# Кэш Wazero-компиляции (быстрый старт)
- ./.cache:/gotosocial/.cache
# Конфиг для справки (read-only; рабочий конфиг — env выше)
- ./config.yaml:/gotosocial/config.example.yaml:ro
networks:
gotosocial: