FloorVisualizer/docker-compose.yml

82 lines
1.9 KiB
YAML
Raw Permalink Normal View History

services:
app:
image: floorvisualizer:latest
container_name: floorvisualizer_app
restart: unless-stopped
ports:
- "8099:8099"
volumes:
- floor_outputs:/app/outputs
2026-07-27 06:39:45 +00:00
- floor_uploads:/app/uploads
- floor_logs:/app/logs
environment:
- PORT=8099
- DATABASE_URL=postgres://postgres:floorviz123@db:5432/floorvisualizer?sslmode=disable
- REDIS_ADDR=redis:6379
- JWT_SECRET=change-this-to-a-strong-secret-in-production
2026-07-27 06:39:45 +00:00
- OPENROUTER_API_KEY=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
- WORKER_COUNT=5
- LOG_DIR=/app/logs
- LOG_LEVEL=INFO
- PROXY_URL=
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
networks:
- floorviz_network
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:8099/products?limit=1"]
interval: 30s
timeout: 10s
retries: 3
db:
image: postgres:15
container_name: floorvisualizer_db
restart: unless-stopped
ports:
- "8100:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=floorviz123
- POSTGRES_DB=floorvisualizer
volumes:
- floor_db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
networks:
- floorviz_network
redis:
image: redis:7-alpine
container_name: floorvisualizer_redis
restart: unless-stopped
ports:
- "8101:6379"
volumes:
- floor_redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- floorviz_network
volumes:
floor_db_data:
floor_redis_data:
floor_outputs:
floor_logs:
floor_uploads:
networks:
floorviz_network:
name: floorviz_network
driver: bridge