Repository navigation
Joplin-Server SSL configuration #17969
|
Hello Can somebody help me configure SSL in my Joplin LXC instance? I was looking for guides online and found only many copies of the same guide based on Nginx and Certbot pulling certs from Let's Encrypt. I can't find Nginx in the Joplin community installation, and I'm going to use internal ADCS certs, not Let's Encrypt. I can manage installing the root CA in the system store, but where would I add the host certs? |
Replies: 1 comment 1 reply
|
Joplin Server itself doesn't do TLS, which is why there is no nginx to find. In this install it runs as a plain HTTP app on port 22300 (the server just calls apt install -y caddyADCS usually gives you a .pfx, so split it into PEM files first and append the issuing CA after the host cert, so clients get the full chain: openssl pkcs12 -in joplin.pfx -clcerts -nokeys -out /etc/caddy/joplin.crt
openssl pkcs12 -in joplin.pfx -nocerts -nodes -out /etc/caddy/joplin.key
cat issuing-ca.crt >> /etc/caddy/joplin.crt
chown root:caddy /etc/caddy/joplin.key && chmod 640 /etc/caddy/joplin.keyIf openssl says the PFX uses an unsupported algorithm (older ADCS templates use RC2/3DES, which OpenSSL 3 disables), add
With an explicit cert and key Caddy doesn't try Let's Encrypt at all. Then set A few things to check afterwards: the hostname in the Caddyfile has to match a SAN in the cert, every Joplin client (desktop and mobile) needs your root CA trusted on that device, not only inside the LXC, and Joplin still listens on 22300 on all interfaces, so block that port from outside the container if you want HTTPS only. |
Joplin Server itself doesn't do TLS, which is why there is no nginx to find. In this install it runs as a plain HTTP app on port 22300 (the server just calls
app.listen(config().port)inpackages/server/src/app.ts), so the host cert goes into a small reverse proxy in the same LXC that forwards to 22300. Caddy is the least work on Debian 13:ADCS usually gives you a .pfx, so split it into PEM files first and append the issuing CA after the host cert, so clients get the full chain:
openssl pkcs12 -in joplin.pfx -clcerts -nokeys -out /etc/caddy/joplin.crt openssl pkcs12 -in joplin.pfx -nocerts -nodes -out /etc/caddy/joplin.key cat issuing-ca.crt >> /etc/caddy/joplin.crt …