# Chartbrew Generated on 10 Feb 2026 from [the Chartbrew catalog page](https://marketplace.digitalocean.com/apps/chartbrew) ![](https://camo.githubusercontent.com/851b8170c7aff69a31dad6d45b843925b092fc62b5e31301ce759d1e9b614931/68747470733a2f2f6368617274627265772d7374617469632e622d63646e2e6e65742f62616e6e6572732f6368617274627265772d64617368626f6172642e706e67) - Chartbrew is a powerful data visualization and reporting tool designed to help businesses create insightful reports with ease. - Seamless integrations to various data sources allow users to generate interactive dashboards and share them with clients or team members in real-time. - The intuitive interface and customizable charts enable you to uncover trends and make data-driven decisions quickly. - Chartbrew saves you time and enhances your reporting capabilities, making it an essential tool for any data-driven organization. - **Chartbrew can also be used as a managed service at [chartbrew.com](https://chartbrew.com)** ## Software Included | Package | Version | License | |---|---|---| | [Chartbrew](https://github.com/chartbrew/chartbrew) | [v4.8.1](https://github.com/chartbrew/chartbrew/releases/tag/v4.3.0) | [FSL-1.1-MIT](https://github.com/chartbrew/chartbrew/blob/master/LICENSE-FSL.md) | ## Creating an App using the Control Panel Click the **Deploy to DigitalOcean** button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account. [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?image=depomo-chartbrew) ## Creating an App using the API In addition to creating a Droplet from the Chartbrew 1-Click App using the control panel, you can also use the [DigitalOcean API](https://docs.digitalocean.com/reference/api). As an example, to create a 4GB Chartbrew Droplet in the SFO2 region, you can use the following `curl` command. You need to either save your [API access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) to an environment variable or substitute it in the command below. ```shell curl -X POST -H 'Content-Type: application/json' \ -H 'Authorization: Bearer '$TOKEN'' -d \ '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"depomo-chartbrew"}' \ "https://api.digitalocean.com/v2/droplets" ``` ## Getting Started After Deploying Chartbrew ## Chartbrew Droplet – Getting Started Welcome! This guide helps you use your Chartbrew Droplet deployed from the Marketplace image. * * * [Check out our managed Chartbrew Cloud service for a fully hosted solution](https://chartbrew.com) * * * ## Access - App (frontend): `http://<droplet-ip>:4018` - API: `http://<droplet-ip>:4019/` - First boot may take 1–3 minutes (env setup, DB init, client build). ## Process management - Services are managed by PM2 via systemd: ``` # Service status / restart sudo systemctl status chartbrew-pm2 sudo systemctl restart chartbrew-pm2 # View app logs sudo -u chartbrew pm2 status sudo -u chartbrew pm2 logs --lines 200 ``` ## Configuration (.env) - Main config file: `/opt/chartbrew/.env` - Key variables:- VITE\_APP\_CLIENT\_HOST: public URL for the UI (defaults to `http://<ip>:4018`)- VITE\_APP\_CLIENT\_PORT: UI port (defaults to `4018`)- VITE\_APP\_API\_HOST: public URL for the API (defaults to `http://<ip>:4019`)- CB\_DB\_\*: database connection options (local MySQL by default)- CB\_ENCRYPTION\_KEY: 64‑char hex key (auto‑generated) - Mail settings: `CB_MAIL_HOST`, `CB_MAIL_USER`, `CB_MAIL_PASS`, etc. Full variable reference: [https://docs.chartbrew.com/environment-variables](https://docs.chartbrew.com/environment-variables) ### Apply config changes - When changing UI variables (VITE\_\*), rebuild the client and restart: ``` sudo -u chartbrew bash -lc 'cd /opt/chartbrew/client && npm run build' sudo systemctl restart chartbrew-pm2 ``` - When changing server-only variables (CB\_\*), just restart: ``` sudo systemctl restart chartbrew-pm2 ``` ## Domain and HTTPS (optional) 1. Point your domain(s) to the droplet IP. 2. Update `/opt/chartbrew/.env`: ``` # Example VITE_APP_CLIENT_HOST=https://app.example.com VITE_APP_API_HOST=https://api.example.com ``` 3. Issue certificates (Certbot is preinstalled): ``` sudo certbot --nginx -d app.example.com -d api.example.com ``` 4. Rebuild client and restart: ``` sudo -u chartbrew bash -lc 'cd /opt/chartbrew/client && npm run build' sudo systemctl restart chartbrew-pm2 ``` ## Database - Local MySQL is provisioned on first boot with a randomized `CB_DB_PASSWORD` stored in `/opt/chartbrew/.env`. - To use a Managed DB, set `CB_DB_HOST`, `CB_DB_PORT`, `CB_DB_NAME`, `CB_DB_USERNAME`, `CB_DB_PASSWORD` to your cluster values and restart the service. ## Troubleshooting - First boot config did not run: ``` sudo tail -n 200 /var/log/cloud-init-output.log ls -l /var/lib/cloud/scripts/per-instance/ # You can re-run on-boot script if present: sudo bash /var/lib/cloud/scripts/per-instance/001_chartbrew_onboot.sh ``` - API not responding on 4019: ``` curl -s http://localhost:4019/ sudo -u chartbrew pm2 logs chartbrew-api --lines 200 ``` - Client not pointing to the right API:- Verify `VITE_APP_API_HOST` in `/opt/chartbrew/.env`, rebuild client, restart service. ## Useful docs - Docs home: [https://docs.chartbrew.com/](https://docs.chartbrew.com/) - Env vars: [https://docs.chartbrew.com/environment-variables](https://docs.chartbrew.com/environment-variables) - Deploy guides: [https://docs.chartbrew.com/deployment/](https://docs.chartbrew.com/deployment/) * * * If you get stuck, check logs with `journalctl -u chartbrew-pm2 -f` and `pm2 logs`, or [open an issue on the Chartbrew repo](https://github.com/chartbrew/chartbrew/issues).