Other needs
Expose web server to internet
Using Caddy this becomes easy. Deploy the server with
/etc/caddy/Caddyfile
your-server-name.duckdns.org {
# Generate password storing hash with: caddy hash-password
basic_auth {
# Username "iib", password "bewegung"
iib $2a$14$basROD3Y0cLE.VqXd.h89.akCQDKzhp6IH9ND2CRFyEICkMrKn3AO
}
root /var/www/iib/
}
Usage of Immich API
To make use of Immich API you need to allow CORS, example
/etc/caddy/Caddyfile
immich.your-server-name.duckdns.org {
header {
Access-Control-Allow-Origin https://your-server-name.duckdns.org
Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Access-Control-Allow-Headers "Content-Type, x-api-key"
}
@options method OPTIONS
respond @options 204
reverse_proxy http://localhost:2283
}
Alternatives
- Add support for https
- E.g. via Let's encrypt
- Use user authentication via
- Authelia, or
- Authentik, or
- Client certificates, or
- Port forwarding over SSH (e.g. using Termius on Android)