Spliit logo

Spliit

Free and open source alternative to Splitwise for sharing expenses

Alternative to: splitwise, tricount, settle up


Spliit lets groups of friends, roommates, or travelers track and split shared expenses without needing an account. It supports multiple currencies, expense categories, itemized splits, recurring expenses, and balance simplification, all through a simple self-hosted web app.

Spliit Docker Compose example

Self-host Spliit on your own server, homelab, or VPS starting from this Docker Compose example. It runs Spliit in Docker containers using the official ghcr.io/spliit-app/spliit:latest, postgres:latest images, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  app:
    image: ghcr.io/spliit-app/spliit:latest
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped
    environment:
      # Password for the bundled PostgreSQL database. Must match the db service password below.
      POSTGRES_PASSWORD: "changeme"
      # Pooled Prisma connection string the app uses to reach PostgreSQL at runtime.
      POSTGRES_PRISMA_URL: "postgresql://postgres:changeme@db:5432/postgres"
      # Direct (non-pooling) connection string used when applying database migrations on startup.
      POSTGRES_URL_NON_POOLING: "postgresql://postgres:changeme@db:5432/postgres"

  db:
    image: postgres:latest
    restart: unless-stopped
    environment:
      # Password for the PostgreSQL superuser. Must match POSTGRES_PASSWORD above.
      POSTGRES_PASSWORD: "changeme"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres_data:

Values set to changeme are required — replace them with your own values before starting Spliit.

Prefer a managed setup? WinterFlow installs, configures, and updates Spliit for you using this same Docker Compose configuration.