docs(gremlin): update homepage

This commit is contained in:
traveler 2026-04-06 20:24:52 -05:00
parent fb5cf0dee4
commit 8b07360873

View file

@ -1,50 +1,63 @@
# 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
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
| Service | Image | Port | Role |
|---------|-------|------|-----|
- **Host:** docker4
- **Network:** netgrimoire
- **Exposed via:** homepage.netgrimoire.com, glancenetgrimoire.com (via Caddy)
- **Homepage group:** homepage
| Service | Image | Port | Role |
|---------|-------|------|--------------------------|
| docker4 | | | Host |
| netgrimoire| | | Network |
| Caddy | | | Exposed via: |
| | ghcr.io/gethomepage/homepage:latest | 3000 | Homepage group: homepage.group |
---
## Build & Configuration
### 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
```bash
mkdir -p /DockerVol/homepage/config
chown -R docker:docker /DockerVol/homepage/config
chown -R 1001:1001 /DockerVol/homepage/config
chown -R 1001:1001 /DockerVol/homepage/images
```
### Environment Variables
```bash
# generate: openssl rand -hex 32
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
```bash
cd services/swarm/stack/homepage
set -a && source .env && set +a
docker stack config --compose-file homepage-stack.yml > resolved.yml
docker stack deploy --compose-file resolved.yml homepage
@ -53,50 +66,60 @@ docker stack services homepage
```
### 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
### Accessing homepage
### Accessing Homepage
| Service | URL | Purpose |
|---------|-----|---------|
- **Caddy Reverse Proxy**: http://homepage:3056
Caddy | http://homepage:3000 | Reverse proxy and authentication |
### 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
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
### Monitoring
Monitoring is performed using Uptime Kuma. You can view the monitoring status by running:
```bash
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
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
To restore this stack, you can run the following command:
```bash
cd services/swarm/stack/homepage
./deploy.sh
```
---
## Common Failures
| Symptom | Cause | Fix |
|---------|-------|-----|
- Caddy Reverse Proxy not working | Insufficient configuration or missing environment variables. | Review and update Caddy configuration and environment variables.
- Uptime Kuma monitoring issues | Inconsistent Docker Swarm stack deployment or misconfigured labels. | Verify that the `kuma.*` labels are correctly applied to the service.
| Failure Mode | Symptoms | Cause | Fix |
|-------------|----------|------|-----|
| 1 | | | |
---
@ -104,17 +127,17 @@ cd services/swarm/stack/homepage
| Date | Commit | Summary |
|------|--------|---------|
- 2026-04-06 | e6f86e24 | Initial documentation and migration to swarm configuration. |
- 2026-04-06 | 5db4fdd9 | Updated Caddy reverse proxy configuration and environment variables. |
- 2026-03-22 | c4ac5abf | Added Uptime Kuma monitoring integration. |
- 2026-01-20 | 061ab0c2 | Improved volume setup and mount permissions. |
- 2026-01-10 | 1a374911 | Initial commit with swarm configuration for the homepage stack. |
| 2026-04-06 | fb7d3f0d | <infer what changed from the diffs above> |
| 2026-04-06 | e6f86e24 | <infer what changed from the diffs above> |
| 2026-04-06 | 5db4fdd9 | <infer what changed from the diffs above> |
| 2026-03-22 | c4ac5abf | <infer what changed from the diffs above> |
| 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
- Generated by Gremlin on 2026-04-07T00:49:28.119Z
- Generated by Gremlin on 2026-04-07T01:23:19.980Z
- Source: swarm/homepage.yaml
- Review User Guide and Changelog sections