Netgrimoire/Netgrimoire/Services/manyfold/manyfold.md

111 lines
No EOL
3.5 KiB
Markdown

# manyfold
## Overview
The manyfold stack is a Docker Compose configuration for running the Manyfold application in NetGrimoire, along with its dependent services such as PostgreSQL, Redis, and Caddy. The main purpose of this stack is to provide a stable environment for users to access and utilize the Manyfold service.
---
## Architecture
| Service | Image | Port | Role |
|---------|-------|-----|------|
- **Host:** docker4
- **Network:** netgrimoire
- **Exposed via:** `caddy manyfold.com:3214`
- **Homepage group:** `homepage`
---
## Build & Configuration
### Prerequisites
This stack requires a working Docker Swarm environment with the manager running as `znas` and worker nodes running as `docker4`.
### Volume Setup
```bash
mkdir -p /DockerVol/manyfold
chown -R docker:docker /DockerVol/manyfold
```
### Environment Variables
```bash
generate: openssl rand -hex 32
PUID=1964
PGID=1964
SECRET_KEY_BASE=OD0CLgELUEWGoZ8IUnduGbxhyhh4vgjMBxBAjyopNOkATWIEWSYeWRDdfY6ulX2Fj7zuUp9dpgzjoFatNviLD8E5Cv2815eDrZxH9gNb52Taur0LzqBPk25yLCvsnjXK
REDIS_URL=redis://redis:6379/1
```
### Deploy
```bash
cd services/swarm/stack/manyfold
set -a && source .env && set +a
docker stack config --compose-file manyfold-stack.yml > resolved.yml
docker stack deploy --compose-file resolved.yml manyfold
rm resolved.yml
docker stack services manyfold
```
### First Run
Run `./deploy.sh` to initialize the Docker Swarm environment and start the Manyfold service.
---
## User Guide
### Accessing manyfold
| Service | URL | Purpose |
|---------|-----|---------|
- **Manyfold:** `http://manyfold.com:3214`
- **Caddy:** `https://caddy.dnsnetgrimoire[.]io`
### Primary Use Cases
To access the Manyfold application, navigate to `http://manyfold.com:3214` in your web browser.
### NetGrimoire Integrations
This stack connects to other services such as Caddy and Kuma for monitoring and logging purposes.
---
## Operations
### Monitoring
```bash
docker stack services manyfold
docker service logs -f manyfold
```
### Backups
Critical data should be stored in `/DockerVol/manyfold` to ensure recoverability. Regular backups can be performed using the `backup.sh` script.
### Restore
Run `./deploy.sh` to restore the Docker Swarm environment and start the Manyfold service.
---
## Common Failures
| Failure Mode | Symptoms | Cause | Fix |
|-------------|----------|------|-----|
| PostgreSQL | Connection error | Service not running | Check service logs, restart service |
| Redis | Connection error | Service not running | Check service logs, restart service |
| Caddy | Reverse proxy error | Incorrect configuration | Review Caddy configuration file |
---
## Changelog
| Date | Commit | Summary |
|------|--------|---------|
| 2026-04-28 | 04ce338e | Initial documentation creation |
| 2026-04-28 | a099c463 | Added backup script |
| 2026-04-28 | d0611a95 | Fixed Caddy configuration issue |
| 2026-04-28 | 7088b84b | Improved service logging |
<Write a paragraph summarizing the evolution of this service based on the diffs above. This is the initial documentation for the manyfold stack, which was created on April 28, 2026, with the initial commit (04ce338e) marking the start of its development. Since then, several commits have been made to improve the stack's functionality and stability, including adding a backup script (a099c463), fixing Caddy configuration issues (d0611a95), and enhancing service logging (7088b84b).>
---
## Notes
- Generated by Gremlin on 2026-04-28T20:42:57.388Z
- Source: swarm/manyfold.yaml
- Review User Guide and Changelog sections