mirror of
https://github.com/mkuf/prind.git
synced 2025-10-26 07:46:19 +01:00
72 lines
2.4 KiB
YAML
72 lines
2.4 KiB
YAML
## Usecase: Run klipper and moonraker with specific UID/GID instead of 1000:1000
|
|
## Issue: https://github.com/mkuf/prind/issues/85
|
|
##
|
|
## Assumptions:
|
|
## * I want to use a specific UID/GID for processes in the containers
|
|
## * I don't want my config to be readable by 1000:1000
|
|
##
|
|
## About this setup:
|
|
## * this file replaces the main docker-compose.override.yaml
|
|
## * klipper image is built at stack startup
|
|
## * moonraker image is built at stack startup
|
|
## * init container will set the permissions to the new UID/GID
|
|
##
|
|
## Setup
|
|
## 1. Add your personal config to this file and copy it to the root of the repository,
|
|
## overwriting the existing docker-compose.override.yaml
|
|
## 2. Replace the example UID and GID of '4242' in the 'dockerfile_inline' block of the klipper and moonraker services,
|
|
## as well as in the command of the init service with your specific requirements.
|
|
## Make sure to use the identical UIDs/GIDs in klipper and moonraker.
|
|
## 3. start the stack as described in the main readme using a profile of your choice.
|
|
|
|
## Ustreamer base Service
|
|
x-ustreamer-svc: &ustreamer-svc
|
|
image: mkuf/ustreamer:latest
|
|
restart: unless-stopped
|
|
command: >
|
|
--host=0.0.0.0
|
|
--port=8080
|
|
--slowdown
|
|
--device=/dev/webcam
|
|
--resolution=1280x960
|
|
--format=MJPEG
|
|
--desired-fps=30
|
|
|
|
## Add your personal config here
|
|
services:
|
|
klipper:
|
|
image: klipper:custom-gid-uid
|
|
build:
|
|
dockerfile_inline: |
|
|
FROM mkuf/klipper:latest
|
|
USER root
|
|
RUN usermod -o -u "4242" klipper \
|
|
&& groupmod -o -g "4242" klipper \
|
|
&& chown -R 4242:4242 /opt
|
|
USER klipper
|
|
moonraker:
|
|
image: moonraker:custom-gid-uid
|
|
build:
|
|
dockerfile_inline: |
|
|
FROM mkuf/moonraker:latest
|
|
USER root
|
|
RUN usermod -o -u "4242" moonraker \
|
|
&& groupmod -o -g "4242" moonraker \
|
|
&& chown -R 4242:4242 /opt
|
|
USER moonraker
|
|
init:
|
|
command: chown -R 4242:4242 /prind/config
|
|
|
|
webcam:
|
|
<<: *ustreamer-svc
|
|
devices:
|
|
- /dev/video0:/dev/webcam
|
|
labels:
|
|
org.prind.service: webcam
|
|
traefik.enable: true
|
|
traefik.http.services.webcam.loadbalancer.server.port: 8080
|
|
traefik.http.routers.webcam.rule: PathPrefix(`/webcam`)
|
|
traefik.http.routers.webcam.entrypoints: web
|
|
traefik.http.middlewares.webcam.stripprefix.prefixes: /webcam
|
|
traefik.http.routers.webcam.middlewares: webcam
|