take a look at what is possible to do on settings page
Use the Settings page to configure scheduling, system paths, email, databases, and ETL logging.
- Scope & precedence
.env= baseline (read-only in the UI)..env.local= per-server overrides written by the UI. Anything set here overrides.envon that server only.
- Single-server: edits apply to the only node.
- Multi-server: you edit the current server. all changes are applied automatically to your servers.
After saving, EAC writes the target server’s
./shared/.env.local(or equivalent) and refreshes configuration. Some changes (paths/scheduling) may require worker/cron reload.
How to edit settings (UI)
- Sign in as Admin.
- Go to Settings.
- For each section, change Updatable (.env.local) values. Present value (.env) is informational.
- Save. Confirm the success banner. If prompted, restart workers/cron.
To remove an override, clear the field and save (the app falls back to
.env).
Field reference (mapping → env keys)
Below, the UI label is mapped to the environment variable actually written in .env.local. Defaults are indicative—your build may ship different ones.
Scheduling & System
| UI label | Env var | Type / Example | Notes |
|---|---|---|---|
| Enable scheduling | APP_ENABLE_SCHEDULING | true | false |
| Reschedule old task after x (min) | APP_RESCHEDULE_AFTER_MIN | 10 | Age in minutes before a stuck task is re-queued. |
| Check status with Git | APP_CHECK_STATUS_WITH_GIT | true | false |
| Cron user | APP_CRON_USER | eac | System user running cron/console. |
| Average executed task count | APP_AVG_EXECUTED_TASK_COUNT | 10 | Used by stats/ETA. |
| Display error on home | APP_DISPLAY_ERROR_ON_HOME | true | false |
| PHP command path | APP_PHP_BIN | php or /usr/bin/php | CLI PHP binary. |
| Default application URI | APP_BASE_URI | https://your_domain:443/ | Absolute base URL. |
| Task logs type | APP_TASK_LOG_TYPE | file or db | Storage for execution logs. (lien page dediée) |
| Java home path | JAVA_HOME | /usr/lib/jvm/java-17 | Needed if jobs spawn Java. |
| Console command | APP_CONSOLE_CMD | /var/www/html/var/eac/bin/console | Symfony console path. |
| Local directory | APP_LOCAL_DIR | /var/www/html/var/eac/ | Base local working dir. |
| Deployment directory | APP_DEPLOY_DIR | /var/www/html/var/eac/deploy/ | Where jobs/packages deploy. |
| Execution extension | APP_EXEC_EXTENSION | sh (linux) / bat (win) | Script extension to execute. |
| Scanned partitions | APP_SCANNED_PARTITIONS | / or /,/data | CSV list used by scanners. |
| Temporary directory | APP_TMP_DIR | /var/www/html/var/eac/tmp/ | Scratch space. |
| Upload directory | APP_UPLOAD_DIR | /var/www/html/var/eac/uploads/ | User uploads. |
| JWT Passphrase | JWT_PASSPHRASE | (secret) | Used to sign JWTs. |
Permissions tip: ensure the service user (e.g., eac:www-data) owns these paths and they exist.
Mail settings
You can either fill the discrete fields or paste a full DSN (advanced). The UI composes MAILER_DSN from individual fields.
| UI label | Env var | Example |
|---|---|---|
| Default sender email | APP_MAILER_SENDER | eac@cidwe.com |
| Mailer default recipients | APP_MAILER_DEFAULT_RECIPIENTS | ops@acme.com,data@acme.com |
| Enable task mailer | APP_ENABLE_TASK_MAILER | true |
| Mailer protocol | — | smtp |
| Mailer user | — | mylogin@acme.com (URL-encode) |
| Mailer password | — | My:Pass (URL-encode) |
| Mailer host | — | smtp.acme.com |
| Mailer port | — | 587 |
| Mailer options | — | encryption=tls&auth_mode=login&timeout=30 |
Resulting DSN written:
MAILER_DSN="smtp://<user>:<pass>@<host>:<port>?<options>"
# Example
MAILER_DSN="smtp://mylogin%40acme.com:My%3APass@smtp.acme.com:587?encryption=tls&auth_mode=login"
Percent-encoding for credentials in URLs
Only encode the username and password parts of the URL (not the whole URL).
Format reminder:
scheme://USERNAME:PASSWORD@HOST:PORT/DB?optionsReserved characters (what they mean & why to encode)
@→%40
Meaning in URL: separatesUSERNAME:PASSWORDfromHOST.
Encode when:@appears inside your username or password, otherwise it will be read as the end of credentials.:→%3A
Meaning in URL: separatesUSERNAMEandPASSWORD.
Encode when::is part of the username or password value, or it will split the field./→%2F
Meaning in URL: path separator after the host.
Encode when:/appears inside credentials, or it will be mistaken for a path delimiter.&→%26
Meaning in URL: separates query parameters (after?).
Encode when:&appears in credentials, or it’ll be parsed as a new option.%→%25
Meaning in URL: introduces a percent-encoded byte.
Encode when:%appears literally in credentials—encode it first to avoid corrupting other encodings.Other common ones you might hit:
+→%2B,#→%23,?→%3F.Do & Don’t
- Encode only the username/password segments.
- Keep separators (
://,@,/,?,&) unencoded outside credentials.- Don’t double-encode (e.g., don’t turn
%40into%2540).Examples
Database URL (PostgreSQL)
Password contains
pa:ss@/word&%postgresql://eac_usr:pa%3Ass%40%2Fword%26%25@db:5432/eac_db?serverVersion=16&charset=utf8Mailer DSN (SMTP)
Username
alerts@company.com, passwordP@ss:W/rd&2025smtp://alerts%40company.com:P%40ss%3AW%2Frd%262025@mail.example.com:587?encryption=tlsQuick checklist: If your credential has
@ : / & % + # ?→ encode those characters before placing it in the URL.
Database (application)
The form composes DATABASE_URL.
| UI label | Env var | Example |
|---|---|---|
| Database driver | — | postgresql (also mysql, mssql, sqlite) |
| Database host / port | — | db.acme.local / 5432 |
| Database name | — | eac_db |
| Database user / password | — | eac_usr / •••• |
| Database options | — | serverVersion=16&charset=utf8 |
Resulting URL:
DATABASE_URL="postgresql://eac_usr:pass@db.acme.local:5432/eac_db?serverVersion=16&charset=utf8"
ETL Table Settings (optional: stats & metrics)
| UI label | Env var | Example |
|---|---|---|
| Enable ETL logs | APP_ENABLE_ETL_LOGS | true |
| ETL statistics table name | ETL_STAT_TABLE_NAME | talend_stat |
| ETL metrics table name | ETL_MET_TABLE_NAME | talend_met |
| ETL logs table name | ETL_LOG_TABLE_NAME | talend_log |
| ETL logs database driver/host/port/name/user/password/options | — | (same fields as DB above) |
Resulting URL:
DATABASE_URL_ETL_LOG="postgresql://eac_usr:pass@eac_master-postres:5432/eac_db?charset=utf8&serverVersion=16.0.0"
Examples
Single-server, basic mail + Postgres
APP_ENABLE_SCHEDULING=true
APP_BASE_URI="https://eac.local:4443/"
MAILER_DSN="smtp://eac%40cidwe.com:My%3APassword@mail.acme.com:587?encryption=tls&auth_mode=login"
APP_MAILER_SENDER="eac@cidwe.com"
APP_MAILER_DEFAULT_RECIPIENTS="teameac@cidwe.com"
APP_ENABLE_TASK_MAILER=true
DATABASE_URL="postgresql://eac_usr:pass@db:5432/eac_db?serverVersion=16&charset=utf8"
Multi-server, ETL logs on separate DB
APP_ENABLE_ETL_LOGS=true
ETL_STAT_TABLE_NAME=talend_stat
ETL_MET_TABLE_NAME=talend_met
ETL_LOG_TABLE_NAME=talend_log
DATABASE_URL_ETL_LOG="postgresql://etl_ro:pass@etl-db:5432/etl_logs?serverVersion=16&charset=utf8"
