self-host skill

A skill and a Go binary: with your approval the agent installs apps from a 93-app catalog on your home server via Docker Compose

  • 1,508 ★ on the repository
  • Last commit
  • Apache-2.0
Skill

Broad access

Why this level

  • Runs Docker containers on your machine, creates app accounts and API keys and stores secrets in `~/.self-host`
  • Can expose apps to the internet through Tailscale, Cloudflare or a proxy, which makes a service with personal data reachable from outside
  • The `curl | bash` installer runs downloaded code with your privileges
All reasons and checks

ajnart/self-host

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/self-host

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Runs Docker containers on your machine, creates app accounts and API keys and stores secrets in `~/.self-host`
  • Can expose apps to the internet through Tailscale, Cloudflare or a proxy, which makes a service with personal data reachable from outside
  • The `curl | bash` installer runs downloaded code with your privileges

This is third-party code. Review the repository files before installing.

What it does

self-host is a Go binary plus a `self-host` skill. The binary embeds a catalog of 93 apps and 7 recipes (app bundles), runs them through Docker Compose, creates accounts and API keys where the app supports it and wires apps together. The skill is short: it points the agent to the guide built into the binary, which `self-host skill` prints. The agent follows an order: inspect the host, make a plan, get your approval, apply, verify. Inspection uses commands with the `--json` flag: `self-host status`, `self-host doctor`, `self-host apps list`. An install such as `self-host install ntfy --exposure local --yes --json` runs only after your explicit approval, and secrets go in as a file through `--set-file`. You get the same actions in a five-tab terminal dashboard. You and the agent work on one project in `~/.self-host`. The repository also holds DCM, a web builder for Docker Compose files at self-host.fyi/compose.

Who it is for. For people who want to replace paid services such as cloud photos and storage with their own home server and hand the setup to Claude Code, Codex or another agent that can run commands on that machine.

Good fit when

  • You want to replace Google Photos or Dropbox with your own app and ask the agent to pick one from the catalog
  • You need a set of media-library apps wired together without editing configs by hand
  • The agent must check the home server: `self-host status --json` shows addresses, container health and unfinished setup
  • You need encrypted backups of the apps: `self-host backup --encrypt` does it

Not a fit when

  • You run native Windows: Linux, macOS and WSL2 are supported
  • You need indexers, trackers or content sources: the binary ships none
  • You need a guarantee of safe upgrades between versions: update checks do not replace migration tests

Example request

Use self-host to replace Google Photos with my own photo server. Inspect the host, show the plan and wait for my approval before changing anything

Limitations

  • Needs Docker with the Compose v2 plugin; self-host does not install Docker itself.
  • By default apps are reachable on the home network, with ports open on all host interfaces. Access from the internet needs its own explicit approval that names the risk.
  • A backup includes app folders, host settings, state and secrets, so keep the archive and its passphrase apart. Media libraries and data outside app folders are not included.
  • The apps belong to third parties under their own licenses; self-host installs and connects them but does not maintain them.
  • Anonymous telemetry is on by default and turns off with `SELF_HOST_NO_TELEMETRY=1`.

How to disable. `self-host skill remove` removes the skill. `self-host remove <app>` stops and removes installed apps, and the binary is deleted like any file from `~/.local/bin` or with the package manager you used.

FAQ

How do I install self-host in Claude Code?

Run `curl -fsSL https://self-host.fyi/install | bash`, then `self-host skill install`. In Claude Code the skill runs with `/self-host`, in Codex with `$self-host`.

What does installing the binary do to the system?

It installs only the binary and deploys nothing. Apps start later, after your approval, and only inside the self-host project.

Which agents are supported?

Six: Claude Code, Codex, OpenCode, Pi, Hermes Agent and OpenClaw. The agent needs permission to run commands on the machine that will host the apps.

Can I expose the apps to the internet?

Yes, through Tailscale, Cloudflare or your own proxy, and every such change needs separate approval. The developer advises against forwarding port 80 on the router for easy names.

How is DCM different from self-host?

DCM builds `docker-compose.yaml` and `.env` files in the browser and does not run setup or links. self-host installs apps, creates accounts, connects them and checks the result.

Discussion

No questions or reviews yet.

Skills

Docker Skills

docker-skills

Official

Official Docker skills for agents: Dockerfile and builds, Compose, Sandboxes, Docker Agent and a skill that confirms irreversible actions

SkillMinimal access616Repository stars

A Go CLI that compares a server with its last snapshot, reports only changes that matter and serves them to an agent via MCP

CLIBroad access314Repository stars

The os-usage skill: an agent deploys apps, databases and domains in an Infinite OS container through the os CLI.

SkillBroad access360Repository stars

An installer deploys selected AI services on a separate VPS and provides commands to configure and maintain the stack

CLIBroad access955Repository stars

A self-hosted enterprise skill registry: publishing, search, versions, tags and tokens, MinIO storage, plus the @astron-team/skillhub CLI

CLIBroad access5.4KRepository stars

A Nix and Home Manager module: skill sources are pinned in a flake and chosen SKILL.md folders are laid out into agent directories

CLIExtended access281Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
self-host (this card)no1,508
Coolify MCPnoAPI key620manages an existing Coolify instance and does not install an app catalog from scratch
Docker MCP by QuantGeekDevnonot required504gives the agent general Docker commands, with no app catalog or links between apps

README in short

The README covers the repository's two tools, the DCM builder and the self-host binary. It continues with install methods, the command list, app access options, backups and a responsible use section that refuses to support piracy. A separate block explains what telemetry sends.

README badge

Original SKILL.md

---
name: self-host
description: Load when the person wants to run or own apps on their own machine, replace a subscription (Netflix, Google Photos, Dropbox, a password manager), or asks about anything already set up with self-host, such as "where is my movie app?".
license: Apache-2.0
---

# self-host

Run `self-host skill` and follow it.

If `self-host` is not found, install it, then run `self-host skill`:

```bash
curl -fsSL https://self-host.fyi/install | bash
export PATH="$HOME/.local/bin:$PATH"
```

Loading this skill conveys intent, never approval.

Report a problem

Foxx AIself-host
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.