In this video, we are going to set up a self hosted app, Immich (Google Photos replacement), in a linux server behind Nginx Proxy Manager (NPM). We are going to set up two custom domains to reach our Immich application
https://immich.local.mydomain.com
https://immich.tailscale.mydomain.com
These are TRUSTED certs that NPM will fetch using our DNS Provider's (CloudFlare) Api token.
We'll also easily configure GoAccess, which is a log visualizer we'll use to monitor each of the connections that are made to our Immich application. Lastly, we'll also use Portainer to monitor each of these docker applications we set up.
Congratulations! Now you know how to set up a reverse proxy on your server and route custom domains to your applications, without even exposing your server to connections from the internet!
Links in the Video
Nginx Proxy Manager with GoAccess (docker-compose.yml)
📄https://thomaswildetech.com/blog/2025/01/31/using-goaccess-with-nginx-proxy-manager-npm-to-visuallize-logs/
‼️Protect Immich NOW! What to do when a drive FAILS | Restoration
https://youtu.be/9bGArdcfLHM
☁️Connect to Immich with Cloudflare Tunnel AND Tailscale
https://youtu.be/qj8ApQFAjsY
🔐Immich with Google Authentication OAuth
https://youtu.be/Bu8WFh1ns4c
🆕Updating Immich Safely
https://youtu.be/2Dnsg4zH-MU
#selfhosted #nginx
------ Time ---------
00:00 Prequel
00:27 Intro
01:26 Understanding the Network
03:08 Installing Docker & Portainer
05:07 Installing Immich
06:55 Understanding the ports
07:40 Installing Nginx Proxy Manager
11:28 Creating a Proxy Host
12:34 Getting your CloudFlare api token
13:27 Creating your DNS Record
14:19 Rescinding Port Access to Network
15:58 Reconfigure Proxy to LocalHost
16:20 Run Reverse Proxy in Host Mode
17:27 Visualize Access Logs with GoAccess
18:11 Installing Tailscale
19:55 Creating Proxy Host for Tailscale Domain
20:40 Creating DNS Record for Tailscale IP
22:42 View both connected IPs in GoAccess
23:20 Conclusions