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: '12'
[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 docusaurus-init
.
[isabell@stardust ~]$ mkdir docusaurus
[isabell@stardust ~]$ cd docusaurus
[isabell@stardust docusaurus]$ npm install --global docusaurus-init
(...)
[isabell@stardust docusaurus]$ docusaurus-init
(...)
[isabell@stardust docusaurus]$
Setup daemon¶
Create ~/etc/services.d/docusaurus.ini
with the following content:
[program:docusaurus]
directory=%(ENV_HOME)s/docusaurus/website
command=npm start
autostart=yes
autorestart=yes
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
[isabell@stardust docusaurus]$ npm update docusaurus
[isabell@stardust docusaurus]$ supervisorctl start docusaurus
[isabell@stardust docusaurus]$
Tested with Docusaurus 1.14.4 and Uberspace 7.6.12
Written by: Thomas Johnson <https://johnson.tj/>