Files
klipper-web-control-docker/docker-compose.yml
2024-11-03 15:45:23 +01:00

99 lines
3.2 KiB
YAML

services:
klipper:
image: dimalo/klipper-moonraker
build:
dockerfile: ./klipper/Dockerfile
context: .
# if klipper cannot connect to the printer check permissions on rpi then add the group here
# group_add:
# - "996"
# - "998"
cap_add:
- SYS_NICE
container_name: klipper
ports:
- 7125:7125
restart: unless-stopped
volumes:
- gcode_files:/home/klippy/printer_data/gcodes
# be aware to create your own branch if you mount the config folder as it will be updated on the main branch
# that way you can merge upstream changes to your customized configs
- ./config:/home/klippy/printer_data/config
- moonraker_data:/home/klippy/.moonraker_database
# - <<your_config_path>>:/home/klippy/.config
# - ./printer.cfg:/home/klippy/.config/printer.cfg
# mount serial device - take care to grant sufficient permissions to the device: <host_dev>:<container_dev>
# put <container_dev> into your printer.cfg
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
##################################################################
# Example config for a second printer on a different serial port
##################################################################
# klipper_another_printer:
# image: dimalo/klipper-moonraker
# build:
# dockerfile: ./klipper/Dockerfile
# context: .
# # args:
# # DEVICE_GROUP: device
# # DEVICE_GID: 987
# container_name: klipper_another_printer
# ports:
# # As 7125 is already used by the first printer, we map this moonraker's port to 7126 on the host
# - 7126:7125
# restart: unless-stopped
# volumes:
# # Let both klipper instances use the same storage for gcode files
# - gcode_files:/home/klippy/gcode_files
# # be aware to create your own branch if you mount the config folder as it will be updated on the main branch
# # that way you can merge upstream changes to your (developed) configs...
# - ./config_another_printer:/home/klippy/.config
# # - <<your_config_path>>:/home/klippy/.config
# # - ./another_printer.cfg:/home/klippy/.config/printer.cfg
# # mount serial device - take care to grant sufficient permissions to the device: <host_dev>:<container_dev>
# # put <container_dev> into your printer.cfg
# devices:
# - /dev/ttyACM0:/dev/ttyACM0
fluidd:
image: dimalo/fluidd
# build:
# dockerfile: Dockerfile
# context: frontend
restart: unless-stopped
container_name: fluidd
ports:
- 8010:80
depends_on:
- klipper
# - klipper_another_printer
links:
- klipper:klipper
# - klipper_another_printer:klipper_another_printer
# mainsail:
# image: dimalo/mainsail
# build:
# dockerfile: Dockerfile
# context: frontend
# args:
# FRONTEND_ZIP_URL: https://github.com/meteyou/mainsail/releases/latest/download/mainsail.zip
# container_name: mainsail
# ports:
# - 8011:80
# depends_on:
# - klipper
# # - klipper_another_printer
# links:
# - klipper:klipper
# # - klipper_another_printer:klipper_another_printer
volumes:
gcode_files:
moonraker_data: