66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
networks:
|
|
traefik-net:
|
|
name: traefik-net
|
|
|
|
volumes:
|
|
traefik-certs:
|
|
name: traefik-certs
|
|
|
|
services:
|
|
traefik:
|
|
image: traefik:v2.10
|
|
command:
|
|
- --providers.docker
|
|
- --providers.docker.network=traefik-net
|
|
- --providers.docker.exposedbydefault=false
|
|
- --entrypoints.web.address=:80
|
|
- --entrypoints.web.http.redirections.entryPoint.to=websecure
|
|
- --entrypoints.web.http.redirections.entryPoint.scheme=https
|
|
- --entrypoints.web.http.redirections.entrypoint.permanent=true
|
|
- --entrypoints.websecure.address=:443
|
|
- --certificatesresolvers.le.acme.tlschallenge=true
|
|
- --certificatesresolvers.le.acme.email=${EMAIL}
|
|
- --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
|
|
ports:
|
|
- 80:80
|
|
- 443:443
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- traefik-certs:/letsencrypt
|
|
db:
|
|
image: postgres:15
|
|
volumes:
|
|
- ./data/postgres:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_DB=${POSTGRES_DATABASE}
|
|
joplin:
|
|
image: joplin/server:latest
|
|
depends_on:
|
|
- db
|
|
restart: unless-stopped
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.joplin.rule=Host(`${HOST}`)
|
|
- traefik.http.routers.joplin.entrypoints=websecure
|
|
- traefik.http.routers.joplin.tls.certresolver=le
|
|
- traefik.http.services.joplin.loadbalancer.server.port=22300
|
|
environment:
|
|
- APP_PORT=22300
|
|
- APP_BASE_URL=${HOST}
|
|
- DB_CLIENT=pg
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DATABASE=${POSTGRES_DATABASE}
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PORT=${POSTGRES_PORT}
|
|
- POSTGRES_HOST=db
|
|
- MAILER_ENABLED=${MAILER_ENABLED}
|
|
- MAILER_HOST=${MAILER_HOST}
|
|
- MAILER_PORT=${MAILER_PORT}
|
|
- MAILER_SECURITY=${MAILER_SECURITY}
|
|
- MAILER_AUTH_USER=${MAILER_AUTH_USER}
|
|
- MAILER_AUTH_PASSWORD=${MAILER_AUTH_PASSWORD}
|
|
- MAILER_NOREPLY_NAME=${MAILER_NOREPLY_NAME}
|
|
- MAILER_NOREPLY_EMAIL=${MAILER_NOREPLY_EMAIL}
|