Server Startup Options

The "help" command prints all applicable options

./bytebase help

And the output will look like this:

Bytebase is a database schema change and version control tool

  bytebase [flags]
  bytebase [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version of Bytebase

      --data string                directory where Bytebase stores metadata if --pg is not specified. If relative path is supplied, then the path is relative to the directory where Bytebase is under (default ".")
      --debug                      whether to enable debug level logging
      --demo string                name of the demo to use. If specified, Bytebase will run in demo mode
      --disable-metric             disable the metric collector
      --disable-sample             disable the sample instance
      --external-url string        the external URL where user visits Bytebase, must start with http:// or https:// (default "")
  -h, --help                       help for bytebase
      --pg string                  optional external PostgreSQL instance connection url(must provide dbname); for example postgresql://user:secret@masterhost:5432/dbname?sslrootcert=cert
      --port int                   port where Bytebase server runs. Default to 8080 (default 8080)
      --readonly                   whether to run in read-only mode

--data <<directory>>

default: .

The directory where Bytebase stores its own data if --pg is not specified. The directory must exist beforehand, otherwise Bytebase will fail to start. If <<directory>> is a relative path, then it's relative to the directory where the bytebase binary runs.


default: false

If specified, Bytebase will emit more logs, this is only used when troubleshooting Bytebase issues.


default: false

If specified, Bytebase will not collect usage metric.


default: false

If specified, Bytebase will not start sample Postgres instance.

--demo <<string>>

default: ""

The demo name. If specified, Bytebase will load the demo data instead of the real data. The data is the same used by the demo. This is a quick way to test the product yourself or demonstrate it to your peers. When Bytebase is started with --demo, it stores the data in a separate location, which means the demo data and real data never interferes with each other.

The current available demo names are:

  • default

--external-url <<string>>


The external URL where user visits Bytebase, must start with http:// or https://.

See Configure External URL.

--pg <<string>>

default: ""

Optional external PostgreSQL instance connection url. If specified, Bytebase will store its own metadata there.

See Configure External PostgreSQL.

Alternatively, you can also pass PG_URL environment variable.

--port <<number>>

default: 8080

The port where Bytebase is running. Bytebase listens on all network interfaces for the specified port. For production setup, see Configure External URL.


default: false

If specified, Bytebase will run in read-only mode. This mode is mostly useful when you want to schedule a maintenance window or enforce a deployment freeze.

You can also enable --demo and --readonly together to have a long running demo instance without worrying about the data being changed accidentally (this is how is configured).

Whenever you download a new Bytebase version, first time you should always start it without --readonly so that Bytebase can apply its own schema upgrade if needed.

Edit this page on GitHub

Subscribe to Newsletter

By subscribing, you agree with Bytebase's Terms of Service and Privacy Policy.