Skip to content

Updated the local nextcloud tutorial for better use for non technical persons#112

Open
remko48 wants to merge 2 commits into
developmentfrom
tutorial/local-nextcloud-instance
Open

Updated the local nextcloud tutorial for better use for non technical persons#112
remko48 wants to merge 2 commits into
developmentfrom
tutorial/local-nextcloud-instance

Conversation

@remko48
Copy link
Copy Markdown
Member

@remko48 remko48 commented May 21, 2026

tutorial: expand local Nextcloud tutorial for non-technical users

Summary

  • Rewrote the "Nextcloud lokaal draaien" tutorial (NL) to be accessible to users with no prior terminal or Docker experience, expanding from ~15 min to ~30 min estimated reading time.
  • Added OS-aware tab sections (<OSTabs>) that auto-detect Windows, Mac, or Linux and show step-by-step instructions tailored to each platform — including how to open a terminal, install WSL 2, and install Docker Desktop.
  • Added a Troubleshooting section and a prominent disclaimer that this is a local dev environment, not for real/sensitive data.
  • Added npm run preview script to package.json for a one-command production build preview.
  • Fixed inline <code> vertical alignment in site.css so inline code no longer drops below the surrounding text baseline.

@WilcoLouwerse
Copy link
Copy Markdown
Contributor

🟡 Missing PR description

This PR makes non-trivial changes (816 additions across 4 files) but has no description. The title is descriptive, but a short description covering:

  • What changed and why (e.g. "rewrite for non-technical audience — adds OS-tabbed instructions, fleshes out Step 0, adds Troubleshooting component")
  • Notable behavioral additions (e.g. OSTabs UA-detection component, Client Push rename, preview npm script)
  • Anything reviewers should know that is not obvious from the diff

…makes future maintainers (and the GitHub release notes generator) far happier. Not a blocker — review continues with APPROVE.

Copy link
Copy Markdown
Contributor

@WilcoLouwerse WilcoLouwerse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inline observations — see verdict below.


### Wat is Docker?

Docker is een gratis programma waarmee je andere programma's — zoals Nextcloud — in een afgeschermde omgeving op je laptop kunt draaien. Denk aan virtuale dozen: Nextcloud, de database en de cache draaien elk in hun eigen doos en beïnvloeden niets buiten die doos. Als je klaar bent, gooi je de dozen weg en is je laptop weer schoon.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Worth addressing: virtualevirtuele. The Dutch adjective is virtueel; the plural attributive form is virtuele dozen.


Type in the terminal:

```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Minor: the Mac and Linux sibling blocks below use ```bash; this Windows one is a bare ``` and renders without highlighting — small visual inconsistency across the three OS tabs. Same applies to the bare ``` around the http://localhost:8080 URL at line 277 (a ```text fence is the conventional choice for a URL-only block). The Dutch mirror has the same pattern.


export function OSTabs({children}) {
const [osKey, setOsKey] = useState('ssr');
const [os, setOs] = useState('windows');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Minor: useState('windows') hardcodes the SSR default. On Mac/Linux clients the page renders the Windows tab during SSR; the useEffect then swaps osKey after hydration, causing a brief tab-flicker on first paint. Functional, just a small UX glitch. Docusaurus' usual fix is to wrap the detection branch in <BrowserOnly> from @docusaurus/BrowserOnly, or to omit defaultValue and let the groupId localStorage hydrate the active tab. Mirrors in the Dutch file at the same line.

```

Four services, all official images, no custom build. The `./apps` bind mount is optional. It is handy when you want to drop a Conduction app next to the installation as a zip instead of going through the app store. `notify_push` is the WebSocket push server that Conduction apps use for realtime updates. More on that in step 5.
The file describes four services: Nextcloud itself, a database (Postgres), a cache (Redis), and a live-update system (notify_push). All official, free images — Docker downloads them automatically in the next step.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Minor: this prose introduces the live-update service as notify_push, then Step 4 onwards renames it to Client Push for user-facing references. Non-technical readers may not connect the two names. Consider picking one user-facing name (Client Push) here too, and keeping notify_push only in the Docker service block and occ commands. Same in the Dutch mirror around the equivalent line.

Copy link
Copy Markdown
Contributor

@WilcoLouwerse WilcoLouwerse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blockers — friendly, well-paced rewrite for a non-technical audience. Worth addressing before merge: Dutch typo virtualevirtuele and a missing PR description. Three minor polish notes on the side: <OSTabs> SSR default hardcodes Windows, Windows notepad code block has no language hint, and notify_push is named once in prose before being relabelled to Client Push which may confuse beginners.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants