127 lines
2.3 KiB
YAML
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:
|