Open Musubi
自分で · Self-host

Run Musubi on your own server.

The desktop web app, API, Postgres and an HTTPS gateway in one Docker Compose stack. Use prebuilt images with no cloning or build step. Your calendar data stays on infrastructure you control — MIT-licensed, yours to keep.

# 1 — download the stack, environment and gateway config
curl -O https://raw.githubusercontent.com/frgtn-dot-dev/musubi/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/frgtn-dot-dev/musubi/main/.env.example
mkdir -p ops/gateway
curl -o ops/gateway/Caddyfile https://raw.githubusercontent.com/frgtn-dot-dev/musubi/main/ops/gateway/Caddyfile

# 2 — edit .env: database credentials, BETTER_AUTH_SECRET,
# BETTER_AUTH_URL (your https:// origin), PUBLIC_HOST (hostname)

# 3 — start the whole stack
docker compose up -d

The hosted service stays free during early access — self-hosting is for when you'd rather run it yourself.

構成 · What runs

What you're running.

The whole app, together

The web app and API share one public origin behind Caddy, with Postgres for your calendars. The API runs database migrations on startup.

Your data, your keys

Calendar data and uploaded media stay in persistent volumes on your server. Connect external calendar providers only when you want their sync features.

Simple upgrades

Back up your database and media, then pull the new images and restart — docker compose pull && docker compose up -d. One API process per database, enforced by an advisory lock.

必要なもの · Requirements

What you need.

Docker with Compose v2
Run the prebuilt services with the downloaded Compose file, .env and gateway configuration.
A domain for HTTPS
Point your domain at the server and make ports 80 and 443 reachable. Set PUBLIC_HOST to its hostname and BETTER_AUTH_URL to the matching HTTPS origin. The included Caddy gateway handles certificates and routes both the web app and API.
Building from source instead?
Clone the repository and use the Compose build blocks for the web and API images. The runbook also covers local development and the API-only stack for native clients.
その先へ · Going further

Going further.

Deploying with Dokploy? Use docker-compose.dokploy.yml from the repo instead of the plain stack. The full walkthrough — environment variables, HTTPS, backups and upgrades — lives in the self-hosting runbook. Stuck? Open an issue on GitHub or ask in the Discord.

便り · A quiet letter

A few good emails. Only when there is something to say.