Skip to main content
WalletHistory

Self-hosting

Run WalletHistory on your own server, NAS or home lab. It is the same app as the hosted version and your data stays in your own database.

What you need

Docker with Docker Compose v2 on a server, NAS or home lab. The official image is published for linux/amd64 and linux/arm64.

1

Download the files

Create a folder and download the compose file and the example environment file into it.

mkdir wallethistory && cd wallethistory
curl -LO https://raw.githubusercontent.com/canon4o/wallethistory/main/docker-compose.release.yml
curl -L -o .env https://raw.githubusercontent.com/canon4o/wallethistory/main/.env.docker.example
2

Set your passwords

Open .env and set at least POSTGRES_PASSWORD and REDIS_PASSWORD. Any long random value works.

openssl rand -base64 24 | tr -d '/+='
3

Start it

Start the containers, then open http://localhost:3000 and log in as admin@admin.com with the password adminpass.

docker compose -f docker-compose.release.yml up -d

Change the admin password right away in Profile → Settings.

Other devices and the internet

To open the app from other devices on your home network, set APP_URL to the address you type in the browser and publish the port. To use it from the internet, put a reverse proxy with HTTPS in front, set TRUSTED_PROXY_HOPS=1 and configure email (SMTP) if other people will sign up. Never expose the plain http port to the internet.

Updating and backups

Pull the new image and start it again; database migrations are applied automatically when the app starts. Back up the database before updating, because migrations cannot be undone.

The README on GitHub has everything else: a single compose file for NAS and Portainer, backup and restore, email setup and every environment variable.

WalletHistory is source-available under the Elastic License 2.0.

Questions, bug reports and ideas are welcome by email, or you can message us on Facebook or Instagram.