# Development stack -- standalone (no Traefik needed) # Usage: docker compose -f docker/docker-compose.dev.yml up # Ports: frontend 3002, backend 8002, postgres 5432, IPFS API 5001, IPFS GW 8080 services: postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-glibredecision} POSTGRES_USER: ${POSTGRES_USER:-glibredecision} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-glibredecision-dev} ports: - "5432:5432" volumes: - postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-glibredecision}"] interval: 5s timeout: 3s retries: 10 start_period: 10s backend: build: context: ../ dockerfile: docker/backend.Dockerfile target: development depends_on: postgres: condition: service_healthy volumes: - ../backend:/app ports: - "8002:8002" environment: DATABASE_URL: postgresql+asyncpg://${POSTGRES_USER:-glibredecision}:${POSTGRES_PASSWORD:-glibredecision-dev}@postgres:5432/${POSTGRES_DB:-glibredecision} SECRET_KEY: dev-secret-key-not-for-production DEBUG: "true" ENVIRONMENT: development CORS_ORIGINS: '["http://localhost:3002"]' DUNITER_RPC_URL: ${DUNITER_RPC_URL:-wss://gdev.p2p.legal/ws} IPFS_API_URL: http://ipfs:5001 IPFS_GATEWAY_URL: http://ipfs:8080 frontend: build: context: ../ dockerfile: docker/frontend.Dockerfile target: development depends_on: - backend volumes: - ../frontend:/app - frontend-node-modules:/app/node_modules ports: - "3002:3002" environment: NUXT_PUBLIC_API_BASE: http://localhost:8002/api/v1 ipfs: image: ipfs/kubo:latest restart: unless-stopped ports: - "5001:5001" - "8080:8080" volumes: - ipfs-data:/data/ipfs volumes: postgres-data: ipfs-data: frontend-node-modules: