r/PangolinReverseProxy

Get Alerts When Devices and Network Resources Go Down

Get Alerts When Devices and Network Resources Go Down

We put together a short video covering the new alerting feature introduced in Pangolin 1.18.

It lets you send alerts when things like sites, resources, or standalone health checks change status, so you can get notified when something goes offline instead of finding out from a user later.

We’re also curious what integrations people would find useful next.

Would you rather see Discord, Slack, or something else?

youtube.com
u/HugoDos — 6 hours ago
▲ 286 r/PangolinReverseProxy+1 crossposts

Hello everyone!

Pangolin 1.18 brings HTTPS support for private resources, multi-site high availability routing, uptime tracking, health checks, alert rules, wildcard resources, and more. Let's dig in!

GitHub: https://github.com/fosrl/pangolin

Pangolin is an open-source, identity-aware remote access platform. Use it to securely expose authenticated web applications and private VPN resources to anyone with peer-to-peer zero-trust networking.

https://preview.redd.it/yrj4fzbsqcyg1.png?width=3456&format=png&auto=webp&s=8deba1390d2be6ec6ea5efdb834284333d559703

HTTPS Private Resources

Private HTTP is a new resource type for web workloads. It behaves like a public resource with a domain name and valid TLS but nothing is exposed on the public internet. The hostname resolves to a reverse proxy running in the site connector (Newt) and only serves traffic when the user has an active Pangolin client connection.

https://preview.redd.it/mxs6483tqcyg1.png?width=1730&format=png&auto=webp&s=917528d2af7c82cae70812b07ee0bf64e95cc682

Multi-Site Routing and High Availability

Private resources now support multiple site connectors. Pangolin routes traffic through whichever path is best at the time and automatically fails over if a site goes offline.

https://preview.redd.it/wpvwjhqtqcyg1.png?width=1762&format=png&auto=webp&s=5677b90b3ca3271e4f767c478c51b925017352da

Wildcard Resources

Set the subdomain field to * on a public resource and Pangolin routes every hostname at that level through the same resource and tunnel. Access rules and auth apply across all matched hostnames, and the original Host header is preserved for downstream routing.

And More

1.18 also adds uptime tracking on sites and resources, standalone health checks (HTTP and TCP) that can watch anything on your network, alert rules with email, webhook, the ability to import an identity provider across organizations, and a handful of UI improvements and bug fixes.

https://preview.redd.it/740y4bfneeyg1.png?width=2030&format=png&auto=webp&s=ae0b7f7a9798d002ea2c7a27c4b0bf8169c5d6d1

Check out the full blog post for details on everything in this release: https://pangolin.net/news/1-18-release

As always, available for self-hosting via the Community or Enterprise editions or on Pangolin Cloud. The Enterprise is free for personal use.

If you haven't starred us on GitHub yet, it genuinely helps. Thank you!

reddit.com
u/MrUserAgreement — 13 days ago

Anyone using pangolin AND tailscale?

I am busy moving from a fully manual setup including traefik + TS to pangolin.

Is pangolin ready to fully replace TS?
I tried changing the default networks pangolin uses for gerbil and newt to a different range so it won't interfere with TS but am still hitting a few problems.

It looks like I can replace most of TS's functionality with pangolin but am not sure on a few key points. i.e. currently I use an adguardhome instance as my DNS for all clients and machines across TS. I basically enforce the DNS so not quite sure if this can be fully replicated with pangolin?

Any pointers are welcome.

P.S. The basic issue I have while running both is that with the TS enforced DNS, I can't seem to manage to connect to any private HTTPS resources as TS's DNS resolves to the external IP. I only get to see the "Private Placeholder Screen" even though pangolin on my client device is connected to the network but.

reddit.com
u/ovizii — 14 hours ago

High Availability for WireGuard VPN at the Edge

Our continued coverage of Pangolin 1.18 features next up is private HA resources!

We cover how to set it up, what it looks and what an actual failover looks like!

youtube.com
u/HugoDos — 1 day ago

CrowdSec Manager v2.4.0 - GeoIP-Enriched CrowdSec/Traefik Dashboards, Web UI, and Android App Exclusive Pangolin users

CrowdSec Manager v2.4.0 is out.

This release brings a major visibility upgrade with optional GeoIP enrichment for dashboard data. When configured, CrowdSec Manager enriches both CrowdSec and Traefik dashboard views with location and network context (country, ASN, etc.). Instead of just raw IPs, you get much better insight into where your traffic, alerts, bans, and repeat offenders are coming from.

Big focus in v2.4.0: GeoIP-enriched dashboards

  • Optional GeoIP enrichment for CrowdSec and Traefik analytics
  • Country + network context for alerts, decisions, and logs
  • Improved visibility into attack origins and suspicious traffic
  • More useful dashboard breakdowns and charts
  • Completely optional — works perfectly without GeoIP

Other new changes in v2.4.0

  • New CrowdSec and Traefik log analytics dashboards
  • Decision history analysis with charts and breakdowns
  • Bulk decision deletion
  • Improved decision reapply flows
  • Better alert and decision cache invalidation
  • Shared generated API types between backend, web UI, and mobile app
  • Manager update card in the UI
  • Refreshed Android app branding and navigation
  • Android app updated to v2.4.0 and now marked stable
  • More backend, web, and mobile test coverage

Docker Image
hhftechnology/crowdsec-manager:2.4.0

Recommended Setup: Pangolin VPN

Keep CrowdSec Manager private and access it securely over your Pangolin/WireGuard VPN (do not expose it directly to the internet).

Example Docker Compose (Pangolin + GeoIP):

services:
  crowdsec-manager:
    image: hhftechnology/crowdsec-manager:2.4.0
    container_name: crowdsec-manager
    restart: unless-stopped
    ports:
      - "<PANGOLIN_VPN_IP>:8080:8080"
    environment:
      - PORT=8080
      - ENVIRONMENT=production
      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml
      - TRAEFIK_CONTAINER_NAME=traefik
      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml
      - GEOIP_DATABASE_PATH=/app/geoip/GeoLite2-City.mmdb
      - CROWDSEC_METRICS_URL=http://crowdsec:6060/metrics
      - ALERT_LIST_LIMIT=5000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/config:/app/config
      - /root/docker-compose.yml:/app/docker-compose.yml
      - ./backups:/app/backups
      - ./data:/app/data
      - ./geoip/GeoLite2-City.mmdb:/app/geoip/GeoLite2-City.mmdb:ro
    networks:
      - pangolin

networks:
  pangolin:
    external: true

Alternative: Access via Tailscale

services:
  tailscale:
    image: tailscale/tailscale:latest
    container_name: tailscale-crowdsec
    hostname: crowdsec-manager-ts
    environment:
      - TS_AUTHKEY=your_auth_key_here
      - TS_STATE_DIR=/var/lib/tailscale
    volumes:
      - tailscale-data:/var/lib/tailscale
      - /dev/net/tun:/dev/net/tun
    cap_add:
      - net_admin
      - sys_module
    ports:
      - "127.0.0.1:8080:8080"
    networks:
      pangolin:
        aliases:
          - crowdsec-manager
    restart: unless-stopped

  crowdsec-manager:
    image: hhftechnology/crowdsec-manager:2.4.0
    container_name: crowdsec-manager
    network_mode: service:tailscale
    restart: unless-stopped
    environment:
      - PORT=8080
      - ENVIRONMENT=production
      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml
      - TRAEFIK_CONTAINER_NAME=traefik
      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml
      - GEOIP_DATABASE_PATH=/app/geoip/GeoLite2-City.mmdb
      - CROWDSEC_METRICS_URL=http://crowdsec:6060/metrics
      - ALERT_LIST_LIMIT=5000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/config:/app/config
      - /root/docker-compose.yml:/app/docker-compose.yml
      - ./backups:/app/backups
      - ./data:/app/data
      - ./geoip/GeoLite2-City.mmdb:/app/geoip/GeoLite2-City.mmdb:ro
    depends_on:
      tailscale:
        condition: service_started

networks:
  pangolin:
    external: true

volumes:
  tailscale-data:
    driver: local

GeoIP Setup
Download the free GeoLite2-City.mmdb from MaxMind and mount it as shown above.

Links
GitHub: https://github.com/hhftechnology/crowdsec_manager
Forums: https://forum.hhf.technology Cord: https://discord.gg/HDCt9MjyMJ
Pangolin VPN Discussion: https://github.com/hhftechnology/crowdsec_manager/discussions/31

I’m looking for feedback, especially on the new GeoIP dashboards and the Android app. Bug reports and feature ideas are very welcome!

https://preview.redd.it/awzawmkuv40h1.png?width=1080&format=png&auto=webp&s=9c9372d48a3728639a7debf286b9132b99ead17b

https://preview.redd.it/pc8kinkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=c46cafcccfc80778da318e8c6713e6f0c40c35fb

https://preview.redd.it/fe2hemkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=0794cf18878878607144f1b03695f1b51641a15f

https://preview.redd.it/8jztjmkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=c17eb7fd1e843b1af01bfcdd557a1c9ef0035bc7

https://preview.redd.it/oa8q4tkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=17373f9fdcd1bc6fe3b7e6d32092362546fbabee

https://preview.redd.it/mj9j9nkuv40h1.jpg?width=640&format=pjpg&auto=webp&s=ff64886ee95b7a98004337939a2895029859b7b5

reddit.com
u/riverflow2025 — 4 days ago

Support for self hosted CA certificates

Hi all,

I’m running Pangolin as part of a self-hosted setup and would really like to use certificates issued by my own Smallstep CA for boundary services. I have a ... .home.arpa setup I cannot use letsencrypt for and would really like to certify my subdomains.

The goal is to keep services private, avoid exposing them publicly just for ACME/Let’s Encrypt flows, and still have clean HTTPS with certificates trusted by my own devices.

--

Use case:

Internal homelab services behind Pangolin

Private/internal DNS names

Smallstep CA issuing certificates

Pangolin using those certs for reverse proxy TLS

reddit.com
u/luckyvb — 1 day ago

Private HTTPS Resources with custom SNI and Host Header

Hi everyone,

I’m setting up private HTTPS resources using pangolin. Traffic is routed through newt container to my caddy container.

My Caddy instance currently only listens on TLS port 443 and uses virtual hosts, so it relies on correct SNI + Host header matching to route traffic properly.

For public resources, I can set the SNI and host header, but this seems to be missing for private HTTPS Resources?

Is it possible to explicitly set or override SNI and/or the Host header for private HTTPS resources in a similar way?

I got the setup working if I use HTTP Pangolin/Newt to Caddy, though with this setup I would need to maintain two vHosts per site (one for https traffic not coming from pangolin and one for http). Is there something I'm currently overlooking?

Thanks for your input and advice!

reddit.com
u/pxxbn — 4 days ago

Has anyone been able to get Mealie working successfully with Pangolin? I've had it proxied in the past with SWAG, and on my home network I can access it directly at IP:port.

I've got it proxied through Pangolin at the moment and the healthcheck appears OK, but whenever I try to access it, I get a 500 error

reddit.com
u/shaftspanner — 7 days ago

We created a quick introduction video for private http resources, how to configure them and how the certificate generation works at the high level.

What feature should we highlight next from 1.18?

u/HugoDos — 9 days ago

GitOps for Pangolin: The CI/CD Blueprint Workflow with GitHub Actions

We release a video on how you can utilize a GitOps repo to make changes to Pangolin via the integration api.

What other use cases should we cover next?

youtu.be
u/HugoDos — 6 days ago

I updated my Pangolin instance to v18.0 yesterday and then to v18.1 this AM. I noticed something new that I think may be causing trouble with accessing my self-hosted apps.

In the Public: Resources tab, there is a new icon that shows that the certificates for my subdomains are pending.

If I click on any of my resources to edit them, a new title bar appears indicating that the certificates are pending for that resource.

Can anyone help me understand what is going on? When I check the acme.json file, I can see it was updated today (reboot following Pangolin update).

It appears that this is impacting my ability to reach resources that are directly proxied by Pangolin, i.e.; Pangolin-->Newt-->Nextcloud = Site can't be reached
This also occurs when proxying services locally on the same VPS as Pangolin.

However, most of my resources aren't affected (yet) because I run most of my resources behind SWAG internally, i.e,; Pangolin-->Newt-->SWAG-->Vaultwarden = site reachable

Also, I have configured Pangolin/Traefik to use DNS challenge to pull domain/wildcard certificates.

Let me know if anyone has any ideas why my certs are pending.

Thanks!!!

reddit.com
u/Long-Package6393 — 13 days ago

Hi, I have and ubuntu vm with newt and it works well but pangolin dashboard shows downtime 100% despite being online and working

https://preview.redd.it/cdqihiqrrvyg1.png?width=1694&format=png&auto=webp&s=0cb02949dbe790b1b4fd0514b781f3076ab83f4f

newt logs are fine too

[newt] 2026-05-03T07:31:39.x INFO: 2026/05/03 07:31:39 Newt version 1.12.3
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Server version: 1.18.1
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Websocket connected
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Connecting to endpoint: xx.xx.xx.xx
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Tunnel connection to server established successfully!
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Started tcp proxy to xx.xx.xx.xx
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Started tcp proxy to xx.xx.xx.xx
[newt] 2026-05-03T07:31:40.x INFO: 2026/05/03 07:31:40 Started tcp proxy to xx.xx.xx.xx
[newt] 2026-05-03T07:32:00.x INFO: 2026/05/03 07:32:00 SendMessageInterval timed out after 10 attempts for message type: newt/wg/get-config

Any ideas? thx

reddit.com
u/Kraizelburg — 11 days ago

At the moment I have a NPM on my hs, which can redirect me to local services and to vps services too through Tailscale. Now I'd like to use Pangolin for this, but I don't know how.

How I use Tailscale and NPM is the following: I have my admin.mydomain.com directed to my server's Tailscale IP. In case of Dockge, NPM redirects to 172.17.0.1, for local instance, and for the server's instacen it redirects me to the Tailscale IP of the VPS. Now I'd like to change Tailscale to Pangolin, but I couldn't figure out how could I make the two PC see each others like they don with Tailscale.

reddit.com
u/Guy_In_Between — 11 days ago

Hey guys,

my SMPT won't work and I don't know why, Claude also don't know.

This is my config, I'm using mailbox.org and there an application passwort:

# To see all available options, please visit the docs:
# https://docs.pangolin.net/

gerbil:
    start_port: 51820
    base_endpoint: "pangolin.domain.cloud"

app:
    dashboard_url: "https://pangolin.domain.cloud"
    log_level: "info"
    telemetry:
        anonymous_usage: true

domains:
    domain1:
        base_domain: "domain.cloud"

server:
    secret: "longsecret"
    cors:
        origins: ["https://pangolin.domain.cloud"]
        methods: ["GET", "POST", "PUT", "DELETE", "PATCH"]
        allowed_headers: ["X-CSRF-Token", "Content-Type"]
        credentials: false
    maxmind_db_path: "./config/GeoLite2-Country.mmdb"

email:
  smtp_host: smtp.mailbox.org
  smtp_port: 587
  smtp_user: name@mailbox.org
  smtp_pass: "abcd-abcd-abcd-abcd"
  smtp_secure: false
  no_reply: name@domain.cloud

flags:
    require_email_verification: false
    disable_signup_without_invite: true
    disable_user_create_org: false
    allow_raw_resources: true

2026-05-03T19:09:39+00:00 [error]: Invalid login: 535 5.7.8 Error: authentication failed:
Stack: Error: Invalid login: 535 5.7.8 Error: authentication failed:
    at SMTPConnection._formatError (/app/node_modules/nodemailer/lib/smtp-connection/index.js:887:19)
    at SMTPConnection._actionAUTHComplete (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1695:34)
    at SMTPConnection.<anonymous> (/app/node_modules/nodemailer/lib/smtp-connection/index.js:626:26)
    at SMTPConnection._processResponse (/app/node_modules/nodemailer/lib/smtp-connection/index.js:1072:20)
    at SMTPConnection._onData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:847:14)
    at SMTPConnection._onSocketData (/app/node_modules/nodemailer/lib/smtp-connection/index.js:217:44)
    at TLSSocket.emit (node:events:509:28)
    at addChunk (node:internal/streams/readable:563:12)
    at readableAddChunkPushByteMode (node:internal/streams/readable:514:3)
    at Readable.push (node:internal/streams/readable:394:5) {"code":"EAUTH","response":"535 5.7.8 Error: authentication failed: ","responseCode":535,"command":"AUTH PLAIN"}
u/alienus333 — 10 days ago

as most of us are using VPS in a shared environment to host pangolin, what are your thoughts on this issue?

it is possible for someone on the shared server to reach root access, and with that access they may be able to access the files on your VPS.

due to this, for now i was planning to shutdown newt on my home machine to stop the pangolin service on my VPS until i know my provider (hetzner) has patched their systems.

reddit.com
u/wallacebrf — 13 days ago

Hello, I have problem with all private resources. I have installed pangolin iOS client and connected. When I access no matter which private resource for example opnsense.domain.com, I get the login screen, I log in and after that I get Private Placeholder Screen: This domain is being used on a private resource. Please connect using the Pangolin client to access this resource.
It happens with all private resources

reddit.com
u/zkiprov — 12 days ago