Back to home

Self-hosting

Self-hosting Splex for a small private instance

The default Splex setup is intentionally simple: one app container, one mounted data directory, and SQLite. For a small private instance, that is usually enough.

It is light enough to run on a NAS or Raspberry Pi, as long as Docker and Docker Compose are available.

01

How do I set up Splex?

Splex runs as a container and can be started in a few minutes if you already have a server, NAS, or Raspberry Pi that can run containers.

Start with the .env.example template.

  • Create a directory for Splex on your server.
  • Save the template as .env and fill in at least SECRET_KEY, FRONTEND_PUBLIC_URL, BACKEND_PUBLIC_URL, and the email settings.
  • Create a docker-compose.yml file. SQLite is the shortest setup; PostgreSQL is also supported if you want a separate database service.
  • Start it with docker compose pull and docker compose up -d.

A small SQLite setup looks like this:

services:
  app:
    image: ghcr.io/steve192/splex:latest
    env_file:
      - .env
    ports:
      - "8000:8000"
    volumes:
      - ./data:/app/data
    restart: unless-stopped

The ./data directory stores the SQLite database, uploaded media files, and generated legal document files. Back it up regularly. If you prefer PostgreSQL, keep the ./data mount anyway, because uploaded files still live there.

The full setup guide, including the PostgreSQL compose example, is in the GitHub README.

Read next

Try Splex

Open the web app, use the browser demo, or install Splex on Android.