mirror of
https://github.com/fromchat-messenger/deployment.git
synced 2026-11-07 15:46:08 +03:00
180 lines
4.6 KiB
YAML
180 lines
4.6 KiB
YAML
# Auto-generated by deployment/scripts/sync-published-compose.py — do not edit manually.
|
|
# One-click: docker compose --env-file .env up -d
|
|
# Tag: v1.2.2
|
|
services:
|
|
backend:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
PORT: 8300
|
|
MESSAGING_SERVICE_URL: http://messaging:8301
|
|
FILE_STORAGE_SERVICE_URL: http://file_storage:8302
|
|
DATABASE_URL: postgresql://main_user:${MAIN_DB_PASSWORD}@postgres:5432/fromchat_main
|
|
MAIN_DB_PASSWORD: ${MAIN_DB_PASSWORD}
|
|
JWT_SECRET: ${JWT_SECRET}
|
|
VAPID_PUBLIC_KEY: ${VAPID_PUBLIC_KEY}
|
|
VAPID_PRIVATE_KEY: ${VAPID_PRIVATE_KEY}
|
|
COMPLIANCE_PUBLIC_KEY: ${COMPLIANCE_PUBLIC_KEY}
|
|
MESSAGE_RETENTION_DAYS: ${MESSAGE_RETENTION_DAYS}
|
|
LIVEKIT_API_KEY: ${LIVEKIT_API_KEY:-fromchat_dev}
|
|
LIVEKIT_API_SECRET: ${LIVEKIT_API_SECRET:-local_dev_secret_must_be_at_least_32_characters_long}
|
|
YANDEX_OAUTH_REQUIRED: ${YANDEX_OAUTH_REQUIRED:-0}
|
|
YANDEX_OAUTH_CLIENT_ID: ${YANDEX_OAUTH_CLIENT_ID:-}
|
|
YANDEX_OAUTH_CLIENT_SECRET: ${YANDEX_OAUTH_CLIENT_SECRET:-}
|
|
YANDEX_OAUTH_REDIRECT_URI: ${YANDEX_OAUTH_REDIRECT_URI:-fromchat://oauth/yandex}
|
|
YANDEX_OAUTH_SCOPE: ${YANDEX_OAUTH_SCOPE:-login:email}
|
|
YANDEX_ID_HOLD_DAYS: ${YANDEX_ID_HOLD_DAYS:-3}
|
|
SMARTCAPTCHA_SERVER_KEY: ${SMARTCAPTCHA_SERVER_KEY:-}
|
|
SMARTCAPTCHA_CLIENT_KEY: ${SMARTCAPTCHA_CLIENT_KEY:-}
|
|
LOGS_DIR: /app/logs
|
|
ENABLE_CHAT_FILTER: '0'
|
|
ports:
|
|
- 8300:8300
|
|
volumes:
|
|
- data:/app/data
|
|
- logs:/app/logs
|
|
- ./secrets:/app/secrets:ro
|
|
networks:
|
|
- public
|
|
- services
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- python3
|
|
- /usr/local/bin/healthcheck.py
|
|
interval: 3s
|
|
timeout: 10s
|
|
retries: 10
|
|
restart: always
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
image: fromchat/backend:v1.2.2
|
|
messaging:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
PORT: 8301
|
|
COMPLIANCE_PUBLIC_KEY: ${COMPLIANCE_PUBLIC_KEY}
|
|
MESSAGE_RETENTION_DAYS: ${MESSAGE_RETENTION_DAYS}
|
|
networks:
|
|
- services
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- python3
|
|
- /usr/local/bin/healthcheck.py
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
restart: always
|
|
image: fromchat/messaging:v1.2.2
|
|
file_storage:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
PORT: 8302
|
|
FILES_DIR: /app/files
|
|
volumes:
|
|
- files:/app/files
|
|
networks:
|
|
- services
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- python3
|
|
- /usr/local/bin/healthcheck.py
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
restart: always
|
|
image: fromchat/file_storage:v1.2.2
|
|
livekit:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
LIVEKIT_KEYS: '${LIVEKIT_API_KEY:-fromchat_dev}: ${LIVEKIT_API_SECRET:-local_dev_secret_must_be_at_least_32_characters_long}'
|
|
command: --config /etc/livekit.yaml
|
|
restart: always
|
|
ports:
|
|
- 8303:8303
|
|
- 8304:8304
|
|
- 50000-50100:50000-50100/udp
|
|
networks:
|
|
- public
|
|
image: fromchat/livekit:v1.2.2
|
|
postgres:
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_DB: fromchat
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
MAIN_DB_PASSWORD: ${MAIN_DB_PASSWORD}
|
|
MESSAGING_DB_PASSWORD: ${MESSAGING_DB_PASSWORD}
|
|
FILE_STORAGE_DB_PASSWORD: ${FILE_STORAGE_DB_PASSWORD}
|
|
ports:
|
|
- 127.0.0.1:5432:5432
|
|
volumes:
|
|
- postgres:/var/lib/postgresql/data
|
|
networks:
|
|
- services
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- pg_isready -U postgres
|
|
interval: 3s
|
|
timeout: 10s
|
|
retries: 15
|
|
restart: always
|
|
image: fromchat/postgres:v1.2.2
|
|
caddy:
|
|
ports:
|
|
- 127.0.0.1:8080:8080
|
|
- 127.0.0.1:8443:8443
|
|
extra_hosts:
|
|
- host.docker.internal:host-gateway
|
|
volumes:
|
|
- ./data/prod/caddy/data:/data
|
|
- ./data/prod/caddy/config:/config
|
|
- ./caddy/additions:/etc/caddy/additions:ro
|
|
networks:
|
|
- public
|
|
restart: always
|
|
image: fromchat/caddy:v1.2.2
|
|
depends_on:
|
|
- web
|
|
haproxy:
|
|
network_mode: host
|
|
user: 0:0
|
|
depends_on:
|
|
- caddy
|
|
restart: always
|
|
image: fromchat/haproxy:v1.2.2
|
|
web:
|
|
env_file:
|
|
- .env
|
|
ports: []
|
|
restart: always
|
|
image: fromchat/web:v1.2.2
|
|
networks:
|
|
- public
|
|
networks:
|
|
public:
|
|
driver: bridge
|
|
internal: false
|
|
services:
|
|
driver: bridge
|
|
internal: true
|
|
volumes:
|
|
postgres:
|
|
name: fromchat-postgres
|
|
data:
|
|
name: fromchat-data
|
|
files:
|
|
name: fromchat-files
|
|
logs:
|
|
name: fromchat-logs
|
|
chat-filter:
|
|
name: fromchat-chat-filter
|
|
name: fromchat-backend
|