services: web: build: . ports: - "3000:3000" environment: - NODE_ENV=production depends_on: - db networks: - my_network db: image: postgres:latest environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} # ports: # this exposes the database to the public ... do we want that?? # - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data networks: - my_network cron: image: alpine/curl command: > sh -c " echo '*/10 * * * * curl -X POST http://web:3000/db/clear' > /etc/crontabs/root && \ crond -f -l 2 " depends_on: - web networks: - my_network volumes: postgres_data: networks: my_network: name: my_network driver: bridge