147 lines
3.8 KiB
Markdown
147 lines
3.8 KiB
Markdown
# Easy-gate Build Notes for Cloudron
|
||
|
||
This document provides instructions for building, testing, and deploying Easy-gate to your Cloudron instance.
|
||
|
||
## Overview
|
||
|
||
Easy-gate is a simple web application designed to serve as the central hub for your self-hosted infrastructure. It allows you to organize and access all your self-hosted services from a single dashboard.
|
||
|
||
Key features:
|
||
- Real-time parsing of services and notes from a configuration file (JSON/YAML)
|
||
- Ability to assign items to specific user groups based on IP addresses
|
||
- Organization of services into categories
|
||
- Customizable theme and icons
|
||
|
||
## Building the Package
|
||
|
||
### Prerequisites
|
||
|
||
- A Linux environment with Docker installed
|
||
- Cloudron CLI tool installed (`npm install -g cloudron`)
|
||
- Authenticated with your Cloudron instance (`cloudron login`)
|
||
|
||
### Build Steps
|
||
|
||
1. Create a directory for your build and copy all files into it:
|
||
|
||
```bash
|
||
mkdir easy-gate-build
|
||
cd easy-gate-build
|
||
# Copy CloudronManifest.json, Dockerfile, start.sh, and easy-gate.json
|
||
```
|
||
|
||
2. Create a logo.png file for the icon or download one from the Easy-gate repository.
|
||
|
||
3. Build the package:
|
||
|
||
```bash
|
||
cloudron build
|
||
```
|
||
|
||
This command will create a package file (usually named `easy-gate-1.0.0.tar.gz`).
|
||
|
||
## Testing Locally
|
||
|
||
You can test the Docker container locally before deploying to Cloudron:
|
||
|
||
```bash
|
||
# Build the Docker image
|
||
docker build -t easy-gate-local .
|
||
|
||
# Run the container
|
||
docker run -p 8080:8080 -e EASY_GATE_BEHIND_PROXY=true easy-gate-local
|
||
```
|
||
|
||
Access the dashboard at http://localhost:8080 to verify it works correctly.
|
||
|
||
## Deploying to Cloudron
|
||
|
||
1. Upload the built package to your Cloudron:
|
||
|
||
```bash
|
||
cloudron install —app easy-gate.example.com
|
||
```
|
||
|
||
2. Or, if you want to update an existing installation:
|
||
|
||
```bash
|
||
cloudron update —app easy-gate.example.com
|
||
```
|
||
|
||
3. Configure your Easy-gate instance:
|
||
|
||
After installation, you’ll need to edit the configuration file to add your services. You can do this in two ways:
|
||
|
||
### Option 1: Using Cloudron File Manager
|
||
|
||
1. Go to your Cloudron dashboard
|
||
2. Click on the Easy-gate application
|
||
3. Go to “Files” tab
|
||
4. Navigate to `/app/data/`
|
||
5. Edit `easy-gate.json`
|
||
|
||
### Option 2: SSH Access
|
||
|
||
1. SSH into your Cloudron server
|
||
2. Access the app’s data directory:
|
||
```bash
|
||
cloudron exec —app easy-gate.example.com
|
||
```
|
||
3. Edit the configuration file:
|
||
```bash
|
||
nano /app/data/easy-gate.json
|
||
```
|
||
|
||
## Configuration File Structure
|
||
|
||
The configuration file uses the following structure:
|
||
|
||
```json
|
||
{
|
||
“title”: “My Dashboard”,
|
||
“theme”: {
|
||
“background”: “#f8f9fa”,
|
||
“foreground”: “#212529”,
|
||
“custom_css”: “”
|
||
},
|
||
“groups”: [
|
||
{
|
||
“name”: “group-name”,
|
||
“subnet”: “192.168.1.1/24”
|
||
}
|
||
],
|
||
“categories”: [
|
||
{
|
||
“name”: “Category Name”,
|
||
“services”: [
|
||
{
|
||
“name”: “Service Name”,
|
||
“url”: “https://service.example.com”,
|
||
“description”: “Service Description”,
|
||
“icon”: “”,
|
||
“groups”: [“group-name”]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
“notes”: [
|
||
{
|
||
“name”: “Note Title”,
|
||
“text”: “Note Content”,
|
||
“groups”: [“group-name”]
|
||
}
|
||
],
|
||
“behind_proxy”: true
|
||
}
|
||
```
|
||
|
||
## Troubleshooting
|
||
|
||
- If you encounter “502 Bad Gateway” errors, check that the application is running inside the container: `cloudron logs -f —app easy-gate.example.com`
|
||
- Make sure the `behind_proxy` setting is set to `true` in your configuration file
|
||
- Verify that the user groups and subnets are configured correctly
|
||
- Check the logs for any specific error messages
|
||
|
||
## Maintenance
|
||
|
||
Easy-gate is designed to be low-maintenance. To update to a newer version, simply rebuild the package with the latest release and update your Cloudron app. |