| 
									
										
										
										
											2023-07-19 05:31:06 +00:00
										 |  |  | version: '3'
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | services:
 | 
					
						
							|  |  |  |   planka:
 | 
					
						
							| 
									
										
										
										
											2023-12-20 18:49:12 +00:00
										 |  |  |     image: ghcr.io/plankanban/planka:1.15.3
 | 
					
						
							| 
									
										
										
										
											2023-07-19 05:31:06 +00:00
										 |  |  |     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:
 | 
					
						
							| 
									
										
										
										
											2023-08-13 10:58:52 +00:00
										 |  |  |       - BASE_URL=${APP_PROTOCOL:-http}://${APP_DOMAIN}
 | 
					
						
							|  |  |  |       - TRUST_PROXY=1
 | 
					
						
							|  |  |  |       - DATABASE_URL="postgresql://postgres@postgres/planka"
 | 
					
						
							|  |  |  |       - SECRET_KEY="${PLANKA_SECRET_KEY}"
 | 
					
						
							| 
									
										
										
										
											2023-07-19 05:31:06 +00:00
										 |  |  |     networks:
 | 
					
						
							|  |  |  |       - tipi_main_network
 | 
					
						
							|  |  |  |     labels:
 | 
					
						
							|  |  |  |       # Main
 | 
					
						
							|  |  |  |       traefik.enable: true
 | 
					
						
							|  |  |  |       traefik.http.middlewares.planka-web-redirect.redirectscheme.scheme: https
 | 
					
						
							| 
									
										
										
										
											2023-08-13 21:25:56 +00:00
										 |  |  |       traefik.http.services.planka.loadbalancer.server.port: 1337
 | 
					
						
							| 
									
										
										
										
											2023-07-19 05:31:06 +00:00
										 |  |  |       # 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
 |