2023-11-24 19:25:04 +01:00
|
|
|
version: '1'
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
name: "${TRAEFIK_NETWORK}"
|
|
|
|
external: true
|
|
|
|
db:
|
|
|
|
name: "${PROJECT_NAME}_planka_db_net"
|
|
|
|
external: false
|
|
|
|
services:
|
|
|
|
planka:
|
|
|
|
container_name: "${PROJECT_NAME}_planka"
|
|
|
|
image: "ghcr.io/plankanban/planka:latest"
|
|
|
|
user: "1000"
|
|
|
|
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:
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-planka/planka/user-avatars:/app/public/user-avatars"
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-planka/planka/project-background-images:/app/public/project-background-images"
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-planka/planka/attachments:/app/private/attachments"
|
|
|
|
networks:
|
|
|
|
- "db"
|
|
|
|
environment:
|
|
|
|
- "BASE_URL=https://${PROJECT_URL}"
|
|
|
|
- "TRUST_PROXY=0"
|
|
|
|
- "DATABASE_URL=postgresql://postgres@db/planka"
|
|
|
|
- "SECRET_KEY=${SECRET_KEY}"
|
|
|
|
# Can be removed after installation
|
|
|
|
- "DEFAULT_ADMIN_EMAIL=${ADMIN_EMAIL}" # Do not remove if you want to prevent this user from being edited/deleted
|
2023-11-24 19:45:37 +01:00
|
|
|
#- "DEFAULT_ADMIN_PASSWORD=${ADMIN_PASSWORD}"
|
|
|
|
#- "DEFAULT_ADMIN_NAME=${ADMIN_NAME}"
|
|
|
|
#- "DEFAULT_ADMIN_USERNAME=${ADMIN_USERNAME}"
|
2023-11-24 19:25:04 +01:00
|
|
|
depends_on:
|
|
|
|
- "db"
|
|
|
|
labels:
|
|
|
|
# Watchtower add to auto update
|
|
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
|
|
# traefik
|
|
|
|
- "traefik.enable=true"
|
|
|
|
- "traefik.docker.network=${TRAEFIK_NETWORK}"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_planka.rule=Host(`${PROJECT_URL}`)"
|
|
|
|
- "traefik.http.services.${PROJECT_NAME}_planka.loadbalancer.server.port=1337"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_planka.entrypoints=websecure"
|
|
|
|
- "traefik.http.routers.${PROJECT_NAME}_planka.tls=true"
|
|
|
|
db:
|
|
|
|
container_name: "${PROJECT_NAME}_planka_db"
|
|
|
|
image: "postgres:alpine"
|
|
|
|
restart: "unless-stopped"
|
|
|
|
networks:
|
|
|
|
- "db"
|
|
|
|
labels:
|
|
|
|
# Watchtower add to auto update
|
|
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
|
|
# traefik
|
|
|
|
- "traefik.enable=false"
|
|
|
|
volumes:
|
|
|
|
- "${PROJECT_DATA}/${PROJECT_NAME}-planka/db:/var/lib/postgresql/data"
|
|
|
|
environment:
|
|
|
|
- "POSTGRES_DB=planka"
|
|
|
|
- "POSTGRES_HOST_AUTH_METHOD=trust"
|