Skip to content

Configuration

Presswerk is configured via environment variables in the .env file.

VariableRequiredDefaultDescription
APP_DOMAINYesPublic domain for the application
APP_VERSIONNolatestDocker image tag
APP_PORTNo8080Host port for the application
VariableRequiredDefaultDescription
DB_PASSWORDYesPostgreSQL password
DB_USERNopresswerkPostgreSQL username
DB_NAMENopresswerkPostgreSQL database name
VariableRequiredDefaultDescription
KEYCLOAK_HOSTNAMEYesPublic domain for Keycloak (e.g. auth.your-domain.com)
KEYCLOAK_PUBLIC_URLYesFull public URL (e.g. https://auth.your-domain.com)
KEYCLOAK_ADMIN_PASSWORDYesKeycloak admin console password
KEYCLOAK_ADMIN_USERNoadminKeycloak admin username
KEYCLOAK_PORTNo8081Host port for Keycloak

Email is required for scheduled report delivery.

VariableRequiredDefaultDescription
SMTP_HOSTNoSMTP server hostname
SMTP_PORTNo587SMTP port (587 for STARTTLS)
SMTP_USERNAMENoSMTP authentication username
SMTP_PASSWORDNoSMTP authentication password
SMTP_FROMNonoreply@presswerk.appSender email address
ProviderHostPortNotes
Resendsmtp.resend.com587API key as password
Microsoft 365smtp.office365.com587Requires app password or OAuth
Google Workspacesmtp.gmail.com587Requires app password
Customany587Any server supporting STARTTLS

Without a license, Presswerk runs in the Free tier (1 user, 5 reports, 1 data source, no schedules).

VariableRequiredDefaultDescription
LICENSE_FILENoPath to license key file inside the container
LICENSE_PUBLIC_KEYNoBase64-encoded public key for license verification

Via UI: Log in as admin → License in the sidebar → paste license key → Activate

Via API:

Terminal window
curl -X POST https://your-domain.com/api/license/activate \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"licenseKey":"<your-license-key>"}'

Via file mount:

# Add to the app service in docker-compose.yml
volumes:
- ./license.key:/app/license.key:ro
environment:
LICENSE_FILE: /app/license.key
TierUsersReportsData SourcesSchedules
Free151No
Starter5UnlimitedUnlimitedYes
Business15UnlimitedUnlimitedYes
Enterprise50UnlimitedUnlimitedYes
RoleDescription
adminTenant administrator — manages users, environments, permissions
(none)Regular user — access controlled by folder permissions