Add full compose files and ZimaOS manifest
This commit is contained in:
@@ -111,10 +111,19 @@ For automatic image-based upgrades, Unraid's **Update Container** action pulls t
|
||||
|
||||
## ZimaOS
|
||||
|
||||
The simplest path is [`compose.zimaos.yaml`](compose.zimaos.yaml) — a ready-to-import file with the `x-casaos` metadata ZimaOS's app installer and App Store use for the icon, title, and port mapping.
|
||||
|
||||
1. In ZimaOS, go to **Docker → Install a Customized App**, and paste or select `compose.zimaos.yaml`.
|
||||
2. Before starting it, edit `ADMIN_PASSWORD` and `SESSION_SECRET` in the environment fields.
|
||||
3. Confirm the data path — it defaults to `/DATA/AppData/site-gateway` — and start the app.
|
||||
4. Open `http://ZIMAOS-IP:8080`.
|
||||
|
||||
Prefer a plain Compose file instead? `compose.yaml` (build from source) and `compose.release.yaml` (pull the published image) both work the same way:
|
||||
|
||||
1. Copy this folder into ZimaOS storage, e.g. `/DATA/AppData/site-gateway/app`.
|
||||
2. Point the Compose volume at `/DATA/AppData/site-gateway/data:/data`.
|
||||
3. Set `ADMIN_PASSWORD` and `SESSION_SECRET` (and `PUID`/`PGID` if needed — ZimaOS typically uses `1000:1000`).
|
||||
4. Import `compose.yaml` (or `compose.release.yaml` for image-based upgrades) through ZimaOS's custom app / Compose import option, or run it from the terminal:
|
||||
4. Import through ZimaOS's custom app / Compose import option, or run it from the terminal:
|
||||
|
||||
```bash
|
||||
cd /DATA/AppData/site-gateway/app
|
||||
|
||||
+10
-1
@@ -1,3 +1,8 @@
|
||||
|
||||
# Pulls the published multi-arch image instead of building from source.
|
||||
# Copy .env.example to .env, set ADMIN_PASSWORD and SESSION_SECRET, then:
|
||||
# docker compose -f compose.release.yaml pull
|
||||
# docker compose -f compose.release.yaml up -d
|
||||
services:
|
||||
site-gateway:
|
||||
image: ${SITE_GATEWAY_IMAGE:-ghcr.io/mfwadejr/site-gateway2:latest}
|
||||
@@ -18,9 +23,13 @@ services:
|
||||
ports:
|
||||
- "${HTTP_PORT:-80}:80"
|
||||
- "${HTTPS_PORT:-443}:443"
|
||||
- "${HTTPS_PORT:-443}:443/udp"
|
||||
- "${HTTPS_PORT:-443}:443/udp" # HTTP/3 (QUIC) — forward UDP 443 on your router/firewall too
|
||||
- "8080:8080"
|
||||
- "9000-9099:9000-9099"
|
||||
# Streaming Hosts (optional): add one line per TCP/UDP port you forward
|
||||
# from the dashboard, matching the target port you'll enter there.
|
||||
# - "25565:25565"
|
||||
# - "25565:25565/udp"
|
||||
volumes:
|
||||
- ${SITE_GATEWAY_DATA:-/DATA/AppData/site-gateway}:/data
|
||||
labels:
|
||||
|
||||
+34
-3
@@ -1,27 +1,58 @@
|
||||
|
||||
services:
|
||||
site-gateway:
|
||||
build: .
|
||||
container_name: site-gateway
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
# Bootstrap dashboard credentials. Required — change the password before
|
||||
# starting the container. These become the initial Administrator account;
|
||||
# first-time setup will ask you to confirm or replace them.
|
||||
ADMIN_USERNAME: admin
|
||||
ADMIN_PASSWORD: change-this-password
|
||||
# Optional: set a long random SESSION_SECRET to keep sessions valid across
|
||||
# container rebuilds. If omitted, one is derived from ADMIN_USERNAME/ADMIN_PASSWORD.
|
||||
|
||||
# Optional: set a long random string to keep login sessions valid across
|
||||
# container rebuilds. If omitted, one is derived from the admin
|
||||
# username/password above. Rotating this signs everyone out.
|
||||
# SESSION_SECRET: ""
|
||||
|
||||
# Dashboard port inside the container. Change the left side of the
|
||||
# matching entry under `ports:` below if you remap it.
|
||||
ADMIN_PORT: 8080
|
||||
|
||||
# Direct-LAN port range Hosted Sites can bind to. Keep this in sync with
|
||||
# the "9000-9099:9000-9099" line under `ports:` below — Docker can't add
|
||||
# a host port to an already-running container, so widen both together
|
||||
# before starting the container if you need a different range.
|
||||
SITE_PORT_MIN: 9000
|
||||
SITE_PORT_MAX: 9099
|
||||
|
||||
# Where persistent state lives inside the container. Leave this as
|
||||
# /data and change the host side of the volume mount instead.
|
||||
DATA_DIR: /data
|
||||
|
||||
# Optional: encryption password for scheduled Complete/Configuration
|
||||
# backups. Leave empty to store backups unencrypted (not recommended,
|
||||
# since Complete backups include certificate private keys).
|
||||
BACKUP_PASSWORD: ""
|
||||
|
||||
# User/group the container writes persistent files as. Defaults suit a
|
||||
# typical Linux host; Unraid commonly uses PUID=99, PGID=100.
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
|
||||
# Optional: certificate account email, passed to Caddy's ACME client.
|
||||
ACME_EMAIL: ""
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "443:443/udp"
|
||||
- "443:443/udp" # HTTP/3 (QUIC) — forward UDP 443 on your router/firewall too
|
||||
- "8080:8080"
|
||||
- "9000-9099:9000-9099"
|
||||
# Streaming Hosts (optional): add one line per TCP/UDP port you forward
|
||||
# from the dashboard, matching the target port you'll enter there.
|
||||
# Example for a Minecraft server:
|
||||
# - "25565:25565"
|
||||
# - "25565:25565/udp"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
|
||||
# ZimaOS App Store / custom-install compose file for Site Gateway.
|
||||
#
|
||||
# Import this file directly (ZimaOS → Docker → Install a Customized App →
|
||||
# paste/select this file), or use it as the source compose for a ZimaOS
|
||||
# App Store submission — the `x-casaos` block below follows ZimaOS's v2
|
||||
# app-store schema (see docs.zimaspace.com/docs/developer/app-store-compose-x-casaos).
|
||||
#
|
||||
# After install, open the ZimaOS app's settings and change ADMIN_PASSWORD
|
||||
# and SESSION_SECRET before exposing this to anything beyond your LAN.
|
||||
|
||||
name: site-gateway
|
||||
|
||||
services:
|
||||
site-gateway:
|
||||
image: ghcr.io/mfwadejr/site-gateway2:latest
|
||||
container_name: site-gateway
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
ADMIN_USERNAME: admin
|
||||
ADMIN_PASSWORD: change-this-password
|
||||
SESSION_SECRET: change-this-too-at-least-32-characters
|
||||
ADMIN_PORT: 8080
|
||||
SITE_PORT_MIN: 9000
|
||||
SITE_PORT_MAX: 9099
|
||||
DATA_DIR: /data
|
||||
BACKUP_PASSWORD: ""
|
||||
# ZimaOS commonly runs its data volumes as 1000:1000; adjust if your
|
||||
# instance differs.
|
||||
PUID: 1000
|
||||
PGID: 1000
|
||||
ACME_EMAIL: ""
|
||||
ports:
|
||||
- target: 8080
|
||||
published: "8080"
|
||||
protocol: tcp
|
||||
- target: 80
|
||||
published: "80"
|
||||
protocol: tcp
|
||||
- target: 443
|
||||
published: "443"
|
||||
protocol: tcp
|
||||
- target: 443
|
||||
published: "443"
|
||||
protocol: udp
|
||||
- target: 9000
|
||||
published: "9000-9099"
|
||||
protocol: tcp
|
||||
# Streaming Hosts (optional): add one entry per TCP/UDP port you forward
|
||||
# from the dashboard, matching the target port you'll enter there.
|
||||
# - target: 25565
|
||||
# published: "25565"
|
||||
# protocol: tcp
|
||||
volumes:
|
||||
- type: bind
|
||||
source: /DATA/AppData/site-gateway
|
||||
target: /data
|
||||
|
||||
x-casaos:
|
||||
id: dev.mfwadejr.sitegateway
|
||||
main: site-gateway
|
||||
index: /
|
||||
port_map: "8080"
|
||||
scheme: http
|
||||
icon: https://raw.githubusercontent.com/mfwadejr/site-gateway2/main/src/public/site-gateway-icon-approved.png
|
||||
title:
|
||||
en_US: Site Gateway
|
||||
tagline:
|
||||
en_US: Host. Proxy. Secure. A calm dashboard for sites, proxies, and TLS.
|
||||
description:
|
||||
en_US: >-
|
||||
A friendly, self-hosted gateway for homelabs and small teams. Publish
|
||||
static sites, reverse-proxy your apps, forward raw TCP/UDP streams, and
|
||||
manage TLS and access from one dashboard — powered by Caddy.
|
||||
category: Networking
|
||||
author: mfwadejr
|
||||
developer: mfwadejr
|
||||
architectures: ["amd64", "arm64"]
|
||||
version: "0.11.101"
|
||||
update_at: "2026-09-16"
|
||||
website: https://github.com/mfwadejr/site-gateway2
|
||||
repo: https://github.com/mfwadejr/site-gateway2
|
||||
support: https://github.com/mfwadejr/site-gateway2/issues
|
||||
Reference in New Issue
Block a user