I built self-host.fyi to help people move to self-hosted apps. It’s a downloadable Go CLI with a terminal interface, using Docker Compose underneath. There’s also an optional agent skill if you’d rather ask your coding agent for help than learn another interface.
For example, a suitable old laptop could become a place to try Immich as an alternative to Google Photos, or Nextcloud for your files. The idea is to try the software before deciding whether to continue paying a subscription for data you own. Hardware, storage, backups and ongoing maintenance still matter.
The part I wanted to make reusable is what happens after containers start: initial accounts, generated passwords, API keys and supported connections between Apps. Some steps still need a person. The agent guide asks for a plan and approval before changes; loading the skill is not approval.
I originally needed this for testing Homarr integrations, then adapted it because I thought it could help other people explore self-hosting. There are 90+ Apps in the Catalog. You can use the CLI/TUI without an agent.
To try it, review the source and installation instructions in the repository, install the CLI on a machine with Docker and Compose, then use the TUI or load the skill. An example request is: “Help me set up Immich on this machine so I can try hosting my own photos.” This starts a guided task, not a guarantee of a complete setup without your input.
Source and license: GitHub - 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. · GitHub (Apache-2.0)
Overview and demo: https://self-host.fyi
The standalone release binaries are unsigned. Releases provide checksums, and the source is available to review or build yourself. This is my project, not a community endorsement.
AI helped develop the project and organize this post from my own explanation. The images below show the terminal interface and Setup in progress, not proof of a finished installation. In particular, the media hardlink layout and downloader routing through Gluetun have known gaps; installing Gluetun alone does not mean another App uses its VPN.


