# Easy Gate Cloudron Package ## Description Easy Gate is a simple web application that serves as the central hub for your self-hosted infrastructure. Services and notes are parsed in real time from a JSON/YAML configuration file — Easy Gate re-reads it every second, so changes apply immediately without restarts. Services and notes can be organized into categories and assigned to user groups, so items are shown only to users matching specific IP subnets (e.g. LAN vs VPN). This package builds the upstream Go source (v2.0.3) as a static binary and runs it on the Cloudron base image. ## Authentication Easy Gate has **no built-in user model** — visibility is controlled by IP-subnet groups, not accounts. This package therefore uses **Cloudron's authentication proxy** (`httpAuth.type = proxy` in `CloudronManifest.json`). The Cloudron admin restricts which platform users/groups may reach the app; authorized users must present Cloudron credentials before the dashboard loads. This is the recommended pattern for utility apps without their own user directory. Because Cloudron fronts the app with its reverse proxy, the seeded config sets `behind_proxy: true` so group matching uses the real client IP from `X-Forwarded-For`. ## Features - Real-time config parsing (JSON or YAML) with no application restarts - Group-based visibility of services and notes by client IP subnet - Service categories, themes, and custom CSS support - Standalone static Go binary with no external dependencies - No database required ## Configuration ### Ports - **8080**: Easy Gate HTTP (the only exposed port) ### Config file All configuration lives in **`/app/data/easy-gate.json`** (created with a sane default on first start). Edit it with the Cloudron file manager; changes are picked up within a second. Key options: | Option | Purpose | |--------|---------| | `title` | Dashboard title | | `theme.background` / `theme.foreground` | Colors; or `theme.custom_css` for a custom stylesheet | | `groups[].name` / `groups[].subnet` | Groups defined by client IP subnet (CIDR) | | `services[]` | Entries: `name`, `url`, `category`, `groups`, `icon` | | `notes[]` | Entries: `name`, `text`, `groups` | | `behind_proxy` | Keep `true` on Cloudron (real client IP via X-Forwarded-For) | Items with an empty `groups` list are visible to everyone (whoever passes the Cloudron auth proxy). ### Storage - **`/app/data`** (localstorage addon) holds the config file. Nothing else is persisted; no database addon is used. ## Usage 1. Install the package on Cloudron. 2. In the Cloudron access control, grant the desired users/groups access. 3. Open the app location — you'll be prompted for Cloudron credentials. 4. Edit `/app/data/easy-gate.json` to list your services and notes; the dashboard updates within a second. ## Upstream - **Repository**: https://github.com/wiredlush/easy-gate - **Version packaged**: 2.0.3 (Go 1.23, Fiber) - **License**: MIT