Docusaurus makes it easy to maintain Open Source documentation websites.


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


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@stardust ~]$


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:

command=npm start -- --host

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


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 ~]$



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 <>