Add monica/docker-compose.yml

This commit is contained in:
Jeff Clement 2024-04-09 15:23:35 +00:00
parent 95def1db97
commit 82e7ade30d
1 changed files with 64 additions and 0 deletions

64
monica/docker-compose.yml Normal file
View File

@ -0,0 +1,64 @@
services:
app:
image: monica
depends_on:
- db
environment:
- APP_KEY=${APP_KEY}
- DB_HOST=db
- DB_USERNAME=monica
- DB_PASSWORD=${DB_PASSWORD}
- APP_ENV=production
- APP_URL=https://${URL}
- MAIL_MAILER=smtp
- MAIL_HOST=smtp.mailgun.org
- MAIL_PORT=587 # is using tls, as you should
- MAIL_USERNAME=${SMTP_USERNAME}
- MAIL_PASSWORD=${SMTP_PASSWORD}
- MAIL_ENCRYPTION=tls
- MAIL_FROM_ADDRESS=${SMTP_USERNAME}
- MAIL_FROM_NAME=Monica # ex: name of the sender
volumes:
- ./data/app:/var/www/html/storage
restart: always
db:
image: mysql:5.7
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=true
- MYSQL_DATABASE=monica
- MYSQL_USER=monica
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- ./data/mysql:/var/lib/mysql
restart: always
tailscale:
hostname: ${TS_HOSTNAME} # This will become the tailscale device name
image: tailscale/tailscale:stable
volumes:
- ./data/tailscale:/tailscale # State data will be stored in this directory
- /dev/net/tun:/dev/net/tun # Required for tailscale to work
- ./data/tailscale.tmp:/tmp
cap_add: # Required for tailscale to work
- net_admin
- sys_module
environment:
TS_HOSTNAME: ${TS_HOSTNAME}
TS_AUTHKEY: ${TS_AUTHKEY}
TS_AUTH_ONCE: true
TS_STATE_DIR: /tailscale
restart: unless-stopped
caddy:
image: caddy:alpine
network_mode: service:tailscale
volumes:
- ./data/caddy_data:/data
- ./data/tailscale.tmp:/var/run/tailscale
command: caddy reverse-proxy --from ${URL} --to app:80
depends_on:
- tailscale
- app
restart: unless-stopped