Files
cactoide/docker-compose.yml
2025-08-27 22:34:06 +02:00

52 lines
1.2 KiB
YAML

version: '3.8'
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:-5437}'
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}
container_name: cactoide-app
ports:
- '${PORT:-5111}:3000'
environment:
DATABASE_URL: ${DATABASE_URL}
PORT: 3000
HOSTNAME: ${HOSTNAME:-0.0.0.0}
depends_on:
postgres:
condition: service_healthy
networks:
- cactoide-network
restart: unless-stopped
volumes:
postgres_data:
networks:
cactoide-network:
driver: bridge