{"id":27160351,"url":"https://github.com/wiredoor/wiredoor","last_synced_at":"2025-04-08T23:44:59.497Z","repository":{"id":285499607,"uuid":"957125950","full_name":"wiredoor/wiredoor","owner":"wiredoor","description":"Self hosted ingress-as-a-service platform that allows you to expose applications and services running in private or local networks to the internet","archived":false,"fork":false,"pushed_at":"2025-04-08T04:03:58.000Z","size":574,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-08T05:19:58.139Z","etag":null,"topics":["ingress-service","nginx","wireguard"],"latest_commit_sha":null,"homepage":"https://www.wiredoor.net","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wiredoor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-29T16:07:42.000Z","updated_at":"2025-04-08T04:04:01.000Z","dependencies_parsed_at":"2025-04-01T04:39:13.890Z","dependency_job_id":null,"html_url":"https://github.com/wiredoor/wiredoor","commit_stats":null,"previous_names":["wiredoor/wiredoor"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiredoor%2Fwiredoor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiredoor%2Fwiredoor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiredoor%2Fwiredoor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiredoor%2Fwiredoor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wiredoor","download_url":"https://codeload.github.com/wiredoor/wiredoor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247947825,"owners_count":21023058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ingress-service","nginx","wireguard"],"created_at":"2025-04-08T23:44:58.792Z","updated_at":"2025-04-08T23:44:59.485Z","avatar_url":"https://github.com/wiredoor.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","self-hosted"],"sub_categories":[],"readme":"# 🛡️ Wiredoor Server\n\n**Wiredoor** is a self-hosted, open-source ingress-as-a-service platform that allows you to expose applications and services running in private or local networks to the internet—securely, reliably, and without complex infrastructure.\n\nIt uses reverse VPN connections powered by [WireGuard](https://www.wireguard.com) and exposes services through a built-in [NGINX](https://nginx.org) reverse proxy. Perfect for developers, operators, or teams that want full control of their ingress without relying on public cloud solutions.\n\n---\n\n## ✨ Features\n\n- 🔐 **Secure VPN tunnel** with WireGuard (low latency and high performance)\n- 🌐 **Reverse proxy** with NGINX\n- 🔑 **Automatic SSL certificates** via Let's Encrypt (or self-signed fallback)\n- 🧠 **Web UI** to manage nodes, services, and domains\n- 📦 **Multi-environment support**: works with Kubernetes, Docker, legacy servers, IoT, etc.\n- 🧰 **CLI client** (`wiredoor-cli`) for service management and automation\n- 🚪 **Gateway nodes** for full subnetwork exposure (site-to-site style)\n- 🧱 100% **self-hosted and open source**\n\n---\n\n## 🚀 Quick Start (Docker)\n\n### 🧾 Requirements\n\n- Linux VPS (recommended)\n- Docker Engine or Docker Desktop\n- Open ports: `80`, `443`, and a UDP port for the VPN (default `51820`)\n- Optional: Port range for exposing TCP services (e.g. `32760-32767`)\n\n### 📁 Create persistent directories\n\n```bash\nmkdir -p ~/{wiredoor-data,wiredoor-certbot} \u0026\u0026 chown -R 1000:1000 ~/{wiredoor-data,wiredoor-certbot}\n```\n\n### 🐳 Sample docker-compose.yml\n\n```yaml filename=\"docker-compose.yml\" copy\nservices:\n  wiredoor:\n    image: infladoor/wiredoor:latest\n    container_name: wiredoor\n    cap_add:\n      - NET_ADMIN\n    environment:\n      TZ: America/New_York # Set your timezone\n      VPN_HOST: ${SERVER_PUBLIC_IP_OR_DOMAIN} # Change This Value with your server IP or FQDN\n      VPN_PORT: 51820 # VPN Port \n      VPN_SUBNET: 10.12.1.0/24 # VLAN Subnet For VPN Interface\n      SERVER_CERTBOT_EMAIL: youremail@email.com # Email used to send notifications about certbot SSL certificates\n#      TCP_SERVICES_PORT_RANGE: 32760-32767 # Optional Port range definition to expose TCP services if needed\n    restart: unless-stopped\n    volumes:\n      - ~/wiredoor-data:/data\n      - ~/wiredoor-certbot:/etc/letsencrypt\n    ports:\n      - 80:80/tcp\n      - 443:443/tcp\n      - 51820:51820/udp # Must match with VPN_PORT defined in environment\n#      - 32760-32767 # Must match with TCP_SERVICES_PORT_RANGE defined in environment\n    sysctls:\n      - net.ipv4.ip_forward=1\n```\n\n### ▶️ Run it\n\n```bash\ndocker compose up -d\n```\n\nOnce the service is running, visit: [https://\u003cYOUR_PUBLIC_IP_OR_DOMAIN\u003e]()\n\nLogin using the default credentials shown in the terminal or provided in the documentation.\n\n## 🧭 How It Works\n\n- Register a domain(local or public) pointing to wiredoor server.\n- Nodes / Clients connect to Wiredoor through a secure VPN tunnel.\n- Wiredoor exposes your internal service via domain/port configuration.\n- Incoming traffic is routed securely and automatically encrypted.\n\n### 🖥️ Client integrations\n\n- ✅ Wiredoor CLI: Manage connection, expose services, get logs, etc.\n- ✅ Docker Gateway: Lightweight sidecar container to expose services in Compose environments.\n- ✅ Kubernetes Gateway Chart: Helm chart to expose any service inside your Kubernetes cluster.\n\n### 🔐 Domains \u0026 Certificates\n\n- Supports public domains with Let's Encrypt SSL.\n- Also works with local/internal domains using self-signed certificates.\n- Automatically handles renewal and configuration.\n\n### ⚡ Use Cases\n\n- Expose internal apps without opening firewall ports\n- Access Kubernetes dashboards securely from the outside\n- Remotely monitor or control IoT / industrial devices\n- Replace complex VPN setups with a simpler alternative\n\n### 🤝 Why Wiredoor?\n\n| Feature                    |\tWiredoor |   Ngrok  | Cloudflare Tunnel |\n|----------------------------|-----------|----------|-------------------|\n| Open Source                |\t   ✅   |    ❌    |        ❌        |\n| Self-Hosted                |\t   ✅\t | Partial  |        ❌         |\n| Site-to-Site VPN Gateway   |     ✅   |    ❌    |        ❌        |\n| TCP + UDP Support          |\t   ✅   | TCP only |     HTTP only     |\n| Automatic SSL Certificates |     ✅   |    ✅    |        ✅        |\n\n---\n\n### 📄 License\n\n### 🛠️ Coming soon\n\nMore documentation, production setup examples, and deployment tools are on the way!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiredoor%2Fwiredoor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwiredoor%2Fwiredoor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiredoor%2Fwiredoor/lists"}