# 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: