Skip to main content

Component

Component section is where you define your Shared Database its container settings, connectivity options, environment variables, and resource requirements.


Overview

When registering a Shared DB via FluxCloud you’ll add two components:

  1. Your DB engine container (e.g. mysql:latest),
  2. The Flux Shared DB operator (runonflux/shared-db)

Please follow the configuration for each component carefully.

Field Summary

ComponentFieldNotes
DB EngineComponent Name≥3 chars; alphanumeric only (e.g., mysql)
Component Description≥3 chars; free text
RepositoryDocker repo (e.g., mysql:latest)
Ports, Domains, Cont. PortsLeave all empty or remove placeholder values
EnvironmentInclude MYSQL_ROOT_PASSWORD, MYSQL_ROOT_HOST
CommandsPut ["--disable-log-bin"]
Cont. DataPut /var/lib/mysql
ResourcesSet based on performance needs
Shared DB OperatorComponent NamePut operator
DescriptionPut operator
RepositoryUse runonflux/shared-db:latest
Ports3 random public ports: [31000,31001,31002]
DomainsMust be ["", "", ""]
Cont. PortsMust be [3307,7071,8008]
EnvironmentSee required & optional vars below
CommandsLeave empty
Cont. DataPut r:/app/dumps
ResourcesRecommended: 1 Core, 1 GB RAM, 2 GB SSD

Field Description

1. DB Engine Component

Component Name

  • ≥3 chars; alphanumeric only (no spaces/special chars)
  • Example: mysql

Component Description

  • ≥3 chars; free text.
  • Example: mysql

Repository

Enter the Docker container repository of your DB engine

  • Example: mysql:latest

Ports, Domains, Cont. Ports

  • Leave all empty brackets []
  • If default placeholders like "" exist, delete them

Environment

Insert into the Environment field as a JSON array:

["MYSQL_ROOT_PASSWORD=<YourRootPassword>", "MYSQL_ROOT_HOST=172.0.0.0/255.0.0.0"]
  • Explanation of Values:
    • <YourRootPassword>: Root password for your MySQL database

Commands (Optional)

Add to Commands if you'd like to disable binary logs (optional):

  • ["--disable-log-bin"]

Cont. Data

  • Put /var/lib/mysql

Resources

Specify CPU, RAM, and storage based on your database load.


Add Another Component

Once you've configured your DB Engine component, you need to add the Flux Shared DB Operator as a second component.

Click “Add Component to Application Composition” at the bottom to continue.


2. Shared DB Operator Container

Component Name

  • Just put operator

Component Description

  • Just put operator

Repository

  • Must be runonflux/shared-db:latest

Ports

Choose 3 random public ports between 1024–65535. Format them as a JSON array using square brackets, with commas and no spaces:

  • ⚠️ Do not use restricted ports:
    ['16100–16299', '26100–26299', '30000–30099', 22, 23, 25, 123, 161, 512, 513, 3388, 3889, 4444, 5800, 5900, 5901, 8384, 27017]
  • Example: [31000,31001,31002]

Domains

  • Must be ["","",""]

Cont. Ports

  • Must be [3307,7071,8008]

Environment

Fill in required values:

[
"DB_COMPONENT_NAME=flux<DB_ENGINE_COMPONENT_NAME>_<APPLICATION_NAME>",
"DB_INIT_PASS=<YourRootPassword>",
"CLIENT_APPNAME=<APPLICATION_NAME>",
"DB_APPNAME=<APPLICATION_NAME>",
"DB_PORT=<FluxPublicPort_1stEntry>",
"API_PORT=<FluxPublicPort_2ndEntry>",
"WHITELIST=<CommaSeparatedIPs>"
]

Optional additions:

[
"INIT_DB_NAME=<InitialDBName>",
"DB_USER=<Username>"
]

Explanation of Values:

  • DB_COMPONENT_NAME: Format using flux<DB_ENGINE_COMPONENT_NAME>_<APPLICATION NAME> (e.g., fluxmysql_mysql01)
    • <DB_ENGINE_COMPONENT_NAME>: the Component Name you chose for your DB engine (e.g. mysql)
    • <APPLICATION_NAME>: your Application Name from Details
  • DB_INIT_PASS: Same root password used in Environment for the DB Engine
  • CLIENT_APPNAME, DB_APPNAME: Match Application Name from the Details section
  • DB_PORT, API_PORT: Match 1st and 2nd entries of the chosen Ports for the DB Engine Component
  • WHITELIST: IPs allowed to connect, comma-separated
  • INIT_DB_NAME: Initial DB to be created (optional)
  • DB_USER: Optional DB user

Example:

[
"DB_COMPONENT_NAME=fluxmysql_mysql01",
"DB_INIT_PASS=123secret",
"CLIENT_APPNAME=mysql01",
"DB_APPNAME=mysql01",
"DB_PORT=31000",
"API_PORT=31001",
"WHITELIST=<CommaSeparatedIPs>"
]

Commands (Optional)

  • Keep Empty

Cont. Data

  • Must be r:/app/dumps

Resources

  • Recommended: 1 Core, 1 GB RAM, 2 GB SSD
  • Adjust up based on expected database traffic.
  • Read more about monitoring and scaling in the Monitoring & Update section.

Once both components are added, continue to the Validate & Pay section to finalize your deployment.