Once you see the Bytebase logo, you can access the console at http://localhost:8080.
Configuration
Use external PostgreSQL to store metadata
By default, Bytebase will use an embedded PostgreSQL database to store metadata. For production usage, it is recommended to use an external PostgreSQL database instead.
Check Configure External PostgreSQL for details.
Customize startup options
If you need more control over the server configuration, check other Server Startup Options.
Bytebase does not support enabeling HTTPS in server configuration. We suggest use NGINX or Caddy as a reverse proxy in front of Bytebase to enable HTTPS and WebSocket (for SQL Editor autocomplete). Here is an example NGINX configuration:
Troubleshooting
bind: address already in use
If you see bind: address already in use error, it means the port 8080 is already in use on your host. You need to either stop the existing process using the port or configure Bytebase to use a different port via --publish <<YOUR_PORT>>:8080.
Connect database instance on the same host
If you run Bytebase inside Docker on Linux, then you need to supply the additional --network host flags in docker run command. This allows Bytebase to connect to database instance running on the same host with localhost.
If you run Bytebase inside Docker Desktop on Mac , then you need to use host.docker.internal to connect to database instance running on the same host.
Manifest not found
There may be a few reasons the manifest file is not found:
The docker image only supports linux/amd64 and linux/arm64 arch. If it doesn't match your OS arch, you may supply
--platform linux/amd64 as a best effort.
Due to the vm mechanism of Colima, try to use the --mount option when starting colima as shown below:
Kubernetes
Estimated time: 15 minutes.
Deploy to Kubernetes
Here is a sample Kubernetes YAML file bb.yaml describing the minimal components and configuration required to run Bytebase in Kubernetes.
Start Bytebase with the following command:
Make sure everything worked by listing your deployments:
Do the same check for your services:
Open a browser and visit http://localhost, you should see Bytebase.
Upgrade
When a new Bytebase release is published, you can change the image version in the yaml file
Use Helm Chart
Production Setup External URL
Installing the Chart
For example:
Uninstalling the Chart
Upgrade Bytebase Version/Configuration
Use helm upgrade command to upgrade the bytebase version or configuration.
Deploy with Ingress
We use Ingress-Nginx Controller as ingress controller. You need to config Ingress-Nginx Controller according to your environment.
Note If you use ingress, make sure to use https to access bytebase;
External PostgreSQL
Instead of specify PostgreSQL connection string in helm or Kubernetes yaml file, we allows users to using Kubernetes secrets resources.
Kubernetes
Using the following yaml section to replace the spec.templates.spec.containers.env section:
Helm
Using --set bytebase.option.existingPgURLSecret and --set bytebase.option.existingPgURLSecretKey to specify the secret key and secret name instead of --set "bytebase.option.external-url"={NEW_EXTERNAL_URL}. See more details in Bytebase - Artifact Hub.
Persistent Volume
We don't recommend this. However, if you do not configure External PostgreSQL,
then to persist data, you need to use the Persistent Volumes in the cluster. Each cloud provider has its own solution.
It's recommended to run Bytebase application as non-root user for security reason. If you don't have other non-root users on the system, you can follow the following steps to setup one, e.g. user bytebase.
Build
Download source code from GitHub, then go to the source root directory
Build the source
If out_directoryis not specified, the default directory is ./bytebase-build
Suppose you run scripts/build_bytebase.sh foo After build completes, run: