Self-hosting
HushJournal is an end-to-end encrypted open-source journl web app, it is meant to be self-hosted. There are multiple ways to self-host it from using Docker image to running compiled binary.
- Docker
- Docker Compose With Postgres
- Pre-built Binaries
- Build from source
Docker
We provide docker image for HushJournal on docker hub, you can use that to create and run the container for the HushJournal.
docker run -d --name hushjournal \
-e DATABASE_URL="postgres://<user>:<password>@<host>:5432/<db>" \
-e APP_ORIGIN="http://127.0.0.1:8000" \
-p 8000:8000 \
thevivekshukla/hushjournal:latestDocker Compose With Postgres
You can use docker compose to run both Postgres server and HushJournal together.
services:
db:
image: postgres:18
environment:
TZ: UTC
PGTZ: UTC
POSTGRES_USER: hushjournal
POSTGRES_PASSWORD: hushjournal
POSTGRES_DB: hushjournal
command: ["postgres", "-c", "timezone=UTC"]
volumes:
- hushjournal_postgres:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U hushjournal -d hushjournal"]
interval: 5s
timeout: 5s
retries: 5
hushjournal:
image: thevivekshukla/hushjournal:latest
depends_on:
db:
condition: service_healthy
environment:
DATABASE_URL: postgres://hushjournal:hushjournal@db:5432/hushjournal
APP_ORIGIN: http://127.0.0.1:8000
ports:
- "8000:8000"
volumes:
hushjournal_postgres:Pre-built Binaries
We offer pre-built binaries for various architectures and operating systems, you can get the binary from our release page.
Check out this blog post on Deploying HushJournal Binary On A Linux VPS.
Build From Source
Pre-requisites:
Run below command to build release binary with frontend build files embedded in it:
git clone git@github.com:thevivekshukla/hushjournal.git
cd hushjournal
just build