Skip to content

Server setup

Want to run your own Skapersøk server? This guide covers three ways to get the backend running.

Installation

Choose the installation method that best fits your environment.

Download the latest installer from the releases page.

Download Installer

Run the installer and follow the instructions.

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

The server runs with defaults, but review config/.env and set production 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, creates missing folders and configuration, starts the discovery beacon, and launches the API. It also opens your browser by default; 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"}

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 required folders, and starts the server.

Check that it is healthy:

docker compose ps
curl http://localhost:5000/ping

4. Set a few things before going to production

The server runs with defaults, but review config/.env and set production values explicitly rather than relying on defaults.

5. Updating

git pull
docker compose build
docker compose up -d

If you only edit config/.env, restart the containers with:

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 — .env settings, 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.

Setup

After the server starts, the web app should open automatically and connect to it.

Web app connected

You should also have a terminal window showing information about the server:

Server Started

This may look terrifying, but don't worry, you won't need to touch the terminal, everything is managed from the web app.

Admin credentials

You can log in to the admin panel with the credentials you see in the terminal window:

Password Marked

Stopping the server

Stop the server by closing the terminal window or pressing Ctrl+C in the terminal.

Help

If you run into issues, check the troubleshooting guide or contact us.