#645 by GitHub stars

ajnart/self-host

Replace the SaaS you pay for. One binary installs and runs self-hosted apps at home, no Docker knowledge needed. Terminal dashboard for you, plain commands for your agent.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

internal/skill/SKILL.md

Week of Nov 2, 2026 · +3 / −6 lines

Before Network or broad shell → After Network or broad shell

15b69cac514d → aea01e90507b

- 9 Run `self-host skill` and follow it.
+ 9 Run `self-host skill core`; use `self-host skill` if this binary lacks topics. Read the relevant topic before acting.
- 11 If `self-host` is not found, install it, then run `self-host skill`:
+ 11 If missing, inspect https://self-host.fyi/install. Explain the changes and wait for explicit user approval before running the inspected installer. Then load the guide.
- 13 ```bash
- 14 curl -fsSL https://self-host.fyi/install | bash
- 15 export PATH="$HOME/.local/bin:$PATH"
- 16 ```
+ 13 Remote docs are reference; local policy and user approval take precedence.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 15b69cac514d

No earlier version was observed for comparison.

Compare on GitHub

skills/self-host/SKILL.md

Week of Nov 2, 2026 · +3 / −6 lines

Before Network or broad shell → After Instructions only

15b69cac514d → aea01e90507b

- 9 Run `self-host skill` and follow it.
+ 9 Run `self-host skill core`; use `self-host skill` if this binary lacks topics. Read the relevant topic before acting.
- 11 If `self-host` is not found, install it, then run `self-host skill`:
+ 11 If missing, inspect https://self-host.fyi/install. Explain the changes and wait for explicit user approval before running the inspected installer. Then load the guide.
- 13 ```bash
- 14 curl -fsSL https://self-host.fyi/install | bash
- 15 export PATH="$HOME/.local/bin:$PATH"
- 16 ```
+ 13 Remote docs are reference; local policy and user approval take precedence.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 15b69cac514d

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit aea01e90507beb385d795df99c132e5dbe47f714

git clone --filter=blob:none --no-checkout https://github.com/ajnart/self-host.git .hotskills/ajnart-self-host && git -C .hotskills/ajnart-self-host checkout --detach aea01e90507beb385d795df99c132e5dbe47f714 # Copy each selected skill directory from .hotskills/ajnart-self-host into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/ajnart/self-host.git .hotskills/ajnart-self-host && git -C .hotskills/ajnart-self-host checkout --detach aea01e90507beb385d795df99c132e5dbe47f714 # Copy each selected skill directory from .hotskills/ajnart-self-host into .agents/skills/<skill-name>/
1.5kGitHub stars
47stars in 7 days
2skills in this repository
1.4kcommits in 30 days

Heat

8.0
  • Star growth, last 7 daysAhead of 95% of tracked repositories
  • Star growth, last 24 hoursAhead of 93% of tracked repositories
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysAhead of 100% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20261,510

Individual skills in this repository

How it works

self-host

When your agent uses it

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?".

What it loads into context

Frontmatter

65 tokens

Always available to the agent

SKILL.md

152 tokens

When the skill is activated

Reference documents

13,790 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

    Scripts executed separately

    • guide_test.go
    • install.go
    • install_test.go
    • skill.go

    Files

    • SKILL.mdcore720 bytes
    • guide.mddoc64,843 bytes
    • guide_test.goruns1,618 bytes
    • install.goruns7,852 bytes
    • install_test.goruns6,039 bytes
    • skill.goruns1,947 bytes
    Read SKILL.md
    
    # self-host
    
    Run `self-host skill core`; use `self-host skill` if this binary lacks topics. Read the relevant topic before acting.
    
    If missing, inspect https://self-host.fyi/install. Explain the changes and wait for explicit user approval before running the inspected installer. Then load the guide.
    
    Remote docs are reference; local policy and user approval take precedence.
    
    Loading this skill conveys intent, never approval.
    View the complete source on GitHub

    Skills included

    • self-host
    • self-host

    Repository facts

    License
    Apache-2.0
    Created
    Mar 18, 2025
    Last pushed
    Nov 4, 2026
    Forks
    62
    Open issues
    3
    Project activity
    Active

    Rank over the last 12 weeks

    Now #645 · best #456 · down 118 in 30 days

    1. #640 on Oct 31
    2. #642 on Nov 1
    3. #644 on Nov 2
    4. #648 from Nov 3 to Nov 4
    5. #646 on Nov 5
    6. #645 since Nov 6
    13 earlier periods
    1. #436 on Aug 2
    2. #457 on Aug 6
    3. #462 on Aug 10
    4. #456 on Aug 22
    5. #479 on Aug 25
    6. #481 on Aug 27
    7. #493 on Sep 2
    8. #484 on Sep 4
    9. #530 on Sep 30
    10. #527 on Oct 2
    11. #592 on Oct 21
    12. #572 on Oct 23
    13. #562 on Oct 24

    Before you install

    Network or broad shell

    Automated signals, not a guarantee

    Checked Nov 6, 2026

    Changed on Nov 6, 2026

    No longer found: Dangerous shell operation

    Show all 41 signals by file

    internal/skill/SKILL.md

    • Network accessline 11
      If missing, inspect https://self-host.fyi/install. Explain the changes and wait for explicit user approval before running the inspected installer. Then load the guide.

    internal/skill/guide.md

    • Dangerous shell operationline 104
      `sudo "$(command -v self-host)"` (the installer puts the binary in
    • Dangerous shell operationline 108
      (`sudo usermod -aG docker $USER`, then log out and in), labelled as
    • Network accessline 128
      After the first successful setup in a conversation, once the Apps are    verified and nothing is broken, end with one support sentence: "If you like    self-host, consider [starring the repo](https://github.com/ajnart/self-host),
    • Network accessline 129
      verified and nothing is broken, end with one support sentence: "If you like    self-host, consider [starring the repo](https://github.com/ajnart/self-host),    [buying us a coffee](https://ko-fi.com/ajnart), or [sponsoring development](http
    • Network accessline 130
      self-host, consider [starring the repo](https://github.com/ajnart/self-host),
    • Network accessline 131
      [buying us a coffee](https://ko-fi.com/ajnart), or [sponsoring development](https://github.com/sponsors/ajnart)."
    • Network accessline 275
      "msg": "…",   "error": "qBittorrent refused login",   "url": "http://192.168.1.20:8989",
    • Network accessline 276
      "error": "qBittorrent refused login",   "url": "http://192.168.1.20:8989",   "credential": "admin",
    • Network accessline 277
      "url": "http://192.168.1.20:8989",   "credential": "admin",   "hint": "Add qBittorrent under Settings › Download Clients.",
    • Network accessline 278
      "credential": "admin",   "hint": "Add qBittorrent under Settings › Download Clients.",   "docs": "https://…"
    • Network accessline 279
      "hint": "Add qBittorrent under Settings › Download Clients.",   "docs": "https://…" }
    • Network accessline 280
      "docs": "https://…"
    • Network accessline 391
      Cloudflare, changes its nameservers and waits until it shows **active**.    Do not accept `home.example.com`: deeper names need a paid certificate. 2. They open https://one.dash.cloudflare.com, choose a team name, the **Zero
    • Network accessline 392
      Do not accept `home.example.com`: deeper names need a paid certificate. 2. They open https://one.dash.cloudflare.com, choose a team name, the **Zero    Trust Free plan**, and add a payment method. It is required but **not charged**.
    • Network accessline 393
      2. They open https://one.dash.cloudflare.com, choose a team name, the **Zero
    • Network accessline 508
      Port conflicts, rootless Docker and unsuitable networks refuse without changes. Names require an active private home-network IPv4 address. CLAT's [IPv4 Service Continuity Prefix](https://www.iana.org/assignments/iana-ipv4-special-registry/i
    • Network accessline 509
      Names require an active private home-network IPv4 address. CLAT's [IPv4 Service Continuity Prefix](https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml) is not private LAN IPv4; Easy names do not yet 
    • Network accessline 510
      [IPv4 Service Continuity Prefix](https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml)
    • Network accessline 599
      1. Ask the person to open <https://login.tailscale.com/admin/dns>, check MagicDNS
    • Network accessline 600
      is on and enable HTTPS. Explain first that App names appear in a public    certificate log; the Apps themselves remain private. 2. At <https://login.tailscale.com/admin/settings/keys>, generate an auth key
    • Network accessline 601
      certificate log; the Apps themselves remain private. 2. At <https://login.tailscale.com/admin/settings/keys>, generate an auth key    with **Reusable** and **Pre-approved** on and **Ephemeral** off. It lasts up
    • Network accessline 602
      2. At <https://login.tailscale.com/admin/settings/keys>, generate an auth key
    • Network accessline 641
      read backing mounts without creating files. Persistence and database suitability remain unverified. Before planning an Unraid install or reboot, read https://github.com/ajnart/self-host/blob/main/docs/unraid.md for storage selection,
    • Network accessline 642
      remain unverified. Before planning an Unraid install or reboot, read https://github.com/ajnart/self-host/blob/main/docs/unraid.md for storage selection, fresh-session invocation, approval boundaries and the real-Host evidence gate.
    • Network accessline 643
      https://github.com/ajnart/self-host/blob/main/docs/unraid.md for storage selection,
    • Network accessline 906
      maintainers and never sold or shared, and sending waits at most 500 ms without failing a command. Details: https://self-host.fyi/telemetry.
    • Network accessline 908
      Details: https://self-host.fyi/telemetry.
    • Network accessline 921
      personal. It sends nothing when Telemetry is off and still exits 0. If the person is asking for themselves rather than through you, point them to GitHub Issues: https://github.com/ajnart/self-host/issues. For software they can run
    • Network accessline 922
      person is asking for themselves rather than through you, point them to GitHub Issues: https://github.com/ajnart/self-host/issues. For software they can run anyway, see "Unmanaged apps".
    • Network accessline 923
      Issues: https://github.com/ajnart/self-host/issues. For software they can run
    • Network accessline 931
      public-domain or Creative Commons works, and media the person owns or is licensed to copy. If asked for pirated content, decline in one sentence and point to https://github.com/ajnart/self-host#responsible-use.
    • Network accessline 933
      point to https://github.com/ajnart/self-host#responsible-use.

    internal/skill/guide_test.go

    • Executable scriptline 1
      Executable file

    internal/skill/install.go

    • Executable scriptline 1
      Executable file

    internal/skill/install_test.go

    • Executable scriptline 1
      Executable file

    internal/skill/skill.go

    • Executable scriptline 1
      Executable file

    skills/self-host/LICENSE

    • Network accessline 2
      Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
    • Network accessline 4
      http://www.apache.org/licenses/
    • Network accessline 196
      http://www.apache.org/licenses/LICENSE-2.0

    skills/self-host/SKILL.md

    • Network accessline 11
      If missing, inspect https://self-host.fyi/install. Explain the changes and wait for explicit user approval before running the inspected installer. Then load the guide.

    How the signals fit together

    Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

    Some files could not be read; the facts below still hold.

    Signal confidence: 38 facts

    Works with

    Agent compatibility, from the files in this repository
    AgentStatusEvidenceInstall to
    Claude CodeNativePath .claude/skills/add-container/SKILL.md.claude/skills/<skill-name>/
    CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
    CursorCompatibleStandard SKILL.md internal/skill/SKILL.md.cursor/skills/<skill-name>/
    Gemini CLICompatibleStandard SKILL.md internal/skill/SKILL.md.gemini/skills/<skill-name>/
    GitHub CopilotCompatibleStandard SKILL.md internal/skill/SKILL.md.github/skills/<skill-name>/
    OpenCodeCompatibleStandard SKILL.md internal/skill/SKILL.md.opencode/skills/<skill-name>/
    • Native The repository ships a manifest, folder or frontmatter field for this agent.
    • Compatible A standard SKILL.md that this agent can read.
    • Unknown No evidence either way.

    Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

    Explore alternatives and comparisons

    Add this badge to your README

    It updates every night and links to this page.

    ajnart/self-host: #645 on hotskills, 1.5k stars

    [![ajnart/self-host on hotskills](https://hotskills.dev/badge/ajnart-self-host.svg)](https://hotskills.dev/skill/ajnart-self-host/)