The server can actually run inside a docker container on Linux operating systems:
Dockerfile
FROM node:22-bullseye-slim
RUN apt-get update && apt-get install -y wget udev build-essential
WORKDIR app/
VOLUME /root/.slvctrlplus
RUN wget https://github.com/SlvCtrlPlus/slvctrlplus-server/releases/latest/download/dist.tar.gz -O - | tar -xz
# Set default environment variables
ENV PORT=1337
ENV LOG_LEVEL=debug
# Expose port 1337
EXPOSE 1337
# Start the Node app
CMD ["node", "/app/dist/index.js"]
docker-compose.yaml
services:
slvctrlplus-server:
build: .
container_name: slvctrlplus-server
privileged: true # that's the important bit
ports:
- "1337:1337"
volumes:
- /dev:/dev
- /sys:/sys:ro
- /run/udev:/run/udev:ro
- ./config:/root/.slvctrlplus
The server can actually run inside a docker container on Linux operating systems:
Dockerfile
docker-compose.yaml