{"repo":"abjt01/caktus","free":true,"listed":false,"github":"https://github.com/abjt01/caktus","clone":"git clone https://github.com/abjt01/caktus.git","description":"Self-hosted, zero-cost Docker infrastructure for running publicly accessible services on your own hardware.","language":"Shell","stars":20,"topics":[],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"🌵 Project Caktus Hardware redemption arc. Deploy. Survive. Repeat. Turn any laptop into a self-hosted server — no VPS, no domain purchase, no port forwarding. Uses ngrok to tunnel through CG-NAT and expose anything you deploy to the internet with free HTTPS. Project Caktus is a zero-cost, Docker-based personal infrastructure stack designed to run entirely on your own hardware. All compute, storage, and applications stay on your machine, while a secure outbound tunnel makes them publicly accessible from anywhere. No cloud dependency. No vendor lock-in. Just a controlled, reproducible setup that turns spare hardware into reliable, internet-facing infrastructure. Architecture Everything runs on your laptop. ngrok makes an outbound connection — no inbound ports, no static IP, no router config needed. Quick Start Get your free authtoken and static domain at dashboard.ngrok.com. Deploy an App Open your public URL — you'll see the deploy terminal. Fill in app name, port, image or Dockerfile, env vars. Click deploy. Get a public URL in seconds. Port must match what your app listens on — 3000 for Next.js, 8000 for FastAPI, 80 for nginx. Services Service Container Access --- --- --- Dashboard caktus-dashboard Public — / nginx caktus-nginx Internal router ngrok caktus-ngrok Outbound tunnel Portainer caktus-portainer LAN — portainer.caktus.local Uptime Kuma caktus-uptime LAN — status.caktus.local Hello World caktus-hello LAN — hello.caktus.local Scripts Script Purpose --- --- scripts/se","default_branch":null,"files":null,"tree":[],"storefront":"/r/abjt01","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/abjt01/caktus/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}