1
Point your address at the server
Add a DNS record for your address, such as
emplio.example.com, pointing at the server’s IP address. Skip this if you use the free address below.2
Open ports 80 and 443
Allow both in the server’s firewall. They are needed to get the HTTPS certificate and to serve Emplio.
3
Run the installer
The free address
Leave the address empty and the installer offers a free one from sslip.io, made from the server’s IP address, like203-0-113-5.sslip.io. It needs no sign-up, but it stops working if the server’s IP address changes.
What the installer sets
With an address, it turns on thehttps profile, which starts Caddy. Caddy fetches and renews the certificate, serves the app at the top of your address and the API under /api. It writes these to .env:
.env
docker compose up -d in ~/emplio.
BIND_ADDRESS
Ports 3000 and 4000 stay onBIND_ADDRESS, which is 127.0.0.1 by default, so only the machine itself can reach them. Caddy reaches Emplio inside Docker. Change it only if you put your own HTTPS proxy in front. That proxy should serve port 3000 at the top and port 4000 under /api with the prefix removed, the way docker/Caddyfile does.
Optional features
Webhooks, email codes and more.
Troubleshooting
When the certificate doesn’t arrive.

