Skip to main content

Self-hosted Sync Server

Budgetzero uses PouchDB to store all data client-side in the browser. In order to enable sync across multiple browsers and/or devices, you'll need to set up a CouchDB server accessible from any budgetzero instances. This setup guide is a general overview, feel free to adapt as needed.


Manual Setup Instructions for Advanced Users

  1. Install CouchDB on a server: Manually or with the official docker couchdb image.
    If you're using docker, start CouchDB using the provided instructions.

    docker run -d --name budgetzero-couchdb-sync -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password couchdb:latest

    Replace admin and password with desired user/password.

  2. Navigate to http://[docker_host_IP]:5984/_utils, which opens the Fauxton web interface for CouchDB administration.

  3. Go to 'Configuration' and enable CORS for all domains.

  4. Create a database with whatever name you desire.

  5. In BudgetZero, go to Settings and set the couchdb URL to start syncing. This will need to be set up for each client/browser/computer/etc.