docs(gremlin): update homepage
This commit is contained in:
parent
fb5cf0dee4
commit
8b07360873
1 changed files with 59 additions and 36 deletions
|
|
@ -1,50 +1,63 @@
|
||||||
# homepage Stack
|
# homepage Stack
|
||||||
|
|
||||||
description: NetGrimoire Homepage Service
|
description: NetGrimoire homepage stack with Docker Swarm configuration.
|
||||||
|
|
||||||
published: true
|
|
||||||
date: 2026-04-07T00:49:28.119Z
|
|
||||||
tags: docker,swarm,homepage,netgrimoire
|
|
||||||
editor: markdown
|
|
||||||
dateCreated: 2026-04-07T00:49:28.119Z
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
The `homepage` stack is responsible for hosting the NetGrimoire homepage, which provides a user-friendly interface for accessing various services. The primary services included in this stack are:
|
||||||
|
|
||||||
The homepage stack in NetGrimoire provides a central point for accessing the application's homepage, featuring the Caddy reverse proxy and Uptime Kuma monitoring. This service is responsible for hosting the website at `http://homepage:3000` and serves as an entry point to the application.
|
* Dockerized `gethomepage/homepage`:latest image providing the web application.
|
||||||
|
* Reverse proxy and authentication setup using Caddy and Authentik.
|
||||||
|
* Monitoring and logging integration with Uptime Kuma.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
| Service | Image | Port | Role |
|
| Service | Image | Port | Role |
|
||||||
|---------|-------|------|-----|
|
|---------|-------|------|--------------------------|
|
||||||
- **Host:** docker4
|
| docker4 | | | Host |
|
||||||
- **Network:** netgrimoire
|
| netgrimoire| | | Network |
|
||||||
- **Exposed via:** homepage.netgrimoire.com, glancenetgrimoire.com (via Caddy)
|
| Caddy | | | Exposed via: |
|
||||||
- **Homepage group:** homepage
|
| | ghcr.io/gethomepage/homepage:latest | 3000 | Homepage group: homepage.group |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Build & Configuration
|
## Build & Configuration
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
No specific prerequisites are required for this stack.
|
You need to ensure that the following Docker volumes are created and accessible:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /DockerVol/homepage/config
|
||||||
|
mkdir -p /DockerVol/homepage/images
|
||||||
|
```
|
||||||
|
|
||||||
|
Additionally, you should set up your environment variables using secrets. This can be done by running the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
generate: openssl rand -hex 32
|
||||||
|
```
|
||||||
|
|
||||||
### Volume Setup
|
### Volume Setup
|
||||||
```bash
|
```bash
|
||||||
mkdir -p /DockerVol/homepage/config
|
chown -R 1001:1001 /DockerVol/homepage/config
|
||||||
chown -R docker:docker /DockerVol/homepage/config
|
chown -R 1001:1001 /DockerVol/homepage/images
|
||||||
```
|
```
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
```bash
|
```bash
|
||||||
# generate: openssl rand -hex 32
|
# generate: openssl rand -hex 32
|
||||||
HOMEPAGE_ALLOWED_HOSTS=homepage.netgrimoire.com,glance.netgrimoire.com
|
HOMEPAGE_ALLOWED_HOSTS=homepage.netgrimoire.com,glance.netgrimoire.com
|
||||||
|
HOMEPAGE_VAR_MAILCOW_KEY=A63910-D8FDE0-881C97-E5EE2B-232847
|
||||||
|
HOMEPAGE_VAR_DNS_TOKEN=2f6c5b9b331c2b84
|
||||||
|
HOMEPAGE_VAR_OPNSENSE_USER=xSt1B1fndmzFQ3x823cKO2/H8/oZOC2BcA0wgtetIwR1CbtRAuHUQoWkiwjskqNkFFJwSaBPi46Vvz6z
|
||||||
|
HOMEPAGE_VAR_OPNSENSE_PASS=8OBBLQWxz6Wdz/NOFkhmg/0kzAIf2gXCFpFOLbcLmZ83lRyBhk4Ev593omDLYm/Av+AC+mDPlA8Wzkfz
|
||||||
|
HOMEPAGE_VAR_IMMICH_KEY=yawqFGqMOQnGIXLmYr2daygAFFIHMaTnqOWNwZhm8SU
|
||||||
```
|
```
|
||||||
|
|
||||||
### Deploy
|
### Deploy
|
||||||
```bash
|
```bash
|
||||||
cd services/swarm/stack/homepage
|
|
||||||
set -a && source .env && set +a
|
set -a && source .env && set +a
|
||||||
docker stack config --compose-file homepage-stack.yml > resolved.yml
|
docker stack config --compose-file homepage-stack.yml > resolved.yml
|
||||||
docker stack deploy --compose-file resolved.yml homepage
|
docker stack deploy --compose-file resolved.yml homepage
|
||||||
|
|
@ -53,50 +66,60 @@ docker stack services homepage
|
||||||
```
|
```
|
||||||
|
|
||||||
### First Run
|
### First Run
|
||||||
|
After the initial deployment, you need to update the `resolved.yml` file with any necessary configurations. This can be done by running the following command:
|
||||||
|
|
||||||
After the initial deployment, ensure that all volumes are properly mounted and configured.
|
```bash
|
||||||
|
./deploy.sh
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## User Guide
|
## User Guide
|
||||||
|
|
||||||
### Accessing homepage
|
### Accessing Homepage
|
||||||
| Service | URL | Purpose |
|
| Service | URL | Purpose |
|
||||||
|---------|-----|---------|
|
|---------|-----|---------|
|
||||||
- **Caddy Reverse Proxy**: http://homepage:3056
|
Caddy | http://homepage:3000 | Reverse proxy and authentication |
|
||||||
|
|
||||||
### Primary Use Cases
|
### Primary Use Cases
|
||||||
To access the application's homepage, navigate to `http://homepage:3056` or `https://homepage.netgrimoire.com`.
|
This stack is used to host the NetGrimoire homepage, providing a user-friendly interface for accessing various services.
|
||||||
|
|
||||||
### NetGrimoire Integrations
|
### NetGrimoire Integrations
|
||||||
This service connects to other services via environment variables and labels. Specifically, it integrates with Caddy for reverse proxying and Uptime Kuma for monitoring.
|
This stack connects to other services such as Authentik and Uptime Kuma.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Operations
|
## Operations
|
||||||
|
|
||||||
### Monitoring
|
### Monitoring
|
||||||
|
Monitoring is performed using Uptime Kuma. You can view the monitoring status by running:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker stack services homepage
|
docker stack services homepage
|
||||||
docker-compose -f /etc/kubernetes/adminstack/up kuma.yml logs -f
|
```
|
||||||
|
|
||||||
|
And logs for individual services with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker service logs <service-name>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Backups
|
### Backups
|
||||||
Critical: `/DockerVol/homepage/config/secrets.env` contains sensitive data. Reconstructable volumes are mounted on Docker Vol.
|
Critical backup paths are located at `/DockerVol/homepage/config` and `/var/lib/docker/volumes/homepage.config`.
|
||||||
|
|
||||||
### Restore
|
### Restore
|
||||||
|
To restore this stack, you can run the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd services/swarm/stack/homepage
|
|
||||||
./deploy.sh
|
./deploy.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Common Failures
|
## Common Failures
|
||||||
| Symptom | Cause | Fix |
|
| Failure Mode | Symptoms | Cause | Fix |
|
||||||
|---------|-------|-----|
|
|-------------|----------|------|-----|
|
||||||
- Caddy Reverse Proxy not working | Insufficient configuration or missing environment variables. | Review and update Caddy configuration and environment variables.
|
| 1 | | | |
|
||||||
- Uptime Kuma monitoring issues | Inconsistent Docker Swarm stack deployment or misconfigured labels. | Verify that the `kuma.*` labels are correctly applied to the service.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -104,17 +127,17 @@ cd services/swarm/stack/homepage
|
||||||
|
|
||||||
| Date | Commit | Summary |
|
| Date | Commit | Summary |
|
||||||
|------|--------|---------|
|
|------|--------|---------|
|
||||||
- 2026-04-06 | e6f86e24 | Initial documentation and migration to swarm configuration. |
|
| 2026-04-06 | fb7d3f0d | <infer what changed from the diffs above> |
|
||||||
- 2026-04-06 | 5db4fdd9 | Updated Caddy reverse proxy configuration and environment variables. |
|
| 2026-04-06 | e6f86e24 | <infer what changed from the diffs above> |
|
||||||
- 2026-03-22 | c4ac5abf | Added Uptime Kuma monitoring integration. |
|
| 2026-04-06 | 5db4fdd9 | <infer what changed from the diffs above> |
|
||||||
- 2026-01-20 | 061ab0c2 | Improved volume setup and mount permissions. |
|
| 2026-03-22 | c4ac5abf | <infer what changed from the diffs above> |
|
||||||
- 2026-01-10 | 1a374911 | Initial commit with swarm configuration for the homepage stack. |
|
| 2026-01-20 | 061ab0c2 | <infer what changed from the diffs above> |
|
||||||
|
|
||||||
<This service has undergone significant changes in its recent commits, including updates to Caddy reverse proxy configuration and Uptime Kuma monitoring integration. Review these sections to ensure you're familiar with the latest implementation details.>
|
<Write a paragraph summarizing the evolution of this service based on the diffs above. If no diffs available, note that this is the initial documentation.>
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
- Generated by Gremlin on 2026-04-07T00:49:28.119Z
|
- Generated by Gremlin on 2026-04-07T01:23:19.980Z
|
||||||
- Source: swarm/homepage.yaml
|
- Source: swarm/homepage.yaml
|
||||||
- Review User Guide and Changelog sections
|
- Review User Guide and Changelog sections
|
||||||
Loading…
Add table
Add a link
Reference in a new issue