Component Configuration

What this screen is for

One component’s settings: its ports, image, environment variables, volumes, networks and sidecars. This is where most of the detail of an application actually lives.

Before you start

To do this You need
Open App Builder the App Builder access permission

Opening it

Click any component on the canvas.

Click a component on the canvas to open the Component Configuration modal. It contains multiple tabs for configuring different aspects of the component. Changes are saved when you close the modal and save the application.

📸 Screenshot Placeholder: The component configuration modal on the General tab. Mark: (1) the tab strip, (2) the ports field, (3) the Connected Components list, (4) the Add Sidecar action.

General Tab

Configure ports and view connected components.

Ports

Define which ports the container exposes.

  • Enter a port (3000) or a host:container mapping (8080:3000) and click “Add”
  • Ports appear as chips; click X to remove
  • Default ports from the component template are pre-populated
  • These map to Docker Compose port mappings

Connected Components

Displays all components connected via canvas edges (name and type).

Add Sidecar

Available for all components except sidecars. Adds an auxiliary sidecar container automatically linked to this component. The sidecar inherits suggested storage configurations from the parent.

Image Tab

Configure the Docker image source for the component.

Field Required Description Example
Registry No Docker registry URL (default: Docker Hub) ghcr.io, docker.io
Repository No Organization or repository path myorg, fenwave
Image Yes Image name api-server, nginx, postgres
Tag No Image version tag (default: latest) v1.2.3, sha-abc123def

The full image reference is constructed as {registry}/{repository}/{image}:{tag} and used in generated Docker Compose configurations.

Container Tab

Configure container runtime settings.

Restart Policy

Option Behavior
No Never restart
Always Always restart when stopped
On Failure Restart only on non-zero exit
Unless Stopped Always restart unless explicitly stopped

Hostname

Set a custom hostname for the container. Leave empty to use Docker’s default.

Mount Docker Socket

Toggle to mount /var/run/docker.sock into the container. Security warning: only enable for containers that need Docker daemon access (CI/CD runners, Docker-in-Docker scenarios).

User

Specify which user (or user:group) runs container processes. Formats: 1000, 1000:1000, node, node:node. Leave empty for the image default.

Commands

Override the container’s default CMD/ENTRYPOINT.

  • Single mode: Add commands one at a time
  • Bulk Import: Switch to YAML list format for batch import: ```yaml
    • ’–log.level=DEBUG’
    • ’–accesslog=true’ ```

Each entry becomes a separate argument in the Docker command array.

Labels

Add Docker metadata labels as key-value pairs (e.g., traefik.enable=true, app.version=1.0.0). Labels appear in docker inspect output and can be used by orchestration tools like Traefik.

Resource Limits

Field Description Example
Memory Reservation Soft limit — minimum guaranteed 128M, 1G
Memory Limit Hard limit — container killed (OOM) if exceeded 512M, 2G

Set reservation to typical usage and limit to peak usage.

Storage Tab

Configure persistent storage: named volumes and bind mounts.

Volume Mounts (Named Volumes)

Persistent storage that survives container restarts. Use for database data, caches, logs, or uploaded files.

Field Required Description Example
Volume Name Yes Name of the Docker volume db-data, uploads
Mount Path Yes Path inside the container /var/lib/postgresql/data
Size No Volume size 10Gi, 500Mi

Bind Mounts

Map host directories or generated files into the container.

Generated Content mode: Create a configuration file with inline content, mounted at the specified container path. Useful for generating config files dynamically (e.g., /app/config/database.json).

Existing Host Path mode: Mount an existing host directory into the container. Select rw (read-write) or ro (read-only) as mount option.

Suggested Mounts (Sidecar Only)

For sidecar components, this section displays suggested mounts inherited from the parent. Click + to adopt a suggestion. Useful for shared log collection, caches, or configuration files.

Network Tab

Networks

Configure custom Docker networks for inter-container communication.

Built-in networks: bridge, host, none

For custom networks, specify a name, driver (bridge, host, overlay, macvlan), and optional aliases (alternative DNS names within the network).

Components on the same network can communicate using service names. Multiple networks can be assigned to the same component.

Dependencies (depends_on)

Control container startup order in Docker Compose. Select components from the dropdown to add them as dependencies.

Note: depends_on only waits for the container to start, not for the service to be ready. Use health checks for readiness guarantees.

Environment Tab

Manual Environment Variables

Add key-value pairs that are passed to the container at runtime and included in generated Docker Compose configurations.

Auto-Generated Variables (from Connections)

When components are connected, environment variables are automatically generated based on the connection pattern. For example, connecting an Express API to PostgreSQL generates:

Variable Value
DB_HOST postgresql
DB_PORT 5432
DB_NAME express_db
DB_USER express_user
DB_PASSWORD express_password

Auto-generated values are defaults — edit them to match your actual configuration.

Optional Environment Variables

Some templates include optional variables (e.g., message broker, DevOps, or secrets variables) that can be toggled on via the + button.

Custom Connection Rules (Custom Components Only)

Define automatic environment variable generation rules for when this component connects to other components. This makes custom components behave like built-in ones.

Environment File

Create a .env file loaded by the container at runtime. Useful when the application expects a .env file (common in Node.js, Python projects) or for bulk editing.

Format: KEY=value (one per line), supports # comments. The file is loaded via Docker Compose env_file in addition to individually defined variables.

Scenario

Getting a service to start with the right image and configuration.

  1. Open the node and start on the General tab. Set the ports first — they determine what the rest can reach.
  2. Move to the Image tab. An image that does not exist yet is the most common reason a published application will not run later; if you are building it yourself, see Image Builder.
  3. Set environment variables. Check Connected Components before adding any by hand: variables generated from a connection do not need repeating, and a hand-written duplicate is what diverges later.
  4. Add volumes only where state must survive a restart. A volume added speculatively is a thing to migrate later.
  5. Close the modal, then save the application. Closing alone does not persist — the change lives with the application, not the component.

When it doesn’t work

Symptom Cause How to check Fix
Changes were lost Closing the modal does not save the application The status badge Save the application after configuring
A port is rejected It needs 3000 or 8080:3000 form The ports field Use one of those two forms
Environment variables appear you did not add They are generated from a connection Connected Components Expected; do not duplicate them by hand
Sidecar option is absent The component is itself a sidecar The component type Sidecars cannot nest

Next