Docker installation
Run SwissKnife from GHCR with one consistent port: 2501.
SwissKnife uses port 2501 on the Docker host and 2501 inside the container. The normal Compose file is published on all host interfaces, so another device on the LAN opens http://<server-ip>:2501.
Copy-ready Docker Compose
services:
swissknife:
image: ghcr.io/lucas-lepajollec/swissknife:latest
ports:
- "2501:2501"
restart: unless-stoppedSave this as docker-compose.yml, then run:
docker compose pull
docker compose up -d --force-recreate
docker compose psThe container must become healthy. The image already runs unprivileged Nginx, includes its own health check on port 2501, and persists no server-side data. Compose does not need to repeat those image-level settings.
Use the repository file
git clone https://github.com/lucas-lepajollec/SwissKnife.git
cd SwissKnife
docker compose up -dFor a fixed deployment, replace latest directly in the Compose image: line with a version, digest, or sha-<commit> tag.
Build from source
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --buildThe overlay builds swissknife:local without changing port 2501.
Stop or remove
docker compose stop
docker compose downNo application data is lost because conversion remains browser-local. See Update and rollback and Uninstallation.