Files
gotosocial/docker-compose.yml
T
estorozhenko b0fc7693c7 feat(metrics): включить OTEL Prometheus-метрики GtS
- OTEL_METRICS_PRODUCERS/EXPORTER=prometheus + OTEL_EXPORTER_PROMETHEUS_HOST=0.0.0.0
  (без них сервер слушает только внутри контейнера, метрик нет)
- порт 127.0.0.1:9464:9464 — метрики наружу на localhost
- prometheus.yml (в /opt/monitoring): job gotosocial → 127.0.0.1:9464, health up
2026-09-06 19:52:59 +00:00

70 lines
3.2 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.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
# Слушать :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"