added docker compose
This commit is contained in:
commit
c612802a56
71
docker-compose.yml
Normal file
71
docker-compose.yml
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
name: traefik_default
|
||||||
|
app:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mariadb:10
|
||||||
|
command:
|
||||||
|
- --character-set-server=utf8mb4
|
||||||
|
- --collation-server=utf8mb4_unicode_ci
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: supersecret
|
||||||
|
MYSQL_DATABASE: vikunja
|
||||||
|
MYSQL_USER: vikunja
|
||||||
|
MYSQL_PASSWORD: changeme
|
||||||
|
volumes:
|
||||||
|
- ./db:/var/lib/mysql
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u$${MYSQL_USER} -p$${MYSQL_PASSWORD} || exit 1"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 20
|
||||||
|
start_period: 30s
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- app
|
||||||
|
|
||||||
|
vikunja:
|
||||||
|
image: vikunja/vikunja:0.24.6
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
VIKUNJA_SERVICE_PUBLICURL: https://vikunja.rozic-dev.com
|
||||||
|
VIKUNJA_DATABASE_TYPE: mysql
|
||||||
|
VIKUNJA_DATABASE_HOST: db
|
||||||
|
VIKUNJA_DATABASE_DATABASE: vikunja
|
||||||
|
VIKUNJA_DATABASE_USER: vikunja
|
||||||
|
VIKUNJA_DATABASE_PASSWORD: changeme
|
||||||
|
VIKUNJA_SERVICE_JWTSECRET: "replace-with-a-long-random-secret"
|
||||||
|
VIKUNJA_SERVICE_ENABLEREGISTRATION: "false"
|
||||||
|
# ports:
|
||||||
|
# - "3456:3456" # Not needed when using Traefik
|
||||||
|
volumes:
|
||||||
|
- ./files:/app/vikunja/files
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=traefik_default
|
||||||
|
- traefik.http.routers.vikunja.rule=Host(`vikunja.rozic-dev.com`)
|
||||||
|
- traefik.http.routers.vikunja.entrypoints=websecure
|
||||||
|
- traefik.http.routers.vikunja.tls=true
|
||||||
|
- traefik.http.routers.vikunja.tls.certresolver=letsencrypt
|
||||||
|
- traefik.http.routers.vikunja.service=vikunja
|
||||||
|
- traefik.http.services.vikunja.loadbalancer.server.scheme=http
|
||||||
|
- traefik.http.services.vikunja.loadbalancer.server.port=3456
|
||||||
|
- traefik.http.middlewares.vikunja-compress.compress=true
|
||||||
|
- traefik.http.middlewares.vikunja-headers.headers.stsSeconds=31536000
|
||||||
|
- traefik.http.middlewares.vikunja-headers.headers.stsIncludeSubdomains=true
|
||||||
|
- traefik.http.middlewares.vikunja-headers.headers.stsPreload=true
|
||||||
|
- traefik.http.middlewares.vikunja-headers.headers.contentTypeNosniff=true
|
||||||
|
- traefik.http.middlewares.vikunja-headers.headers.browserXssFilter=true
|
||||||
|
- traefik.http.routers.vikunja.middlewares=vikunja-compress,vikunja-headers
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- app
|
||||||
|
- traefik
|
||||||
Loading…
Reference in a new issue