Docusaurus

Docusaurus makes it easy to maintain Open Source documentation websites.


Note

For this guide you should be familiar with the basic concepts of

Prerequisites

Node and npm

We’re using Node.js in the latest version:

[isabell@stardust ~]$ uberspace tools version show node
Using 'Node.js' version: '18'
[isabell@stardust ~]$

Your website domain needs to be set up:

[isabell@stardust ~]$ uberspace web domain list
isabell.uber.space
[isabell@stardust ~]$

Installation

We create the application directory and install the latest version. The website is created with the classic template in the directory my-website.

[isabell@stardust ~]$ mkdir docusaurus
[isabell@stardust ~]$ cd docusaurus
[isabell@stardust docusaurus]$ npm init docusaurus@latest my-website classic
[...]
[isabell@stardust docusaurus]$

Setup daemon

Create ~/etc/services.d/docusaurus.ini with the following content:

[program:docusaurus]
directory=%(ENV_HOME)s/docusaurus/my-website
command=npm start -- --host 0.0.0.0
autostart=yes
autorestart=yes
startsecs=30

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$

Configure web server

Note

Docusaurus is running on port 3000.

To make the application accessible from the outside, configure a web backend:

[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$

Updates

Note

Check the update feed regularly to stay informed about the newest version.

[isabell@stardust ~]$ supervisorctl stop docusaurus
[isabell@stardust ~]$ cd ~/docusaurus/my-website
[isabell@stardust docusaurus]$ npm update docusaurus
[isabell@stardust docusaurus]$ supervisorctl start docusaurus
[isabell@stardust docusaurus]$

Tested with Docusaurus 3.0.0 and Uberspace 7.15.4

Written by: Thomas Johnson <https://johnson.tj/>