mirror of
https://gitverse.ru/kpa39l/gotosocial.git
synced 2026-09-29 09:55:10 +00:00
b0fc7693c7
- 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
70 lines
3.2 KiB
YAML
70 lines
3.2 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.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" |