Access
- Open Docusaurus:
http://<SERVER_IP>
Edit & Publish Content
1. Add or edit content files:
/opt/docusaurus/docs
/opt/docusaurus/blog
/opt/docusaurus/src/pages
2. Update /opt/docusaurus/docusaurus.config.js for site settings, navigation, and theme configuration.
3. Rebuild the site:
cd /opt/docusaurus && npm run build
Nginx serves the generated files from: /opt/docusaurus/build
No Nginx restart is required after rebuilding.
Important Paths
- Project:
/opt/docusaurus - Documentation:
/opt/docusaurus/docs - Blog:
/opt/docusaurus/blog - Pages:
/opt/docusaurus/src/pages - Configuration:
/opt/docusaurus/docusaurus.config.js - Build output:
/opt/docusaurus/build - Nginx configuration:
/etc/nginx/sites-available/docusaurus.conf
Domain & HTTPS
1. Point your domain to the server's IP address.
2. Edit Nginx config and replace server_name _; with your domain (e.g., server_name <YOUR_DOMAIN>;):
vim /etc/nginx/sites-available/docusaurus.conf
3. Test the configuration:
nginx -t
4. Install Certbot:
apt install -y certbot python3-certbot-nginx
5. Generate a Let's Encrypt certificate:
certbot --nginx --non-interactive --agree-tos --email <YOUR_EMAIL> -d <YOUR_DOMAIN>
6. Reload Nginx:
systemctl reload nginx
7. Update the Docusaurus site URL: replace url: 'http://<SERVER_IP>', with url: 'https://<YOUR_DOMAIN>', in /opt/docusaurus/docusaurus.config.js.
8. Rebuild the site:
cd /opt/docusaurus && npm run build
9. Open your browser and visit: https://<YOUR_DOMAIN>
Notes
- Docusaurus generates a static website; no database is required.
- Content changes require a new build before appearing publicly.
- Change Docusaurus configuration and project structure based on your preferences.