101 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| version: "3.9"
 | |
| services:
 | |
|   penpot:
 | |
|     image: penpotapp/frontend:latest
 | |
|     container_name: penpot
 | |
|     restart: unless-stopped
 | |
|     ports:
 | |
|       - ${APP_PORT}:80
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/assets:/opt/data/assets
 | |
|     depends_on:
 | |
|       - penpot-backend
 | |
|       - penpot-exporter
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     labels:
 | |
|       # Main
 | |
|       traefik.enable: true
 | |
|       traefik.http.middlewares.penpot-web-redirect.redirectscheme.scheme: https
 | |
|       traefik.http.services.penpot.loadbalancer.server.port:
 | |
|         80
 | |
|         # Web
 | |
|       traefik.http.routers.penpot-insecure.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.penpot-insecure.entrypoints: web
 | |
|       traefik.http.routers.penpot-insecure.service: penpot
 | |
|       traefik.http.routers.penpot-insecure.middlewares:
 | |
|         penpot-web-redirect
 | |
|         # Websecure
 | |
|       traefik.http.routers.penpot.rule: Host(`${APP_DOMAIN}`)
 | |
|       traefik.http.routers.penpot.entrypoints: websecure
 | |
|       traefik.http.routers.penpot.service: penpot
 | |
|       traefik.http.routers.penpot.tls.certresolver:
 | |
|         myresolver
 | |
|         # Local domain
 | |
|       traefik.http.routers.penpot-local-insecure.rule: Host(`penpot.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.penpot-local-insecure.entrypoints: web
 | |
|       traefik.http.routers.penpot-local-insecure.service: penpot
 | |
|       traefik.http.routers.penpot-local-insecure.middlewares:
 | |
|         penpot-web-redirect
 | |
|         # Local domain secure
 | |
|       traefik.http.routers.penpot-local.rule: Host(`penpot.${LOCAL_DOMAIN}`)
 | |
|       traefik.http.routers.penpot-local.entrypoints: websecure
 | |
|       traefik.http.routers.penpot-local.service: penpot
 | |
|       traefik.http.routers.penpot-local.tls: true
 | |
|     environment:
 | |
|       - PENPOT_FLAGS=enable-registration enable-login-with-password
 | |
| 
 | |
|   penpot-backend:
 | |
|     image: penpotapp/backend:latest
 | |
|     container_name: penpot-backend
 | |
|     restart: unless-stopped
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/assets:/opt/data/assets
 | |
|     depends_on:
 | |
|       - penpot-postgres
 | |
|       - penpot-redis
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     environment:
 | |
|       - PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification
 | |
|       - PENPOT_PUBLIC_URI=${APP_PROTOCOL:-http}://${APP_DOMAIN}:${APP_PORT}
 | |
|       - PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot
 | |
|       - PENPOT_DATABASE_USERNAME=tipi
 | |
|       - PENPOT_DATABASE_PASSWORD=${PENPOT_POSTGRES_PASSWORD}
 | |
|       - PENPOT_REDIS_URI=redis://penpot-redis/0
 | |
|       - PENPOT_ASSETS_STORAGE_BACKEND=assets-fs
 | |
|       - PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets
 | |
|       - PENPOT_TELEMETRY_ENABLED=false
 | |
| 
 | |
|   penpot-exporter:
 | |
|     image: penpotapp/exporter:latest
 | |
|     container_name: penpot-exporter
 | |
|     restart: unless-stopped
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     environment:
 | |
|       - PENPOT_PUBLIC_URI=http://penpot
 | |
|       - PENPOT_REDIS_URI=redis://penpot-redis/0
 | |
| 
 | |
|   penpot-postgres:
 | |
|     image: postgres:14
 | |
|     restart: unless-stopped
 | |
|     container_name: penpot-postgres
 | |
|     stop_signal: SIGINT
 | |
|     volumes:
 | |
|       - ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
 | |
|     networks:
 | |
|       - tipi_main_network
 | |
|     environment:
 | |
|       - POSTGRES_INITDB_ARGS=--data-checksums
 | |
|       - POSTGRES_DB=penpot
 | |
|       - POSTGRES_USER=tipi
 | |
|       - POSTGRES_PASSWORD=${PENPOT_POSTGRES_PASSWORD}
 | |
| 
 | |
|   penpot-redis:
 | |
|     image: redis:7
 | |
|     container_name: penpot-redis
 | |
|     restart: unless-stopped
 | |
|     networks:
 | |
|       - tipi_main_network
 | 
