{"id":50334307,"url":"https://github.com/weaponsforge/fumadocs-template","last_synced_at":"2026-05-29T12:30:22.274Z","repository":{"id":324851376,"uuid":"1098595604","full_name":"weaponsforge/fumadocs-template","owner":"weaponsforge","description":"Clean, beautiful, modular documentation template built with Fumadocs + Google OAuth2 and Docker configs","archived":false,"fork":false,"pushed_at":"2026-04-13T13:06:54.000Z","size":1406,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-04-13T14:14:34.198Z","etag":null,"topics":["documentation","fumadocs","nextjs","nextjs-app-router","nextjs-template"],"latest_commit_sha":null,"homepage":"https://fumadocs-template-ten.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaponsforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-17T22:36:08.000Z","updated_at":"2026-04-13T13:04:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/weaponsforge/fumadocs-template","commit_stats":null,"previous_names":["weaponsforge/muonline-docs","weaponsforge/fumadocs-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/weaponsforge/fumadocs-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaponsforge%2Ffumadocs-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaponsforge%2Ffumadocs-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaponsforge%2Ffumadocs-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaponsforge%2Ffumadocs-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaponsforge","download_url":"https://codeload.github.com/weaponsforge/fumadocs-template/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaponsforge%2Ffumadocs-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33652976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","fumadocs","nextjs","nextjs-app-router","nextjs-template"],"created_at":"2026-05-29T12:30:19.453Z","updated_at":"2026-05-29T12:30:22.262Z","avatar_url":"https://github.com/weaponsforge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fumadocs-template\n\nThis is a Next.js (App Router) application generated with\n[Create Fumadocs](https://github.com/fuma-nama/fumadocs) using the **Next.js: Fumadocs MDX** option.\n\nIt features basic setup, configurations, sign-in authentication, and tooling to standardize using Fumadocs as a template.\n\n\u003e Next application code lives inside the `/src` directory.\n\n### Demo\n\nhttps://fumadocs-template-ten.vercel.app/\n\n### 📋 Requirements\n\n#### 1. NodeJS v24\n\n```text\nRecommended version (used within this project)\nnode v24.11.0\nnpm v11.6.1\n```\n\n#### 2. Google OAuth2 Client (optional)\n\n- This requires a Google Cloud Platform project configured with [OAuth2](https://developers.google.com/workspace/guides/configure-oauth-consent) settings and [credentials](https://developers.google.com/workspace/guides/manage-credentials).\n- Read on the Google [Gmail](https://developers.google.com/gmail/api/guides), [SMTP and OAuth2 Setup](https://github.com/weaponsforge/email-sender?tab=readme-ov-file#using-the-oauth-20-playground) sections for more information.\n- Retrieve the `GOOGLE_CLIENT_ID` and `GOOGLE_CLIENT_SECRET` environment variable values here.\n- Add the following in your Google Client ID's **Authorized redirect URIs**:\n   - https://\u003cYOUR_DEPLOYED_APP_ROOT_DOMAIN\u003e/api/auth/callback/google\u003cbr\u003e\n   - eg., `http://localhost:3000/api/auth/callback/google` (when working in local development)\n\n\u003e [!TIP]\n\u003e Setup required only if you want to enable Google sign-in\u003cbr\u003e\n\u003e To allow unrestricted access on all routes, set `matcher: []` in the `/docsapp/src/proxy.ts` file.\n\n#### 3. Docker (optional)\n\n## 📖 Run development server\n\n#### 1. Navigate to the `/docsapp` directory\n\n```sh\ncd docsapp\n```\n\n#### 2. Install dependencies.\n\n```sh\nnpm install\n```\n\n#### 3. Run the app\n\n```bash\nnpm run dev\n```\n\n#### 4. Launch the local website.\n\nOpen http://localhost:3000 with your browser to see the result.\n\n\u003e [!NOTE]\n\u003e Look over the [Ennvironment Variables](#environment-variables) section for more building and Authentication options.\n\n\u003cbr\u003e\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.\n\n\u003cbr\u003e\n\n## ⚡ Quickstart\n\n\u003e [!TIP]\n\u003e Set `IS_WEBPACK=1` and `WATCHPACK_POLLING=true` to enable hot reloading in development mode when running in Docker on Windows, as Turbopack is currently unreliable in this setup.\n\nUsing Docker\n\n1. Set up the environment variables in the `/docsapp` directory. Refer to the [Environment Variables](#environment-variables) for more information.\n\n2. Build the image for local development..\u003cbr\u003e\n   ```sh\n   docker compose build --no-cache\n   ```\n\n3. Run the container for local development.\u003cbr\u003e\n   ```sh\n   docker compose up\n   ```\n\nOpen http://localhost:3000 with your browser to see the result.\n\n## Explore\n\n\u003e [!NOTE]\n\u003e The Fumadocs app lives inside the `/docsapp` directory.\n\u003e All files and folders referenced in the following sections are relative to the `/docsapp` directory.\n\nIn the project, you can see:\n\n- `lib/source.ts`: Code for content source adapter, [`loader()`](https://fumadocs.dev/docs/headless/source-api) provides the interface to access your content.\n- `lib/layout.shared.tsx`: Shared options for layouts, optional but preferred to keep.\n\n| Route                     | Description                                            |\n| ------------------------- | ------------------------------------------------------ |\n| `app/(home)`              | The route group for your landing page and other pages. |\n| `app/docs`                | The documentation layout and pages.                    |\n| `app/api/search/route.ts` | The Route Handler for search.                          |\n\n### Fumadocs MDX\n\nA `source.config.ts` config file has been included, you can customise different options like frontmatter schema.\n\nRead the [Introduction](https://fumadocs.dev/docs/mdx) for further details.\n\n## Learn More\n\nTo learn more about Next.js and Fumadocs, take a look at the following\nresources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js\n  features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n- [Fumadocs](https://fumadocs.dev) - learn about Fumadocs\n\n## Environment Variables\n\n\u003e [!WARNING]\n\u003e Ensure only one of `IS_BUILD_STATIC` or `IS_BUILD_DOCKER` has a value of `1` to avoid build conflicts.\n\nCreate a `.env.local` file from the `.env.example` file.\n\n| Variable | Description |\n| --- | --- |\n| GOOGLE_CLIENT_ID | Google OAuth2 client ID linked with your Google Cloud Platform project. |\n| GOOGLE_CLIENT_SECRET | Google OAuth2 client secret associated with the `GOOGLE_CLIENT_ID` |\n| NEXTAUTH_SECRET | Your nextauth secret (any random string will do) |\n| NEXTAUTH_URL | Your root domain URL |\n| ALLOWED_EMAIL_DOMAINS | Allowed Google email domains to sign-in with Google eg., `gmail.com`, `company.com`.\u003cbr\u003e\u003cquote\u003eLeave it blank or unset if you want to allow sign-in from all **Gmail domains**.\u003c/quote\u003e |\n| ALLOWED_EMAILS | Hard-coded list of comma-separated emails allowed to sign-in with Google.\u003cbr\u003e\u003cquote\u003eLeave it blank or unset if you want to allow sign-in from all **Google accounts**.\u003c/quote\u003e |\n| IS_BUILD_DOCKER | If value is `1`, builds the NextJS app for Docker in production using the standalone mode build into the `/docsapp/.next/standalone` and `/docsapp/.next/static` directories. |\n| IS_BUILD_STATIC | If value is `1`, builds and exports the NextJS app into a static build in the `/docsapp/out` directory when running `\"npm run build\"`\u003cbr\u003e\u003cbr\u003e⚠️ Fumadocs (or any Next.js) app that uses heavy React Server Components (RSC) and Next.js server features will fail to build as a static output. Te enable true static export, [adjust necessary settings](https://nextjs.org/docs/app/guides/static-exports) in the `next.config.mjs` file and the overall app before export. |\n| IS_WEBPACK | Set to `1` to run the app in development mode using **Webpack**. \u003cbr\u003e\u003cbr\u003e⭐ **IMPORTANT**: When running the app via **Docker** on Windows OS (`docker compose up`), this must be set to `1` to enable hot reload.|\n| WATCHPACK_POLLING | Set to `true` to enable Webpack-based hot reloading when running the app in Docker on Windows. Required because Turbopack hot reload is currently unreliable in this setup (Docker + Windows). |\n| APP_NAME | Name of your Fumadocs documentation app. Defaults to `\"Fumadocs Template\"` |\n| GH_USERNAME | Your GitHub username |\n| GH_REPOSITORY | GitHub repository containing this documentation app |\n| GH_REPO_DEFAULT_BRANCH | Default branch of the `GH_REPOSITORY`. Defaults to `\"main\"` |\n\n@weaponsforge\u003cbr\u003e\n20251118\u003cbr\u003e\n20260320\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaponsforge%2Ffumadocs-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaponsforge%2Ffumadocs-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaponsforge%2Ffumadocs-template/lists"}