View Categories

Settings

4 min read

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 .env on 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)

  1. Sign in as Admin.
  2. Go to Settings.
  3. For each section, change Updatable (.env.local) values. Present value (.env) is informational.
  4. 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 labelEnv varType / ExampleNotes
Enable schedulingAPP_ENABLE_SCHEDULINGtruefalse
Reschedule old task after x (min)APP_RESCHEDULE_AFTER_MIN10Age in minutes before a stuck task is re-queued.
Check status with GitAPP_CHECK_STATUS_WITH_GITtruefalse
Cron userAPP_CRON_USEReacSystem user running cron/console.
Average executed task countAPP_AVG_EXECUTED_TASK_COUNT10Used by stats/ETA.
Display error on homeAPP_DISPLAY_ERROR_ON_HOMEtruefalse
PHP command pathAPP_PHP_BINphp or /usr/bin/phpCLI PHP binary.
Default application URIAPP_BASE_URIhttps://your_domain:443/Absolute base URL.
Task logs typeAPP_TASK_LOG_TYPEfile or dbStorage for execution logs. (lien page dediée)
Java home pathJAVA_HOME/usr/lib/jvm/java-17Needed if jobs spawn Java.
Console commandAPP_CONSOLE_CMD/var/www/html/var/eac/bin/consoleSymfony console path.
Local directoryAPP_LOCAL_DIR/var/www/html/var/eac/Base local working dir.
Deployment directoryAPP_DEPLOY_DIR/var/www/html/var/eac/deploy/Where jobs/packages deploy.
Execution extensionAPP_EXEC_EXTENSIONsh (linux) / bat (win)Script extension to execute.
Scanned partitionsAPP_SCANNED_PARTITIONS/ or /,/dataCSV list used by scanners.
Temporary directoryAPP_TMP_DIR/var/www/html/var/eac/tmp/Scratch space.
Upload directoryAPP_UPLOAD_DIR/var/www/html/var/eac/uploads/User uploads.
JWT PassphraseJWT_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 labelEnv varExample
Default sender emailAPP_MAILER_SENDEReac@cidwe.com
Mailer default recipientsAPP_MAILER_DEFAULT_RECIPIENTSops@acme.com,data@acme.com
Enable task mailerAPP_ENABLE_TASK_MAILERtrue
Mailer protocolsmtp
Mailer usermylogin@acme.com (URL-encode)
Mailer passwordMy:Pass (URL-encode)
Mailer hostsmtp.acme.com
Mailer port587
Mailer optionsencryption=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?options

Reserved characters (what they mean & why to encode)

  • @%40
    Meaning in URL: separates USERNAME:PASSWORD from HOST.
    Encode when: @ appears inside your username or password, otherwise it will be read as the end of credentials.
  • :%3A
    Meaning in URL: separates USERNAME and PASSWORD.
    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 %40 into %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=utf8

Mailer DSN (SMTP)

Username alerts@company.com, password P@ss:W/rd&2025

smtp://alerts%40company.com:P%40ss%3AW%2Frd%262025@mail.example.com:587?encryption=tls

Quick checklist: If your credential has @ : / & % + # ? → encode those characters before placing it in the URL.


Database (application)

The form composes DATABASE_URL.

UI labelEnv varExample
Database driverpostgresql (also mysql, mssql, sqlite)
Database host / portdb.acme.local / 5432
Database nameeac_db
Database user / passwordeac_usr / ••••
Database optionsserverVersion=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 labelEnv varExample
Enable ETL logsAPP_ENABLE_ETL_LOGStrue
ETL statistics table nameETL_STAT_TABLE_NAMEtalend_stat
ETL metrics table nameETL_MET_TABLE_NAMEtalend_met
ETL logs table nameETL_LOG_TABLE_NAMEtalend_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"