2
0
forked from jmug/cactoide
Files
cactoide/docker-compose.yml
2025-11-10 11:46:02 +01:00

57 lines
1.5 KiB
YAML

services:
# Database
postgres:
image: postgres:15-alpine
container_name: cactoide-db
environment:
POSTGRES_DB: ${POSTGRES_DB:-cactoide_database}
POSTGRES_USER: ${POSTGRES_USER:-cactoide}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cactoide_password}
expose:
- '${POSTGRES_PORT:-5432}'
ports:
- '${POSTGRES_PORT:-5432}:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test:
[
'CMD-SHELL',
'pg_isready -U ${POSTGRES_USER:-cactoide} -d ${POSTGRES_DB:-cactoide_database}'
]
interval: 10s
timeout: 5s
retries: 5
networks:
- cactoide-network
# Application
app:
image: ghcr.io/polaroi8d/cactoide/cactoide:${APP_VERSION:-latest}
build: .
container_name: cactoide-app
ports:
- '${PORT:-5111}:3000'
environment:
DATABASE_URL: ${DATABASE_URL:-postgres://cactoide:cactoide_password@postgres:5432/cactoide_database}
PORT: 3000
HOSTNAME: ${HOSTNAME:-0.0.0.0}
LOG_PRETTY: ${LOG_PRETTY:-true}
LOG_LEVEL: ${LOG_LEVEL:-trace}
PUBLIC_LANDING_INFO: ${PUBLIC_LANDING_INFO:-true}
FEDERATION_INSTANCE: ${FEDERATION_INSTANCE:-true}
depends_on:
postgres:
condition: service_healthy
networks:
- cactoide-network
restart: unless-stopped
volumes:
postgres_data:
networks:
cactoide-network:
driver: bridge