{"id":45661687,"url":"https://github.com/1mb-dev/pi-gateway","last_synced_at":"2026-05-02T08:32:09.287Z","repository":{"id":315081832,"uuid":"1057302311","full_name":"1mb-dev/pi-gateway","owner":"1mb-dev","description":"Hardened SSH + WireGuard VPN gateway for Raspberry Pi. Production-ready security for homelab remote access in under 10 minutes.","archived":false,"fork":false,"pushed_at":"2026-04-27T17:55:43.000Z","size":408,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T19:31:19.035Z","etag":null,"topics":["gateway","homelab","infrastructure-as-code","raspberry-pi","remote-access","security","self-hosted","ssh","vpn","wireguard"],"latest_commit_sha":null,"homepage":"https://1mb-dev.github.io/pi-gateway/","language":"Shell","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/1mb-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":"u/gh/vnykmshr","custom":null}},"created_at":"2025-09-15T14:43:43.000Z","updated_at":"2026-04-27T17:55:48.000Z","dependencies_parsed_at":"2025-09-16T16:43:42.987Z","dependency_job_id":"795fbff5-185d-41ac-bd9f-0e1e8131941c","html_url":"https://github.com/1mb-dev/pi-gateway","commit_stats":null,"previous_names":["vnykmshr/pi-gateway","1mb-dev/pi-gateway"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/1mb-dev/pi-gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1mb-dev%2Fpi-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1mb-dev%2Fpi-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1mb-dev%2Fpi-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1mb-dev%2Fpi-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/1mb-dev","download_url":"https://codeload.github.com/1mb-dev/pi-gateway/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/1mb-dev%2Fpi-gateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["gateway","homelab","infrastructure-as-code","raspberry-pi","remote-access","security","self-hosted","ssh","vpn","wireguard"],"created_at":"2026-02-24T09:15:30.872Z","updated_at":"2026-05-02T08:32:09.279Z","avatar_url":"https://github.com/1mb-dev.png","language":"Shell","funding_links":["https://thanks.dev/u/gh/vnykmshr"],"categories":[],"sub_categories":[],"readme":"# Pi Gateway\n\n[![CI Status](https://github.com/1mb-dev/pi-gateway/workflows/Pi%20Gateway%20CI/badge.svg)](https://github.com/1mb-dev/pi-gateway/actions)\n[![Release](https://img.shields.io/github/v/release/1mb-dev/pi-gateway)](https://github.com/1mb-dev/pi-gateway/releases)\n[![License](https://img.shields.io/github/license/1mb-dev/pi-gateway)](LICENSE)\n\n**Secure remote access gateway for Raspberry Pi. SSH + VPN setup in under 10 minutes.**\n\n## Overview\n\nPi Gateway transforms your Raspberry Pi into a secure remote access gateway with hardened SSH, WireGuard VPN, and firewall protection. Simple, focused, and production-ready.\n\n## When to Use This\n\nPi Gateway is for you if:\n- You want SSH hardening, VPN, and firewall configured together as a single setup\n- You prefer an opinionated, tested configuration over assembling pieces yourself\n- You want dry-run mode to preview changes before they touch your system\n\nConsider alternatives if:\n- You only need a VPN — [PiVPN](https://pivpn.io/) is simpler for WireGuard-only setups\n- You want fine-grained control over every setting — manual setup gives you that\n- You're running on non-Raspberry Pi hardware — this project targets Pi OS specifically\n\n## Quick Start\n\n### One-Command Installation (Recommended)\n```bash\ncurl -sSL https://raw.githubusercontent.com/1mb-dev/pi-gateway/main/scripts/quick-install.sh | bash\n```\n\n### Manual Installation\n```bash\n# Clone the repository\ngit clone https://github.com/1mb-dev/pi-gateway.git\ncd pi-gateway\n\n# Check system requirements\nmake check\n\n# Run the setup (on your Raspberry Pi)\nmake setup\n```\n\n### Interactive Setup\n```bash\ncurl -sSL https://raw.githubusercontent.com/1mb-dev/pi-gateway/main/scripts/quick-install.sh | bash -s -- --interactive\n```\n\n## Features\n\n**Core Security:**\n- SSH hardening with key-based authentication and fail2ban\n- WireGuard VPN server with client management\n- Firewall configuration (UFW) with secure defaults\n- System security hardening\n\n**Optional Components:**\n- Remote desktop access (VNC)\n- Dynamic DNS integration\n- Custom port configuration\n\n**Quality:**\n- Dry-run mode for safe testing\n- Docker and QEMU-based integration testing\n\n## Requirements\n\n### Hardware\n- Raspberry Pi 500 (or compatible Pi 4/5)\n- Raspberry Pi OS (Lite or Desktop)\n- 32GB+ MicroSD card\n- Reliable power supply \u0026 network connection\n\n### Software\n- Administrator access to home router\n- Dynamic DNS provider account (DuckDNS, No-IP, etc.)\n- SSH client for initial access\n\n## Extensions\n\nAdvanced features moved to `extensions/` directory:\n- Container orchestration (Docker/Podman)\n- Web status dashboard\n- Cloud backup integration\n- Network optimization\n- Automated maintenance\n- System monitoring\n\nSee `extensions/README.md` for installation instructions.\n\n## Documentation\n\nFull documentation at [1mb-dev.github.io/pi-gateway](https://1mb-dev.github.io/pi-gateway/).\n\n### Getting Started\n- [Quick Start Guide](docs/getting-started/quick-start.md) - 15-minute setup guide\n- [Setup Guide](docs/getting-started/setup.md) - Detailed installation instructions\n- [Deployment Guide](docs/operations/production-deployment.md) - Production deployment\n\n### Daily Operations\n- [Daily Operations](docs/operations/daily-operations.md) - How to use installed services\n- [Troubleshooting](docs/operations/troubleshooting.md) - Common issues and solutions\n\n### Advanced Topics\n- [Extension Development](docs/development/extensions.md) - Creating custom extensions\n- [Security Updates](docs/operations/security-updates.md) - Security hardening and updates\n- [Technical Architecture](docs/reference/technical-blog.md) - Technical deep dive\n- [Release Notes](docs/reference/release-notes.md) - Version history\n\n## Project Structure\n\n```\npi-gateway/\n├── setup.sh                      # Master setup script\n├── scripts/                      # Modular service scripts\n├── config/                       # Configuration templates\n├── docs/                         # Documentation\n├── extensions/                   # Optional future services\n└── tests/                       # Validation scripts\n```\n\n## Development \u0026 Testing\n\n```bash\nmake test-dry-run           # Safe dry-run testing (no system changes)\nmake test-unit              # BATS unit tests\nmake test-docker            # Docker integration tests\nmake test-all-integration   # Complete test suite\nmake lint                   # Code quality checks\n```\n\nFor end-to-end testing with Pi simulation, see `tests/docker/`.\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run `make test` and `make validate`\n5. Submit a pull request\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor issues and feature requests, please visit the [GitHub Issues](https://github.com/1mb-dev/pi-gateway/issues) page.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1mb-dev%2Fpi-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F1mb-dev%2Fpi-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F1mb-dev%2Fpi-gateway/lists"}