Server Setup
Want to set up your own Skapersøk server? This guide will walk you through the process of doing just that.
There are three ways of getting the server up and running.
Using the Installer (Windows only)
Download the latest installer from the releases page.

Run the installer and follow the instructions.
After starting the server, the web app should automaticaly open and connect.

You should also see a terminal window showing information about the server.
You can stop the server by closing the terminal window or pressing Ctrl+C in the terminal.
Using Python (all platforms)
1. Prerequisites
- Python
- uv (recommended) or plain
pip
2. Install dependencies
With uv (recommended — also creates the virtual environment for you):
uv sync
With plain pip:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\Activate
pip install --upgrade pip
pip install .
3. Configuration
While the server runs fine out of the box, review config/.env and set values explicitly rather than relying on defaults.
4. Start the server
uv run python main.py
or, with plain pip and an activated venv:
python main.py
This runs startup checks (folder creation, config bootstrap), starts the discovery beacon, and launches the API. By default it also opens your browser to the running instance — set AUTOOPEN_BROWSER=false in config/.env to disable this.
5. Verify the server is up and running
curl http://127.0.0.1:5000/ping
Expected response:
{"message": "pong"}
Using Docker (all platforms)
Note! Opening the browser automatically is disabled by default when using docker.
1. Prerequisites
- Docker and Docker Compose installed
- Linux host recommended (see note on the discovery beacon below)
2. Clone the repository
git clone https://github.com/Skapersok/skapersok_backend
cd skapersok-backend
3. Start the server
On Linux:
docker compose up -d
On Windows:
docker compose -f docker-compose.yml -f docker-compose.windows.yml up -d
This builds the image, creates the necessary folders and starts the server.
Check it's healthy:
docker compose ps
curl http://localhost:5000/ping
4. Set a few things before going to production
While the server runs fine out of the box, review config/.env and set values explicitly rather than relying on defaults.
5. Updating
git pull
docker compose build
docker compose up -d
Editing config/.env only (no code change) just needs:
docker compose up -d
No rebuild required — config changes take effect on container restart.
Which data persists across restarts and rebuilds
./data— databases, images, backups./config—.envsettings, IDs and secrets
Both are bind-mounted from the host, so docker compose down and even docker compose build will not touch them. Only deleting these folders yourself will reset the app to a fresh state.
FAQ
1. The backend is getting blocked by smart screen (Windows)

If you are on Windows, you may get a warning from SmartScreen when trying to run the installer. This is because the installer is at the moment is not signed with a certificate, this is being worked on. You can safely ignore this warning and click "Run anyway" to continue with the installation. ALl the source code is available on GitHub, so you can also build the installer yourself if you want to be sure that it is safe to run.
You can also disable SmartScreen temporarily, but this is not recommended to do for an extended period as it will make your computer more vulnerable to malware.
