services: backend: build: ./backend restart: unless-stopped healthcheck: test: ["CMD", "/usr/bin/curl", "-f", "http://localhost:8080/service/health"] interval: 30s timeout: 10s retries: 3 ports: - "8080:8080" networks: - easywish-network frontend: build: ./frontend restart: unless-stopped networks: - easywish-network minio: image: minio/minio environment: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD} ports: - "9000:9000" command: server /data networks: - easywish-network volumes: - minio_data:/data postgres: image: postgres:latest environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} ports: - "5432:5432" networks: - easywish-network volumes: - postgres_data:/var/lib/postgresql/data - ./sqlc/schema.sql:/docker-entrypoint-initdb.d/init.sql redis: image: eqalpha/keydb command: ["keydb-server", "--requirepass", "${REDIS_PASSWORD}"] environment: REDIS_PASSWORD: ${REDIS_PASSWORD} ports: - "6379:6379" networks: - easywish-network volumes: postgres_data: minio_data: networks: easywish-network: driver: bridge