68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
planka:
|
|
image: ghcr.io/plankanban/planka:1.19.1
|
|
container_name: planka
|
|
command: >
|
|
bash -c
|
|
"for i in `seq 1 30`; do
|
|
./start.sh &&
|
|
s=$$? && break || s=$$?;
|
|
echo \"Tried $$i times. Waiting 5 seconds...\";
|
|
sleep 5;
|
|
done; (exit $$s)"
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/user-avatars:/app/public/user-avatars
|
|
- ${APP_DATA_DIR}/data/project-background-images:/app/public/project-background-images
|
|
- ${APP_DATA_DIR}/data/attachments:/app/private/attachments
|
|
ports:
|
|
- ${APP_PORT}:1337
|
|
environment:
|
|
- BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
|
|
- TRUST_PROXY=1
|
|
- DATABASE_URL="postgresql://postgres@postgres/planka"
|
|
- SECRET_KEY="${PLANKA_SECRET_KEY}"
|
|
networks:
|
|
- tipi_main_network
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.planka-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.planka.loadbalancer.server.port: 1337
|
|
# Web
|
|
traefik.http.routers.planka-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.planka-insecure.entrypoints: web
|
|
traefik.http.routers.planka-insecure.service: planka
|
|
traefik.http.routers.planka-insecure.middlewares: planka-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.planka.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.planka.entrypoints: websecure
|
|
traefik.http.routers.planka.service: planka
|
|
traefik.http.routers.planka.tls.certresolver: myresolver
|
|
# Local domain
|
|
traefik.http.routers.planka-local-insecure.rule: Host(`planka.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.planka-local-insecure.entrypoints: web
|
|
traefik.http.routers.planka-local-insecure.service: planka
|
|
traefik.http.routers.planka-local-insecure.middlewares: planka-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.planka-local.rule: Host(`planka.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.planka-local.entrypoints: websecure
|
|
traefik.http.routers.planka-local.service: planka
|
|
traefik.http.routers.planka-local.tls: true
|
|
depends_on:
|
|
- postgres
|
|
|
|
postgres:
|
|
image: postgres:14-alpine
|
|
container_name: planka-db
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: "planka"
|
|
POSTGRES_HOST_AUTH_METHOD: "trust"
|
|
networks:
|
|
- tipi_main_network
|