version: "2" services: nginx: image: nginx:alpine container_name: gmus_nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./certificates:/etc/certificates links: - gmus-backend:gmus-backend networks: - net_gmus_dev ports: - ${PORT}:80 - ${PORT_SECURE}:443 env_file: - .env gmus-backend: container_name: gmus-backend build: context: . command: "make run.server" volumes: - .:/app - /app/bin - ${LIBRARY_DIRECTORY}:/library links: - gmus-db:db - gmus-redis:redis networks: - net_gmus_dev ports: - 3000 env_file: - .env environment: GO_ENV: development HOST: 0.0.0.0 PORT: 3000 POSTGRES_HOST: db POSTGRES_DATABASE: music_player POSTGRES_USER: docker POSTGRES_PASSWORD: docker POSTGRES_PORT: 5432 REDIS_URL: redis:6379 gmus-db: restart: always image: postgres:10.4 networks: - net_gmus_dev ports: - ${DB_PORT_GMUS_DEV:-5432}:5432 environment: POSTGRES_USER: docker POSTGRES_PASSWORD: docker volumes: - ./init.sql:/docker-entrypoint-initdb.d/init.sql gmus-redis: restart: always image: redis:6-alpine networks: - net_gmus_dev ports: - 6381:6379 networks: net_gmus_dev: driver: bridge