| sidebar_position | 2 |
|---|---|
| title | Deploy to Production |
| description | SSL, reverse proxy, and production setup |
Guide for deploying JSS in production.
jss start --ssl-key ./key.pem --ssl-cert ./cert.pem --port 443Use certbot to obtain certificates, then point JSS at them:
jss start \
--ssl-key /etc/letsencrypt/live/example.com/privkey.pem \
--ssl-cert /etc/letsencrypt/live/example.com/fullchain.pem \
--port 443server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Create /etc/systemd/system/jss.service:
[Unit]
Description=JavaScript Solid Server
After=network.target
[Service]
Type=simple
User=jss
WorkingDirectory=/opt/jss
ExecStart=/usr/bin/jss start --config /etc/jss/config.json
Restart=always
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl enable jss
sudo systemctl start jss