version: '2.1' networks: lb_web: external: true back: driver: bridge ipam: driver: default config: - subnet: 10.2.1.0/29 services: web: image: nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./data/nginx:/var/nginx/cache environment: - VIRTUAL_HOST networks: - back - lb_web app: image: indiehosters/discourse volumes: - ./data/assets:/home/discourse/discourse/public/assets - ./data/uploads:/home/discourse/discourse/public/uploads - ./data/backups:/home/discourse/discourse/public/backups env_file: - ./env environment: - DISCOURSE_HOSTNAME=$VIRTUAL_HOST - POSTGRES_USER=discourse - DISCOURSE_SMTP_PORT=587 - DISCOURSE_SMTP_ADDRESS - DISCOURSE_SMTP_USER_NAME - DISCOURSE_SMTP_PASSWORD - DISCOURSE_DB_PASSWORD networks: - back sidekiq: image: indiehosters/discourse command: bundle exec sidekiq -q critical -q default -q low -v environment: - DISCOURSE_HOSTNAME=$VIRTUAL_HOST - POSTGRES_USER=discourse - DISCOURSE_SMTP_PORT=587 - DISCOURSE_SMTP_ADDRESS - DISCOURSE_SMTP_USER_NAME - DISCOURSE_SMTP_PASSWORD - DISCOURSE_DB_PASSWORD volumes_from: - app networks: - back postgres: image: postgres:9.5 volumes: - ./data/postgres:/var/lib/postgresql/data networks: - back environment: - POSTGRES_USER=discourse - POSTGRES_PASSWORD redis: image: redis:3 networks: - back volumes: - ./data/redis:/data