MCPcopy Index your code
hub / github.com/HerrMuellerluedenscheid/hoister

github.com/HerrMuellerluedenscheid/hoister @v3.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.3.1 ↗ · + Follow
670 symbols 1,471 edges 161 files 111 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Hoister

Discord

Deploy Docker images automatically with rollback support.

Full documentation at docs.hoister.io


Quick start

Mint an agent token at hoister.io (sign in, then open Tokens). Add the hoister.enable=true label to any service you want Hoister to manage, then add Hoister itself to the same Compose file:

services:
  example:
    image: myorg/myapp:latest
    labels:
      - "hoister.enable=true"

  hoister:
    image: hoister/hoister:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    security_opt:
      - no-new-privileges:true
    environment:
      # Report to the hosted dashboard at api.hoister.io (the default
      # controller URL). Paste the token you minted above.
      HOISTER_CONTROLLER_TOKEN: "hst_<your-token>"

Push a new image under the same tag — Hoister will pull it and restart the container automatically. If the new container fails to start, it rolls back to the previous version, and the result shows up on your dashboard.

Prefer no hosted dashboard? Drop the HOISTER_CONTROLLER_TOKEN line and Hoister runs standalone — same auto-update and rollback, with no telemetry leaving the host.

See the Getting Started guide for a full walkthrough including volume backups.


Learn more

Topic Link
Notifications (Slack, Discord, Email, …) docs.hoister.io/guides/notifications
Private registries (GHCR, ECR, ACR, …) docs.hoister.io/guides/registries
Dashboard (frontend + controller) docs.hoister.io/guides/frontend
Multi-host setup docs.hoister.io/guides/multi-host
All environment variables docs.hoister.io/reference/environment-variables
Troubleshooting docs.hoister.io/guides/troubleshooting

License

The agent (agent/), frontends (frontend/, frontend-cloud/), shared crate (hoister_shared/), and documentation are MIT-licensed. See the top-level LICENSE.

The controller (controller/) is licensed under AGPL-3.0-only — modifications offered as a network service must be published under the same license.

Extension points exported contracts — how you extend this code

ContainerStateRepository (Interface)
(no doc) [4 implementers]
controller/src/lib/domain/container_state/port.rs
SlackOAuthResponse (Interface)
Where Slack's `oauth.v2.access` lands the installed webhook.
frontend-cloud/src/routes/slack/oauth/callback/+server.ts
PendingUpdate (Interface)
(no doc)
frontend/src/lib/api/pendingUpdates.ts
MetricsRepository (Interface)
(no doc) [3 implementers]
controller/src/lib/domain/metrics/port.rs
PlanLimits (Interface)
(no doc)
frontend-cloud/src/lib/api/me.ts
DeploymentsResponse (Interface)
(no doc)
frontend/src/lib/api/deployments.ts
NotifierRepository (Interface)
(no doc) [3 implementers]
controller/src/lib/domain/notifiers/ports.rs
Usage (Interface)
(no doc)
frontend-cloud/src/lib/api/me.ts

Core symbols most depended-on inside this repo

get
called by 129
controller/src/lib/outbound/logs_memory.rs
as_str
called by 47
controller/src/lib/domain/billing/models.rs
requireString
called by 26
frontend-cloud/src/routes/(app)/notifiers/+page.server.ts
backendHeaders
called by 21
frontend-cloud/src/lib/api/_headers.ts
body
called by 17
hoister_shared/src/lib.rs
send
called by 16
agent/src/notifications.rs
as_str
called by 12
hoister_shared/src/lib.rs
split
called by 12
hoister_shared/src/lib.rs

Shape

Function 320
Method 194
Class 112
Interface 26
Enum 18

Languages

Rust84%
TypeScript16%

Modules by API surface

controller/src/lib/inbound/server.rs61 symbols
agent/src/docker.rs49 symbols
agent/src/config.rs36 symbols
controller/src/lib/outbound/postgresql.rs35 symbols
controller/src/lib/outbound/sqlite.rs34 symbols
controller/src/lib/domain/notifiers/models.rs29 symbols
controller/src/lib/outbound.rs28 symbols
agent/src/notifications.rs27 symbols
hoister_shared/src/lib.rs24 symbols
controller/src/lib/inbound/notifier_validation.rs24 symbols
agent/src/monitor.rs21 symbols
agent/src/metrics.rs14 symbols

For agents

$ claude mcp add hoister \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page