version: '3.9' services: # redis: # image: redis:6.0.9 # environment: # - REDIS_PASSWORD=secret # ports: # - "6379:6379" # prometheus: image: prom/prometheus:latest ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro depends_on: - ota-server ota-server: build: context: . dockerfile: Dockerfile-dev ports: - "3000:3000" volumes: - .:/app - ~/.aws:/root/.aws:ro - ./updates:/updates env_file: - .env command: reflex -r '\.go' -s -- sh -c "ls -l cmd/api && go run cmd/api/main.go" postgres: image: postgres:latest environment: POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-secret} POSTGRES_DB: ${POSTGRES_DB:-expo_ota_dev} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql clickhouse: image: clickhouse/clickhouse-server:25.3 environment: CLICKHOUSE_USER: ${CLICKHOUSE_USER:-default} CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-secret} CLICKHOUSE_DB: ${CLICKHOUSE_DB:-expo_ota_dev} ports: - "127.0.0.1:8123:8123" - "127.0.0.1:9000:9000" ulimits: nofile: soft: 262144 hard: 262144 volumes: - clickhouse_data:/var/lib/clickhouse ota-server-test: build: context: . dockerfile: Dockerfile-dev volumes: - .:/app - ~/.aws:/root/.aws:ro command: go test -v ./... profiles: ["test"] volumes: postgres_data: clickhouse_data: