Here we document one possible way to set up Community Solid Server (CSS), including https and default app — Mashlib.
This instruction is for CSS v7 — latest version at the time of writing.
Steps:
- Own a domain name and point it to the server's IP address
- Create a dedicated Linux user
- Prepare project folder structure
- Install Community Solid Server
- Set up nginx, and certificates with LetsEncrypt
- CSS Configuration
- Run CSS with pm2
- Set up Mashlib
- Backup data regularly with cron
You'll need:
- a domain name
- a server with Debian 11 and static IP address, VPS from a server provider will do
- Node and npm installed, maybe also NVM (Node Version Manager)
- pm2 installed
- nginx installed
- ftp server to backup the data
We mark placeholders [placeholder]. You should always replace them with your own string. For example replace [port] with 3456. Whatever you choose instead of the placeholders, keep it consistent across this whole instruction.
[user]- linux user to run the CSS server[projectname]- folder name in[user]'s home environment where we keep everything[port]- port on which the CSS will run locally; no other application should run on the same port; choose 4 numbers like3456[your.domain]- the domain on which the server is going to run
You need to run some commands as root, and others as regular [user]. Make sure you always run them as the correct user. It matters a lot! You may even want to open 2 ssh connections to your server — one as [user], the other as [root].
Look for # run as [user] or # run as root at the beginning of the script snippets.