docker-compose.yaml
Rama main · réplica de lectura del repositorio original.
services:
bot:
build:
context: .
args:
VERSION: ${LINK_BOT_VERSION:-dev}
COMMIT: ${LINK_BOT_COMMIT:-none}
image: link-bot:local
container_name: link-bot
restart: unless-stopped
env_file:
- .env
environment:
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable
depends_on:
db:
condition: service_healthy
volumes:
- ./translations:/translations
- ./assets:/assets:ro
- ./secrets:/app/secrets:ro
- link-bot-upload-data:/uploads
- ./.update-agent:/run/link-bot-updater:ro
migrate-bedolaga:
build: .
image: link-bot:local
profiles: [ "tools" ]
env_file:
- .env
environment:
DATABASE_URL: postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}?sslmode=disable
BEDOLAGA_DATABASE_URL: ${BEDOLAGA_DATABASE_URL:-}
depends_on:
db:
condition: service_healthy
entrypoint: [ "/app/migrate-bedolaga" ]
db:
image: postgres:17
container_name: link-bot-db
hostname: link-bot-db
restart: unless-stopped
env_file:
- .env
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- TZ=UTC
volumes:
- link-bot-db-data:/var/lib/postgresql/data
healthcheck:
test: [ 'CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}' ]
interval: 3s
timeout: 10s
retries: 3
caddy:
image: caddy:2.10-alpine
profiles: [ "standalone" ]
container_name: link-bot-caddy
restart: unless-stopped
depends_on:
- bot
ports:
- "80:80"
- "443:443"
environment:
PUBLIC_HOST: ${PUBLIC_HOST}
CABINET_SUBDOMAIN: ${CABINET_SUBDOMAIN:-}
ADMIN_SUBDOMAIN: ${ADMIN_SUBDOMAIN:-}
entrypoint: [ "/bin/sh", "/etc/caddy/start-link-bot.sh" ]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-start.sh:/etc/caddy/start-link-bot.sh:ro
- caddy-data:/data
- caddy-config:/config
volumes:
link-bot-db-data:
driver: local
external: false
name: link-bot-db-data
link-bot-upload-data:
caddy-data:
caddy-config: