Files
market-proxy/docker-compose.yml

63 lines
1.5 KiB
YAML

services:
market-fetcher:
build:
context: ./market-fetcher
dockerfile: Dockerfile
container_name: 'market-fetcher'
volumes:
- ./market-fetcher/config.yaml:/app/config.yaml
- ./secrets/coingecko_api_tokens.json:/app/coingecko_api_tokens.json
environment:
GO_ENV: 'production'
PORT: '8081'
restart: unless-stopped
ports:
- "8081:8081"
networks:
- 'markets-network'
healthcheck:
test: [ "CMD", "wget", "-q", "--spider", "http://localhost:8081/health" ]
interval: 5s
timeout: 3s
retries: 3
start_period: 10s
market-proxy:
build:
context: ./nginx-proxy
dockerfile: Dockerfile
container_name: 'market-proxy'
volumes:
- ./secrets/.htpasswd:/etc/nginx/.htpasswd:ro
env_file:
- .env
restart: unless-stopped
ports:
- "8080:8080"
networks:
- 'markets-network'
healthcheck:
test: ['CMD-SHELL', 'nc -z 0.0.0.0 8080']
interval: '30s'
timeout: '30s'
retries: 3
start_period: '10s'
depends_on:
market-fetcher:
condition: service_healthy
market-proxy-metrics:
image: 'nginx/nginx-prometheus-exporter:1.4'
container_name: 'market-proxy-metrics'
restart: 'always'
command:
- '--nginx.scrape-uri=http://market-proxy:8080/stub_status'
- '--web.listen-address=:8090'
ports:
- '8090:8090'
networks:
- 'markets-network'
networks:
markets-network:
driver: bridge