docs: simplify documentation for 3D printer users#13
Conversation
Restructure docs with non-technical users in mind: - New Quick Start page using pre-built GHCR image (no cloning/building) - Move building from source to Development section - Simplify Configuration: grouped by Essential vs Optional - Warmer, jargon-free language throughout - Explain Docker concepts for beginners - Simplify permission tables (remove Django internals) - Move Tech Stack to Architecture page - New Advanced section for power-user topics (HTTPS, backup, Docker details) - Fix OrcaSlicer API URL in quick-start docker-compose Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR restructures the MkDocs documentation to be more user-focused for 3D printer enthusiasts, replacing developer-centric “Getting Started/Deployment” content with a clearer Quick Start + Configuration + User Guide + Integrations + Advanced + Development flow.
Changes:
- Reworked MkDocs navigation and doc IA, adding new Quick Start and reorganizing content into user-centric sections.
- Simplified and rewrote key guides (roles/permissions, integrations) with friendlier language and fewer internals.
- Split prior deployment docs into new Advanced pages and added a new Development “Building from Source” page.
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| mkdocs.yml | Updates nav structure to new doc hierarchy. |
| docs/index.md | Refreshes homepage copy and links to new entry points. |
| docs/quick-start.md | Adds new “no git clone” Quick Start using GHCR image. |
| docs/configuration.md | Adds consolidated configuration reference (essential/optional). |
| docs/user-guide/first-steps.md | Updates onboarding flow and links to new Quick Start / Advanced pages. |
| docs/user-guide/projects.md | Small wording/link adjustment to integrations. |
| docs/user-guide/printing.md | Minor list formatting/link adjustment. |
| docs/user-guide/roles.md | Simplifies roles/permissions explanation and matrix. |
| docs/integrations/orcaslicer.md | Simplifies OrcaSlicer integration explanation + troubleshooting. |
| docs/integrations/moonraker.md | Simplifies printer setup and workflow guidance. |
| docs/integrations/spoolman.md | Simplifies Spoolman setup guidance and points to Advanced Docker page. |
| docs/advanced/reverse-proxy.md | Reframes reverse proxy/HTTPS guidance for end users and updates examples. |
| docs/advanced/docker.md | Adds “Docker Details” (tags, healthcheck, full stack example, etc.). |
| docs/advanced/backup.md | Adds new backup/restore guide under Advanced. |
| docs/development/building.md | Adds new “Building from Source” guide for contributors. |
| docs/development/architecture.md | Adds “Tech Stack” section and updates next steps. |
| docs/development/contributing.md | Adjusts “Next Steps” links. |
| docs/getting-started/installation.md | Removes superseded installation guide. |
| docs/getting-started/configuration.md | Removes superseded configuration guide. |
| docs/deployment/docker.md | Removes old deployment page (content moved to Advanced). |
| docs/deployment/docker-compose.md | Removes old docker-compose examples page (content moved to Advanced). |
| docs/deployment/backup.md | Removes old backup page (content moved to Advanced). |
| | Create/edit/delete projects & parts | ✅ | | ✅ | | ||
| | Manage project documents & hardware | ✅ | | ✅ | | ||
| | Add/remove printers | ✅ | ✅ | | | ||
| | Upload G-code & start/cancel prints | ✅ | ✅ | | | ||
| | Import OrcaSlicer profiles | ✅ | ✅ | | | ||
| | Manage filament mappings | ✅ | ✅ | | | ||
| | Add/remove jobs from the print queue | ✅ | ✅ | ✅ | | ||
| | Manage other users | ✅ | | | |
There was a problem hiding this comment.
In this permission matrix the "not allowed" cells are left blank, which makes the table ambiguous (empty can be read as missing data rather than "no"). Use a consistent explicit marker (e.g., ❌ or —) for disallowed actions so the matrix is unambiguous.
| | Create/edit/delete projects & parts | ✅ | | ✅ | | |
| | Manage project documents & hardware | ✅ | | ✅ | | |
| | Add/remove printers | ✅ | ✅ | | | |
| | Upload G-code & start/cancel prints | ✅ | ✅ | | | |
| | Import OrcaSlicer profiles | ✅ | ✅ | | | |
| | Manage filament mappings | ✅ | ✅ | | | |
| | Add/remove jobs from the print queue | ✅ | ✅ | ✅ | | |
| | Manage other users | ✅ | | | | |
| | Create/edit/delete projects & parts | ✅ | ❌ | ✅ | | |
| | Manage project documents & hardware | ✅ | ❌ | ✅ | | |
| | Add/remove printers | ✅ | ✅ | ❌ | | |
| | Upload G-code & start/cancel prints | ✅ | ✅ | ❌ | | |
| | Import OrcaSlicer profiles | ✅ | ✅ | ❌ | | |
| | Manage filament mappings | ✅ | ✅ | ❌ | | |
| | Add/remove jobs from the print queue | ✅ | ✅ | ✅ | | |
| | Manage other users | ✅ | ❌ | ❌ | |
| - [Contributing guide](contributing.md) | ||
| - [Architecture overview](architecture.md) |
There was a problem hiding this comment.
The "Next Steps" section links to contributing.md, which is the current page, so it doesn't help readers navigate. Replace this with links to the next most relevant pages (e.g., Building from Source, Architecture overview, or other developer docs) and avoid self-referential navigation.
| - [Contributing guide](contributing.md) | |
| - [Architecture overview](architecture.md) | |
| - Read the [Architecture overview](architecture.md) to understand the system design. |
|
|
||
| | Variable | What It Does | Default | | ||
| |---|---|---| | ||
| | `ORCASLICER_API_URL` | Where to find the OrcaSlicer API for slicing. If you use the docker-compose from the [Quick Start](quick-start.md), this is set automatically. | `http://localhost:3000` | |
There was a problem hiding this comment.
This says ORCASLICER_API_URL is "set automatically" when using the Quick Start compose, but the Quick Start guide currently has users set it explicitly in the environment: section. Consider rephrasing to "already included in the Quick Start docker-compose" (or similar) to avoid confusion about where it comes from.
| | `ORCASLICER_API_URL` | Where to find the OrcaSlicer API for slicing. If you use the docker-compose from the [Quick Start](quick-start.md), this is set automatically. | `http://localhost:3000` | | |
| | `ORCASLICER_API_URL` | Where to find the OrcaSlicer API for slicing. If you use the docker-compose from the [Quick Start](quick-start.md), this is already included in the configuration. | `http://localhost:3000` | |
| docker run --rm \ | ||
| -v layernexus_layernexus_media:/data:ro \ | ||
| -v "$(pwd)/$BACKUP_DIR":/backup \ | ||
| alpine cp -r /data/ /backup/media/ |
There was a problem hiding this comment.
The "Backup from Named Volumes" command for uploaded files copies the /data directory itself into /backup/media/, which typically results in a nested media/data/... folder rather than a media/<files> layout. Adjust the copy to copy the contents of /data into /backup/media so the backup structure matches the original media directory.
| alpine cp -r /data/ /backup/media/ | |
| alpine cp -r /data/. /backup/media/ |
|
|
||
| ```bash | ||
| docker compose stop web | ||
| docker cp ./backup-media/ $(docker compose ps -q web):/app/media/ |
There was a problem hiding this comment.
The restore command for uploaded files (docker cp ./backup-media/ ...:/app/media/) will usually copy the backup-media directory into /app/media/ (creating /app/media/backup-media/...) instead of restoring the contents back into /app/media/. Use a copy pattern that copies the contents of the backup directory into /app/media/.
| docker cp ./backup-media/ $(docker compose ps -q web):/app/media/ | |
| docker cp ./backup-media/. $(docker compose ps -q web):/app/media/ |
Why
The existing docs were too developer-focused. Most LayerNexus users are 3D printer enthusiasts, not developers. The Quick Start assumed cloning from source instead of using the pre-built Docker image.
What Changed
New Structure
Key Changes
ghcr.io/peterus/layernexus:latest, no git clone neededORCASLICER_API_URLto quick-start docker-composeRemoved
getting-started/installation.md(replaced by quick-start.md)deployment/directory (split into advanced/ and development/)