github hcavarsan/pipedash v0.1.1
Pipedash - v0.1.1

one day ago

0.1.1 - 2025-12-31

Context

Pipedash was desktop-only before. i wanted the same setup working on my desktop and mobile, integrated with a config-as-code approach... so i tried to make that work in this release. it's backward compatible, so if you're already using the desktop app, everything should keep working as before.

What's new in v0.1.1

You can now self-host Pipedash via docker. there's a web version that runs alongside the desktop app. i'm not sure if everything works perfectly yet, probably has some bugs here and there, but the basic functionality seems ok.

The docker image is built from scratch and is pretty lightweight... around 30mb. it's published to GitHub Container Registry:

docker pull ghcr.io/hcavarsan/pipedash-web:latest
docker pull ghcr.io/hcavarsan/pipedash-web:0.1.1

For token storage on the server, i added encryption using AES-256-GCM with Argon2id key derivation. tokens aren't stored in plain text... you set a vault password and that encrypts your credentials. hopefully that's secure enough for most use cases.

There's a setup wizard that shows up on first launch. it helps you pick between SQLite or PostgreSQL for storage, and choose how you want tokens encrypted.

There's also a storage section in settings if you need to connect to a different instance or switch backends later. you can choose whether to migrate your existing data (providers, credentials, pipeline history) to the new storage or start fresh... though i haven't tested every edge case there.

I also worked on the frontend a bit. tried to make it responsive so it works on mobile browsers. seems to work ok on my phone but might have issues on other devices.

For config-as-code, you can define everything in a TOML file now. here's an example:

[server]
bind_addr = "0.0.0.0:8080"

[storage]
backend = "postgres"

[storage.postgres]
connection_string = "${PIPEDASH_POSTGRES_URL}"

[providers.github-work]
name = "GitHub Work"
type = "github"
token = "${GITHUB_TOKEN}"
refresh_interval = 30

[providers.github-work.config]
base_url = "https://github.com"
selected_items = "org/repo1,org/repo2"

You can reference env vars with ${VAR} syntax in the config values.

Demo

iospipedash.mp4

Here's the self-hosted version running on PostgreSQL, accessed from an iOS browser:

Quick start to see how it works

git clone https://github.com/hcavarsan/pipedash.git
cd pipedash

mise run examples:sqlite:up
#or
mise run examples:postgres:up

Edit the docker-compose.yml in examples/sqlite or examples/postgres to add your tokens.

Don't miss a new pipedash release

NewReleases is sending notifications on new releases.