Machine-readable reading view
How to Access Vaultwarden via a Custom Domain on CyberPanel (with SSL)
Junaid Ahmed · Sep 19, 2025 · Updated Oct 25, 2026
This view keeps the article text and metadata easy to scan. Tools can fetch the raw UTF-8 text; cite the original article.
If you’ve deployed Vaultwarden in Docker and want to access it securely via a custom domain (like vault.yourdomain.com) instead of an IP and port, this step-by-step guide will help you achieve it using CyberPanel and OpenLiteSpeed. In this tutorial, I’ll show you how to expose Vaultwarden (running on http://<server-ip>:8062) under a subdomain with SSL encryption. ✅ Prerequisites • A server with CyberPanel installed (includes OpenLiteSpeed). • Docker running Vaultwarden container. • A registered domain with control over DNS. • Access to your DNS provider. 1. Configure DNS for Your Subdomain First, point your subdomain to your server: • Log into your domain registrar/DNS provider. • Create an A Record: • Host/Name: vault • Value: your server’s public IP (e.g., 123.123.123.123). • TTL: Default (300 seconds is fine). Test with: dig vault.yourdomain.com It should return your server’s IP. 2. Create Website for the Subdomain in CyberPanel • Login to CyberPanel: https://<your-server-ip>:8090. • Go to Websites → Create Website. • Enter details: • Domain: vault.yourdomain.com • Owner: admin or any user • PHP Version: Any (not used for proxy) • Click Create Website. [Screenshot: CyberPanel Create Website Page] CyberPanel will generate a virtual host for this subdomain. 3. Setup Reverse Proxy in OpenLiteSpeed CyberPanel uses OpenLiteSpeed (OLS). We’ll configure OLS to forward requests from vault.yourdomain.com → Vaultwarden container. • Open OLS admin panel: https://<your-server-ip>:7080 • Login with the credentials set during CyberPanel install. Add External App • Navigate: Virtual Hosts → vault.yourdomain.com → External App → Add. • Fill in: • Type: Web Server • Name: vaultwarden • Address: 127.0.0.1:8062 • Leave other defaults → Save. Add Proxy Context • Still in vault.yourdomain.com vhost → Context → Add. • Fill in: • Type: Proxy • URI: / • External App: vaultwarden • Enable WebSocket Proxy: Yes (important for Vaultwarden real-time features) • Save. • Restart OLS gracefully from the top menu. 4. Enable SSL for Your Subdomain Back in CyberPanel: • Go to Websites → List Websites → vault.yourdomain.com → Manage. • Scroll to SSL → Issue SSL. • CyberPanel will request and install a free Let’s Encrypt SSL certificate. Now your Vaultwarden will be available securely at: https://vault.yourdomain.com (https://vault.yourdomain.com) 5. Test Your Setup • Open browser: https://vault.yourdomain.com → Vaultwarden login page should load. • Run a quick check from the server: curl-v http://127.0.0.1:8062/ You should see Vaultwarden HTML output. • Logs for debugging: • OpenLiteSpeed logs: /usr/local/lsws/logs/error.log • Vaultwarden logs: docker logs vaultwarden Troubleshooting Tips • 502 Bad Gateway: Check that 127.0.0.1:8062 is correct. Run docker ps and confirm Vaultwarden is mapped. • SSL issue: Ensure DNS propagation completed before issuing SSL. • WebSockets not working: Confirm WebSocket Proxy is enabled in OLS context. Final Result Your Vaultwarden instance is now secured and accessible via your custom domain: https://vault.yourdomain.com All traffic is encrypted with Let’s Encrypt, and you no longer need to expose raw IP + port. Why Use CyberPanel for Proxying? • Free SSL management via Let’s Encrypt. • Easy domain/subdomain handling. • Built-in OpenLiteSpeed reverse proxy. This makes CyberPanel a great companion when hosting Dockerized apps like Vaultwarden.
