Files
mrcharles 8d0b0f42f6 feat: add Easy-Gate Cloudron package (Infrastructure) [#651]
Easy Gate 2.0.3 dashboard hub: multi-stage Go build (static binary on
cloudron/base 3.2.0), config persisted at /app/data/easy-gate.json with
real-time hot reload. No user model (IP-subnet groups only), so the app
ships behind the Cloudron auth proxy (httpAuth.type=proxy); localstorage
addon only, no database. Build validated green + smoke test HTTP 200.
Docs synced (STATUS/README/JOURNAL at 10/~57).

Ticket: https://projects.knownelement.com/issues/651

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-01 18:34:29 -05:00
..

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