This guide covers multiple installation methods for DocuBase, from quick setup to manual configuration.
System Requirements
Before installing DocuBase, ensure your system meets these requirements:
| Requirement | Minimum | Recommended |
|---|---|---|
| Node.js | v18.0.0 | v20.0.0+ |
| RAM | 4GB | 8GB+ |
| Disk Space | 500MB | 1GB+ |
Check your Node version
Run node --version in your terminal to verify your Node.js installation.
Verify Prerequisites
Run these commands to check your system readiness
# Check Node.js version
node --version
# Check npm version
npm --version
# Check git version
git --version Quick Installation
The fastest way to get started is using the CLI:
Create your project
Run the create command using your preferred package manager:
npx create-docubase my-docspnpm create docubase my-docsyarn create docubase my-docsThe CLI will:
- Create a new directory with your project name
- Copy the DocuBase template files
- Prompt you to install dependencies
Navigate to your project
cd my-docs Start development server
Launch the development server:
npm run devpnpm devyarn devbun devOpen http://localhost:4321 in your browser.
Alternative: Clone from GitHub
You can also clone the repository directly:
git clone https://github.com/Sithumli/DocuBase.git my-docs
cd my-docs
npm install
Manual Installation
If you prefer to set up DocuBase from scratch or integrate it into an existing project:
1. Create a new Astro project
npm create astro@latest my-docs
2. Install required dependencies
npm install @astrojs/mdx @astrojs/tailwind tailwindcss
3. Configure Astro
Update your astro.config.mjs:
import { defineConfig } from 'astro/config';
import mdx from '@astrojs/mdx';
import tailwind from '@astrojs/tailwind';
export default defineConfig({
integrations: [mdx(), tailwind()],
output: 'static'
});
4. Set up content collections
Create src/content.config.ts:
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';
const docs = defineCollection({
loader: glob({ pattern: "**/*.mdx", base: "./src/content/docs" }),
schema: z.object({
title: z.string(),
description: z.string().optional(),
order: z.number().optional(),
category: z.string().optional(),
}),
});
export const collections = { docs };
Verifying Installation
After installation, verify everything works correctly:
Check the homepage
Navigate to http://localhost:4321 and confirm the homepage loads.
Test documentation pages
Visit http://localhost:4321/docs/getting-started to verify documentation rendering.
Check for errors
Look at your terminal for any build warnings or errors.
Common issues
If you see dependency errors, try deleting node_modules and your lockfile, then reinstalling.
Troubleshooting
Environment Configuration
DocuBase works out of the box, but you can customize it with environment variables:
| Variable | Description | Default |
|---|---|---|
| PUBLIC_SITE_URL | Your site's public URL | http://localhost:4321 |
| PUBLIC_SITE_NAME | Display name for your docs | DocuBase |
| PUBLIC_SITE_DESCRIPTION | Site meta description | Documentation site |
Example .env file
Create a .env file in your project root
# Site Configuration
PUBLIC_SITE_URL=https://your-docs.vercel.app
PUBLIC_SITE_NAME=My Documentation
PUBLIC_SITE_DESCRIPTION=Documentation for my awesome project Environment variables
Variables prefixed with PUBLIC_ are exposed to the client-side. Keep sensitive values without this prefix.
Updating DocuBase
To update to the latest version (if you cloned from GitHub):
git pull origin main
npm installgit pull origin main
pnpm installgit pull origin main
yarn installgit pull origin main
bun installInfo
Check the changelog before updating to review any breaking changes.
Next Steps
Now that you have DocuBase installed, here’s what to do next:
- Getting Started - Learn the basics and start building your documentation
- Core Concepts - Understand how DocuBase works under the hood
- Components - Explore all available components and how to use them
Need help?
If you run into any issues during installation, check the troubleshooting section above or visit our GitHub repository to report a bug.