# hintjen/selfhosted-gateway

Self-hosted Docker native tunneling to localhost. Expose local docker containers to the public Internet via a simple docker compose interface.

Repository: https://github.com/hintjen/selfhosted-gateway
Canonical: https://ross.abutalabs.com/products/selfhosted-gateway
Homepage: https://gethomerun.app
Language: Shell
License: AGPL-3.0
License Family: copyleft
Topics: nginx, wireguard, caddy, docker, docker-compose, sni
Last push: 2025-03-28T15:24:51+00:00

## Health v2 (maintenance only)
Score: 38/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 13, release rhythm 35, longevity 100
- inputs: {"age_days": 1452, "days_push": 523, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1734, forks 87 (observed 2026-08-28T04:05:28.984726+00:00)

## What it is
A self-hosted, Docker-native tunneling solution that exposes local Docker Compose services to the public Internet via WireGuard tunnels with NGINX (gateway) and Caddy (client). It is a FOSS alternative to Cloudflare Tunnels, Tailscale Funnel, and ngrok, built entirely from existing open-source components with automatic HTTPS certificate provisioning.

## Use cases
- expose local docker containers to the public internet
- self-host behind CGNAT or double-NAT like Starlink
- replace ngrok or Cloudflare Tunnel with a self-hosted alternative
- access home lab services without port forwarding or a static IP
- hide my home IP address while self-hosting apps
- automatically provision HTTPS certificates for self-hosted services
- proxy TCP and UDP traffic to localhost through a VPS

## When to choose
- you self-host services behind CGNAT, double-NAT, or a dynamic IP
- you want a fully self-hosted, code-free alternative to Cloudflare Tunnels or ngrok
- your services are already defined in docker-compose and you want Docker-native integration
- you want automatic Let's Encrypt/ZeroSSL HTTPS without extra tooling

## When to avoid
- you don't have (or want to run) a publicly addressable VPS as a gateway
- you need a managed service with zero infrastructure to maintain
- your services are not containerized or not managed via Docker Compose
- you need features like access control policies or application-level analytics offered by commercial tunnels

## Facets
- artifact type: infra-config
- maturity: active
- function: networking, proxy, security, self-hosted, deployment
- domain: networking, self-hosted, privacy
- platform: self-hosted, cli
- tags: wireguard, tunneling, reverse-proxy, caddy, nginx, docker-compose, cgnat, vps-gateway, https, sni, devops, containers, linux, docker

## Member repositories
- hintjen/selfhosted-gateway (main) score 38

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:28.984726+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:31:04.747415+00:00, confidence not recorded.
  - readme: https://github.com/hintjen/selfhosted-gateway (fetched 2026-08-28T04:05:28.984726+00:00, sha cdd3c65febdc)
  - homepage: https://gethomerun.app (fetched 2026-08-29T11:08:08.226349+00:00, sha a39f8ac6970d)
  - site_page: https://docs.gethomerun.app/ (fetched 2026-08-29T11:08:08.230093+00:00, sha 846e37b7893d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
