Accessing Discourse DB with DBeaver
@Milton_Htsi
·
2026-04-25
·
via Discourse Meta - Latest posts
The built-in Data Explorer is fine for quick queries, but if you want to use a real GUI like DBeaver or TablePlus, you have to jump through a few hoops since Discourse’s Postgres is locked inside the Docker bridge. Here is how to expose it safely over a private network (like Tailscale) so you aren’t leaving your DB open to the internet. 1. Map a custom port Discourse usually eats up the standard ports, so I used 5434 . Edit your containers/app.yml : YAML expose: - "80:80" - "443:443" - "5434:5432" # Host 5434 -> Container 5432 Then rebuild: ./launcher rebuild app 2. Firewall Don’t open this port to the public. If you’re using Tailscale or some others tunnels, restrict access to that interface only: Bash sudo ufw allow in on tailscale0 to any port 5434 proto tcp 3. Fix the Auth (The annoying part) Discourse uses peer auth by default, which blocks external password logins. So you need to tell Postgres to allow scram-sha-256 Inside the container ( ./launcher enter app ): Bash echo "host all all 0.0.0.0/0 scram-sha-256" >> /shared/postgres_data/pg_hba.conf sudo -u postgres psql -c "SELECT pg_reload_conf();" 4. Set a password The discourse user doesn’t have a password by default. Set one so app like DBeaver can actually log in to it Bash sudo -u postgres psql -c "ALTER USER discourse WITH PASSWORD 'your_password_here';" 5. Connection Details Host: Your IP Port: 5434 Database: discourse User: discourse
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。