Sign inSign up

triopsi/splitnest

By triopsi

•Updated 9 days ago

SplitNest is a self-hosted household budgeting app for couples, families and shared homes.

Image
Internet of things
0

756

triopsi/splitnest repository overview

SplitNest logo

⁠SplitNest

Shared expenses. Fair contributions.

SplitNest is a self-hosted household budgeting app for couples, families and shared homes. Track income and expenses, split costs fairly, and see who owes whom each month.

GitHub⁠ · Documentation⁠ · Releases⁠ · Report a bug⁠

⁠Features

  • Flexible cost splitting: equal shares, fixed percentages, income-based contributions or personal expenses.
  • Monthly overview: income, expenses, remaining budgets and balancing transfers.
  • Recurring expenses: monthly, quarterly, half-yearly, yearly and other supported schedules.
  • Year planning: annual overview and charts.
  • Monthly statements: close a month, generate a PDF and send statements by email.
  • Account management: email invitations, password resets and passkey authentication.
  • Backup and restore: export and import household data.
  • English and German: switch languages directly in the interface.

⁠Quick start

Install Docker with Docker Compose, then save the following as compose.yaml:

services:
  app:
    image: triopsi/splitnest:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
    environment:
      APP_URL: http://localhost:8080
      DB_CONNECTION: sqlite
      DB_DATABASE: /var/www/html/storage/database.sqlite
      AUTO_MIGRATE: "true"
      QUEUE_CONNECTION: sync
      SESSION_SECURE_COOKIE: "false"
      LOG_CHANNEL: stderr
    volumes:
      - storage:/var/www/html/storage

volumes:
  storage:

Start the application:

docker compose up -d

Open http://localhost:8080/admin⁠ and create your first administrator account.

SplitNest automatically creates its application key and database and runs migrations. No local PHP, Composer or Node.js installation is required.

⁠Hosting with HTTPS

The quick-start example listens on localhost. For hosting on a server, place SplitNest behind an HTTPS reverse proxy and configure:

      APP_URL: https://splitnest.example.org
      TRUSTED_PROXIES: "YOUR_PROXY_IP"
      SESSION_SECURE_COOKIE: "true"

The proxy must forward the original host and protocol. Adjust the Docker network or port mapping so your proxy can reach the application on port 8080.

See the reverse proxy documentation⁠ for details.

⁠Email

Configure SMTP to deliver invitations, password-reset links and monthly statements. Without SMTP configuration, emails are written to the application log instead of being delivered.

See the email configuration⁠.

⁠Persistent data

The storage volume contains the SQLite database, generated application key and application files such as uploads. Keep this volume across container updates and back it up regularly.

Removing the volume deletes its data. In particular, avoid docker compose down --volumes unless you intend to remove the installation.

MariaDB is also supported; an alternative configuration is included in the documentation⁠.

⁠Updates

Back up your installation, then run:

docker compose pull
docker compose up -d --remove-orphans

Database migrations run automatically when AUTO_MIGRATE is enabled.

Use latest for the latest published release, or pin a version:

image: triopsi/splitnest:<version>

Images are built for Linux AMD64 and ARM64.

⁠Contributing and security

Bug reports, translations, documentation improvements and pull requests are welcome. See the contribution guidelines⁠.

For security vulnerabilities, follow the security policy⁠.

⁠License

SplitNest is open-source software released under the MIT license⁠.

Tag summary

Content type

Image

Digest

sha256:305192546…

Size

250.4 MB

Last updated

9 days ago

docker pull triopsi/splitnest