monica/.examples/nginx-proxy/docker-compose.yml
2020-05-21 15:22:29 +02:00

127 lines
2.3 KiB
YAML

# Run Monica with Let's Encrypt certificate
#
# You might want to set these variables in you .env file:
#
#- APP_ENV=production
#- APP_URL with your domain (https scheme)
#
#- DB_HOST=db
# See `db` container for these values:
#- DB_DATABASE=monica
#- DB_USERNAME=homestead
#- DB_PASSWORD=secret
#
# To use redis:
#- REDIS_HOST=redis
#- CACHE_DRIVER=redis
#- QUEUE_CONNECTION=redis
#
version: "3.4"
services:
app:
build: ./app
image: monica-app
env_file: .env
volumes:
- data:/var/www/html/storage
restart: always
depends_on:
- db
- redis
db:
image: mysql:5.7
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=monica
- MYSQL_USER=homestead
- MYSQL_PASSWORD=secret
volumes:
- mysql:/var/lib/mysql
restart: always
redis:
image: redis:alpine
restart: always
cron:
build: ./app
image: monica-app
env_file: .env
restart: always
volumes:
- data:/var/www/html/storage
command: cron.sh
depends_on:
- db
- redis
queue:
build: ./app
image: monica-app
env_file: .env
restart: always
volumes:
- data:/var/www/html/storage
command: queue.sh
depends_on:
- db
- redis
web:
build: ./web
image: monica-web
restart: always
environment:
- VIRTUAL_HOST=
- LETSENCRYPT_HOST=
- LETSENCRYPT_EMAIL=
volumes:
- data:/var/www/html/storage:ro
depends_on:
- app
networks:
- proxy-tier
- default
proxy:
build: ./proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- certs:/etc/nginx/certs:ro
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- proxy-tier
letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: always
volumes:
- certs:/etc/nginx/certs
- vhost.d:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- proxy-tier
depends_on:
- proxy
volumes:
data:
mysql:
certs:
vhost.d:
html:
networks:
proxy-tier: