version: '3.8'
services:
posthoot-server:
build: .
ports:
- "9001:9001"
environment:
- POSTGRES_HOST=postgres
- REDIS_HOST=redis
depends_on:
- postgres
- redis
volumes:
- ./storage:/app/storage
restart: unless-stopped
networks:
- posthoot-network
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_DB=posthoot
- POSTGRES_USER=posthoot_user
- POSTGRES_PASSWORD=your_secure_password
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
networks:
- posthoot-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U posthoot_user -d posthoot"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
command: redis-server --requirepass your_redis_password
volumes:
- redis_data:/data
restart: unless-stopped
networks:
- posthoot-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
asynqmon:
image: hibiken/asynqmon:latest
environment:
- REDIS_ADDR=redis:6379
ports:
- "8080:8080"
depends_on:
- redis
networks:
- posthoot-network
volumes:
postgres_data:
redis_data:
networks:
posthoot-network:
driver: bridge