Menu
Homerun docs

These are the canary docs, read from main: they can describe changes no release has shipped yet. Read the v1.0.64 docs.

Showcase

Every screenshot below is generated by driving a real instance with Playwright (bun run screenshots): a blank database, a real sign-up, the onboarding wizard, then a stack with three services, two of them actually deployed as containers on the host's Docker socket, and real HTTPS traffic sent through a real Traefik to one of them. No demo instance to keep alive and no hand-retouched marketing shot: if a screen stops rendering, the run fails rather than publishing it.

Each pair is light and dark. Appearance is a per-account setting, so both are the real thing.

#The dashboard

Service counts, live host CPU/RAM/disk, the deployments that just ran, and the jump-off points for the next one.

The dashboardThe dashboard The dashboard, dark

#Search everything

Ctrl+K (⌘K on a Mac) from any page: pages, settings, services, stacks, templates and volumes in one list.

The command paletteThe command palette The command palette, dark

#Services

Every service on the instance, with its status, image and stack. Search, filters and paging are server-side, and the checkboxes drive Start/Stop/Restart/Delete in bulk.

The services listThe services list The services list, dark

A single service: its live status, the hostname Traefik routes to it, the actions that matter, its resource usage over time, the services it connects to, and its log tail.

A service's overviewA service's overview A service's overview, dark

#Monitoring

A service's traffic and health over today, the last week, month or year, or all time: requests, average response time, error rate and bandwidth read from Traefik's metrics every minute, uptime from the probes, and CPU and memory from the resource samples, with a chart for each.

A service's monitoringA service's monitoring A service's monitoring, dark

The same for a whole stack, its substacks included, and for the instance, with a table of every service in it, busiest first:

A stack's monitoringA stack's monitoring A stack's monitoring, dark

The instance's monitoringThe instance's monitoring The instance's monitoring, dark

#Live logs

stdout/stderr streamed from the container as it runs, ANSI colours intact, in the Observability tab's Events section, next to its uptime probes and errors. The same viewer backs the tail on the overview page.

Streaming container logsStreaming container logs Streaming container logs, dark

#Networking

The public hostname, extra domains, the container port and protocol, bridge or host networking. Most of these are Traefik labels, so the tab tells you plainly that changing them needs a redeploy.

The networking tabThe networking tab The networking tab, dark

#Environment and compute

Environment variables with a paste-a-.env shortcut, and CPU/memory limits applied to the container itself.

Environment variablesEnvironment variables Environment variables, dark

Compute limitsCompute limits Compute limits, dark

#Revisions and deployments

Every deploy is a revision you can roll back to, and the Deployments page lists every deploy and rollback on the instance with who ran it and how it ended.

A service's revisionsA service's revisions A service's revisions, dark

Every deploymentEvery deployment Every deployment, dark

#Deploying something new

Five steps — basic info, networking, environment, volumes, compute — from an image or straight from a git repo's Dockerfile.

The deploy wizardThe deploy wizard The deploy wizard, dark

#Templates

A built-in catalog of common self-hosted apps with real logos, one-click Quick Deploy, and companion containers that come along with the primary. Your own services can be saved as templates too.

The template catalogThe template catalog The template catalog, dark

#Stacks

A stack puts its services on a shared Docker network, so they reach each other by slug (http://cache:6379) without going back out through Traefik.

A stackA stack A stack, dark

#Domains and DNS

Add the domains you own, link each to a DNS provider zone (Cloudflare, Route 53, Hetzner, Namecheap and a dozen more), and Homerun creates and removes the records of the services under them. Every record of a linked zone is editable from here too.

DomainsDomains Domains, dark

Connecting a DNS providerConnecting a DNS provider Connecting a DNS provider, dark

#More servers

One command on a fresh Linux server makes it a build server, a swarm node, or both.

Adding a serverAdding a server Adding a server, dark

#The API

The REST API the CLI and CI use, documented from its own OpenAPI document and ready to try from the browser.

The API referenceThe API reference The API reference, dark

#Appearance

Light or dark, a colour palette or your own accent, a style for panels and buttons (Sleek, the default, Glass, Neumorphism, Boxy, Claymorphism, Skeuomorphism, Material You), or a whole preset from Windows 95 to a green-phosphor terminal.

Appearance settingsAppearance settings Appearance settings, dark

Picking a style or a preset previews it on the whole dashboard before you save it. Here are Glass, Material You and the Windows XP and Retro presets, picked from that same page:

GlassGlass Glass, dark

Material YouMaterial You Material You, dark

The Windows XP presetThe Windows XP preset The Windows XP preset, dark

The Retro presetThe Retro preset The Retro preset, dark

#Instance settings

Base domain, Docker socket, Traefik, DNS automation and SMTP — stored in the database and applied live, with the env var behind each field shown as its placeholder.

Instance settingsInstance settings Instance settings, dark

#Users

Admins and developers sharing every resource, email invitations, and account removal that hands what the account created over to an admin.

The users pageThe users page The users page, dark

#Signing in

The first account created on a blank instance becomes the admin. After that, every account is created by an admin, optionally through an OAuth/OIDC provider.

The sign-in pageThe sign-in page The sign-in page, dark

This guide lives in the project repo: edit it there, and this page follows within a day.