| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  | ## Common Template(s)
 | 
					
						
							|  |  |  | x-klipper-svc: &klipper-svc
 | 
					
						
							|  |  |  |   image: klipper:latest
 | 
					
						
							|  |  |  |   build:
 | 
					
						
							|  |  |  |     args:
 | 
					
						
							|  |  |  |       VERSION: 319c36df52eb016667d13ab006cae3752d0212e7
 | 
					
						
							|  |  |  |     dockerfile: klipper.Dockerfile
 | 
					
						
							|  |  |  |     context: dockerfiles/
 | 
					
						
							|  |  |  |     target: run
 | 
					
						
							|  |  |  |   container_name: klipper
 | 
					
						
							|  |  |  |   restart: unless-stopped
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |   command:
 | 
					
						
							|  |  |  |     - "-I"
 | 
					
						
							|  |  |  |     - "run/klipper.tty"
 | 
					
						
							|  |  |  |     - "-a"
 | 
					
						
							|  |  |  |     - "run/klipper.sock"
 | 
					
						
							|  |  |  |     - "cfg/printer.cfg"
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  | ## Service Definitions
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  | version: "3.4"
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  | services:
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   ## Klippy Services
 | 
					
						
							|  |  |  |   ##
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  |   klipper:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |     <<: *klipper-svc
 | 
					
						
							|  |  |  |     volumes:
 | 
					
						
							|  |  |  |       - ./config:/opt/cfg
 | 
					
						
							|  |  |  |       - run:/opt/run
 | 
					
						
							|  |  |  |       - gcode:/opt/gcode
 | 
					
						
							|  |  |  |     devices:
 | 
					
						
							|  |  |  |       - /dev/ttymxc3:/dev/ttymxc3
 | 
					
						
							|  |  |  |     profiles:
 | 
					
						
							|  |  |  |       - fluidd
 | 
					
						
							|  |  |  |       - mainsail
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   klipper-octo:
 | 
					
						
							|  |  |  |     <<: *klipper-svc
 | 
					
						
							|  |  |  |     privileged: true
 | 
					
						
							|  |  |  |     volumes:
 | 
					
						
							|  |  |  |       - /dev:/dev
 | 
					
						
							|  |  |  |       - ./config:/opt/cfg
 | 
					
						
							|  |  |  |       - run:/opt/run
 | 
					
						
							|  |  |  |       - gcode:/opt/gcode
 | 
					
						
							|  |  |  |     profiles:
 | 
					
						
							|  |  |  |       - octoprint
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ## WebApi
 | 
					
						
							|  |  |  |   ##
 | 
					
						
							|  |  |  |   moonraker:
 | 
					
						
							|  |  |  |     image: moonraker:latest
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  |     build:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |       dockerfile: moonraker.Dockerfile
 | 
					
						
							| 
									
										
										
										
											2021-10-17 18:16:58 +02:00
										 |  |  |       context: dockerfiles/
 | 
					
						
							| 
									
										
										
										
											2021-10-17 14:11:32 +02:00
										 |  |  |       target: run
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |     container_name: moonraker
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  |     restart: unless-stopped
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |     command:
 | 
					
						
							|  |  |  |       - "-c"
 | 
					
						
							|  |  |  |       - "cfg/moonraker.cfg"
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |     depends_on:
 | 
					
						
							|  |  |  |       - klipper
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  |     volumes:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |       - ./config:/opt/cfg
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  |       - run:/opt/run
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  |       - gcode:/opt/gcode
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |       - moonraker-db:/opt/db
 | 
					
						
							|  |  |  |     ports:
 | 
					
						
							|  |  |  |       - 7125:7125
 | 
					
						
							|  |  |  |     profiles:
 | 
					
						
							|  |  |  |       - fluidd
 | 
					
						
							|  |  |  |       - mainsail
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   ## Frontends
 | 
					
						
							|  |  |  |   ##
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |   octoprint:
 | 
					
						
							|  |  |  |     image: octoprint/octoprint:1-minimal
 | 
					
						
							|  |  |  |     container_name: octoprint
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  |     restart: unless-stopped
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |     depends_on:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |       - klipper-octo
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |       - ustreamer
 | 
					
						
							|  |  |  |       - traefik
 | 
					
						
							|  |  |  |     privileged: true
 | 
					
						
							|  |  |  |     ports:
 | 
					
						
							|  |  |  |       - 5000:5000
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  |     volumes:
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |       - /dev:/dev
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  |       - run:/opt/run
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |       - octoprint:/octoprint
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |     profiles:
 | 
					
						
							|  |  |  |       - octoprint
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |     labels:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |       - "traefik.enable=true"
 | 
					
						
							|  |  |  |       - "traefik.http.services.octoprint.loadbalancer.server.port=5000"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.octoprint.rule=PathPrefix(`/`)"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.octoprint.entrypoints=web"
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   fluidd:
 | 
					
						
							|  |  |  |     image: cadriel/fluidd:latest
 | 
					
						
							|  |  |  |     container_name: fluidd
 | 
					
						
							|  |  |  |     restart: unless-stopped
 | 
					
						
							|  |  |  |     depends_on:
 | 
					
						
							|  |  |  |       - moonraker
 | 
					
						
							|  |  |  |       - ustreamer
 | 
					
						
							|  |  |  |       - traefik
 | 
					
						
							|  |  |  |     profiles:
 | 
					
						
							|  |  |  |       - fluidd
 | 
					
						
							|  |  |  |     ## Fluidd needs to be the root path https://github.com/cadriel/fluidd/issues/347
 | 
					
						
							|  |  |  |     labels:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |       - "traefik.enable=true"
 | 
					
						
							|  |  |  |       - "traefik.http.services.fluidd.loadbalancer.server.port=80"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.fluidd.rule=PathPrefix(`/`)"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.fluidd.entrypoints=web"
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   ## Accompanying Services/Infra
 | 
					
						
							|  |  |  |   ##
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   ## Webcam Service
 | 
					
						
							| 
									
										
										
										
											2021-10-17 14:11:32 +02:00
										 |  |  |   ustreamer:
 | 
					
						
							|  |  |  |     image: ustreamer:latest
 | 
					
						
							|  |  |  |     build:
 | 
					
						
							|  |  |  |       dockerfile: ustreamer.Dockerfile
 | 
					
						
							| 
									
										
										
										
											2021-10-17 18:16:58 +02:00
										 |  |  |       context: dockerfiles/
 | 
					
						
							| 
									
										
										
										
											2021-10-17 14:11:32 +02:00
										 |  |  |       target: run
 | 
					
						
							|  |  |  |     container_name: ustreamer
 | 
					
						
							|  |  |  |     restart: unless-stopped
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |     command:
 | 
					
						
							|  |  |  |       - "--host=0.0.0.0"
 | 
					
						
							|  |  |  |       - "--port=8080"
 | 
					
						
							|  |  |  |       - "--slowdown"
 | 
					
						
							|  |  |  |       - "--device=/dev/video0"
 | 
					
						
							|  |  |  |       - "--resolution=1280x960"
 | 
					
						
							|  |  |  |       - "--format=MJPEG"
 | 
					
						
							|  |  |  |       - "--desired-fps=30"
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |     depends_on:
 | 
					
						
							|  |  |  |       - traefik
 | 
					
						
							| 
									
										
										
										
											2021-10-17 14:11:32 +02:00
										 |  |  |     devices:
 | 
					
						
							|  |  |  |       - /dev/video0:/dev/video0
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |     labels:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |       - "traefik.enable=true"
 | 
					
						
							|  |  |  |       - "traefik.http.services.ustreamer.loadbalancer.server.port=8080"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.ustreamer.rule=PathPrefix(`/stream`)"
 | 
					
						
							|  |  |  |       - "traefik.http.routers.ustreamer.entrypoints=web"
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   ## Loadbalancer/Proxy
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |   traefik:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |     image: "traefik:v2.2"
 | 
					
						
							|  |  |  |     container_name: "traefik"
 | 
					
						
							|  |  |  |     hostname: "traefik"
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |     command:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |       - "--accesslog"
 | 
					
						
							|  |  |  |       - "--providers.docker=true"
 | 
					
						
							|  |  |  |       - "--providers.docker.exposedbydefault=false"
 | 
					
						
							|  |  |  |       - "--entrypoints.web.address=:80"
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |     ports:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |       - "80:80"
 | 
					
						
							| 
									
										
										
										
											2021-10-17 15:32:04 +02:00
										 |  |  |     restart: unless-stopped
 | 
					
						
							|  |  |  |     volumes:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 23:18:43 +02:00
										 |  |  |         - "/var/run/docker.sock:/var/run/docker.sock:ro"
 | 
					
						
							| 
									
										
										
										
											2021-10-17 14:11:32 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-16 18:42:56 +02:00
										 |  |  | volumes:
 | 
					
						
							|  |  |  |   run:
 | 
					
						
							| 
									
										
										
										
											2021-10-16 21:28:14 +02:00
										 |  |  |   gcode:
 | 
					
						
							| 
									
										
										
										
											2021-10-19 22:44:20 +02:00
										 |  |  |   octoprint:
 | 
					
						
							| 
									
										
										
										
											2021-10-20 22:46:58 +02:00
										 |  |  |   moonraker-db:
 |