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_ononly 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.
- Open the node and start on the General tab. Set the ports first — they determine what the rest can reach.
- 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.
- 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.
- Add volumes only where state must survive a restart. A volume added speculatively is a thing to migrate later.
- 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
- Setup Wizard — steps a user runs locally