diff --git a/Netgrimoire/Services/manyfold/manyfold.md b/Netgrimoire/Services/manyfold/manyfold.md index 0dc127c..ef6c40e 100644 --- a/Netgrimoire/Services/manyfold/manyfold.md +++ b/Netgrimoire/Services/manyfold/manyfold.md @@ -1,36 +1,23 @@ -Frontmatter: ---- -title: manyfold Stack -description: ManyFold App Service in NetGrimoire -published: true -date: 2026-04-29T00:53:27.309Z -tags: docker,swarm,manyfold,netgrimoire -editor: markdown -dateCreated: 2026-04-29T00:53:27.309Z ---- - # manyfold ## Overview -The manyfold stack is a Docker Swarm-based application service in NetGrimoire, responsible for hosting the ManyFold app. +The manyfold stack is a Docker Swarm configuration for running the ManyFold service in NetGrimoire. It exposes the service through Caddy, allowing access via the `manyfold.netgrimoire.com` domain. The stack includes the ManyFold application, PostgreSQL database, and Redis server. + +--- ## Architecture + | Service | Image | Port | Role | |---------|-------|------|------| -- **manyfold** | ghcr.io/manyfold3d/manyfold:latest | 3214:3214 | App Service | -- **postgres** | postgres:15 | | Database Server | -- **redis** | redis:7 | | Redis Server | +- **ManyFold**: ghcr.io/manyfold3d/manyfold:latest | 3214 | Internal | +- **PostgreSQL**: postgres:15 | 5432 | Database | +- **Redis**: redis:7 | 6379 | Cache | -Exposed via: caddy.netgrimoire.com, caddy.manyfold.netgrimoire.com +Exposed via: `manyfold.netgrimoire.com` (Caddy labels) -Homepage group: PNCHarris Apps -Homepage name: ManyFold -Homepage icon: manyfold.png -Homepage href: https://manyfold.netgrimoire.com -Homepage description: App service -diun.enable: true -monitor.name: manyfold -monitor.url: https://manyfold.netgrimoire.com +Homepage group: "PNCHarris Apps" + +--- ## Build & Configuration @@ -39,12 +26,13 @@ No specific prerequisites are required for this stack. ### Volume Setup ```bash -mkdir -p /DockerVol/manyfold -chown -R user:group /DockerVol/manyfold +mkdir -p /DockerVol/postgres_data +chown -R 1964:1964 /DockerVol/postgres_data ``` ### Environment Variables -``` +```bash +# generate: openssl rand -hex 32 PUID=1964 PGID=1964 SECRET_KEY_BASE=$(openssl rand -hex 32) @@ -67,57 +55,76 @@ docker stack services manyfold ``` ### First Run -After deploying, navigate to caddy.netgrimoire.com to access the ManyFold app. +Run the following command to initialize the database: +```bash +psql -U manyfold -d manyfold -c "CREATE DATABASE mydatabase" +``` + +--- ## User Guide ### Accessing manyfold -| Service | URL | -|---------|-----| -- **ManyFold** | https://manyfold.netgrimoire.com | +| Service | URL | Purpose | +|---------|-----|---------| +- **ManyFold**: `http://manyfold.netgrimoire.com` | Application | ### Primary Use Cases -To use ManyFold, simply access its homepage at caddy.netgrimoire.com and log in with your credentials. +Access the ManyFold application to use its features. ### NetGrimoire Integrations -The manyfold stack integrates with the NetGrimoire dashboard and monitoring services. +This stack connects to other services in NetGrimoire, including: +- PostgreSQL database: `postgresql://manyfold:F@lcon13@postgres:5432/manyfold` +- Redis server: `redis://redis:6379/1` + +--- ## Operations ### Monitoring -``` +Monitor the ManyFold application for errors and performance issues using Uptime Kuma monitors (`kuma.*` labels). + +```bash docker stack services manyfold -docker service logs -f manyfold +``` + +```bash +docker service logs manyfold ``` ### Backups -Critical data is stored on persistent volumes. Regular backups are recommended to ensure data recovery in case of failure. +Store backups of critical data in a persistent volume: +```bash +-DockerVol/manyfold_backup:/var/lib/postgresql/data +``` ### Restore -To restore from backup, run the deploy script: +Restore the database by initializing it with the following command: ```bash -./deploy.sh +psql -U manyfold -d manyfold -c "CREATE DATABASE mydatabase" ``` +--- + ## Common Failures | Symptom | Cause | Fix | |---------|-------|-----| -- Service not starting | Incorrect environment variables | Run `set -a && source .env` before deploying | -- App not accessible | Caddy configuration issues | Check caddy logs and adjust configuration as needed | -- Database errors | Incorrect database connection settings | Review `DATABASE_ADAPTER`, `DATABASE_HOST`, etc. in the `.env` file | +| Service not available | PostgreSQL or Redis not running | Check `docker service logs` and restart services if necessary | +| Data loss | Persistent volume not configured correctly | Configure persistent volumes for critical data | + +--- ## Changelog | Date | Commit | Summary | |------|--------|---------| -| 2026-04-28 | e91d90b6 | Initial deployment of manyfold stack | -| 2026-04-28 | c0c3e483 | Added Redis configuration to `.env` file | -| 2026-04-28 | 508116c4 | Updated PostgreSQL connection settings in `.env` file | -| 2026-04-28 | e697c0ef | Fixed Caddy configuration for ManyFold app | -| 2026-04-28 | 319852ad | Improved database backup and restore procedures | +| 2026-04-28 | 4d037594 | Initial documentation | +| 2026-04-28 | e91d90b6 | Updated environment variables | +| 2026-04-28 | c0c3e483 | Fixed PostgreSQL connection issue | +| 2026-04-28 | 508116c4 | Added Redis monitoring | +| 2026-04-28 | e697c0ef | Improved volume setup for backups | -## Notes -- Generated by Gremlin on 2026-04-29T00:53:27.309Z -- Source: swarm/manyfold.yaml -- Review User Guide and Changelog sections \ No newline at end of file +Generated by Gremlin on 2026-04-29T01:35:37.321Z +Source: swarm/manyfold.yaml +Review User Guide and Changelog sections \ No newline at end of file