SwissKnife Docs
Get started

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-stopped

Save this as docker-compose.yml, then run:

docker compose pull
docker compose up -d --force-recreate
docker compose ps

The 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 -d

For 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 --build

The overlay builds swissknife:local without changing port 2501.

Stop or remove

docker compose stop
docker compose down

No application data is lost because conversion remains browser-local. See Update and rollback and Uninstallation.

On this page