nextcloud / nextcloud/academy

Hosting: decide the deploy target and get the course online

Open
#30 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
7

Description

The course is not deployed anywhere. Nothing about the app blocks it — this is an infrastructure question.

Why GitHub Pages is not the answer

Pages does not serve private repositories outside GitHub Enterprise Cloud, and this repo is private. So Pages only becomes an option if the repo goes public, which is a separate decision.

The intended path

A Nextcloud-provisioned domain, which needs sysadmin work and will take time. Anna has no access to the website host.

The conversion work, whenever a target exists

The app currently server-renders the track and module routes on demand (ƒ in the build output), so it needs a Node host as-is. It can be made fully static instead — nothing blocks it: no cookies(), headers(), searchParams or fetch anywhere, and all content is filesystem markdown.

For a static deploy:

  • generateStaticParams on app/[track]/[level]/page.tsx and app/[track]/[level]/[module]/page.tsx
  • output: 'export' in next.config.ts
  • basePath if it is served from a subpath (Pages would force /academy)
  • a .nojekyll file — without it Pages strips /_next/, silently breaking every asset
  • a build-and-deploy workflow

Decide first

Static or Node? That answers whether the conversion above is needed at all.

Done when

The course is reachable at a stable URL.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the deployment options and the route files app/[track]/[level]/page.tsx and app/[track]/[level]/[module]/page.tsx, then inspect next.config.ts and the build output. Decide between a static export and a Node host before making conversion changes. Done means the course is reachable at a stable URL.

Written by the indexing model from the issue text.

Assessment

Tech stack
next.js, typescript
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.