Skip to main content

Configuration Reference

AdamRMS includes a system-wide configuration panel that controls how your installation behaves. These settings are managed by server/platform administrators and affect all businesses and users on the installation.

Configuration values are stored in the database, but many can also fall back to environment variables if no database value has been set. This is particularly useful during initial setup or when deploying with Docker. The configuration page is accessible to server/platform administrators with the CONFIG:SET server permission via the server administration panel.

You can find the configuration menu by clicking Configuration at the bottom of the menu on the left of the screen.

Commands

info

Can't find the configuration menu? If the menu does not appear, your account does not have the correct permissions to access it -- you must set your account as a server administrator. Login to AdamRMS using the default super admin account (username username and the password password! -- make sure to change this) -- this account can access the configuration menu.


General

General settings control the core behaviour of your AdamRMS installation.

SettingKeyTypeDefaultRequiredDescription
Root URLROOTURLURLAuto-detected from hostYesThe URL of the site used as the point of reference for all links and emails. This is probably https://yourdomain.com or https://yourdomain.com/adamrms. Must not end in a trailing slash.
TimezoneTIMEZONESelectEurope/LondonYesThe timezone to use for AdamRMS. All standard IANA timezones are available.
note

The Root URL is critically important. If it is misconfigured, it will prevent you from logging in. Double-check this value after any domain or proxy changes.

SettingValidationMax LengthMin LengthEnv Fallback
Root URLMust be a valid URL25510CONFIG_ROOTURL
TimezoneMust be a valid IANA timezone10001--

Email

Email settings control whether and how AdamRMS sends emails to users. When email is enabled, users will also be required to verify their email addresses on signup.

tip

You will need to configure an email provider before enabling email sending. AdamRMS supports Sendgrid, Mailgun, Postmark, and SMTP. For more information on setting up email for a self-hosted installation, see the email setup documentation.

Core Email Settings

SettingKeyTypeDefaultRequiredDescription
Email sendingEMAILS_ENABLEDSelectDisabledNoWhether AdamRMS should send emails to users. If enabled, a provider must be configured below.
Email providerEMAILS_PROVIDERSelectSendgridNoWhich provider AdamRMS should use to send emails. Options: Sendgrid, Mailgun, Postmark, SMTP. Ignored if email sending is disabled.
From email addressEMAILS_FROMEMAILEmailadamrms@example.comNoThe email address to send emails from. Must be a valid email address.
Email Service API keyEMAILS_PROVIDERS_APIKEYSecret--NoThe API key to use if Sendgrid, Mailgun, or Postmark is selected as the provider.
Email FooterEMAILS_FOOTERTextAdamRMS default footerNoFooter text appended to all outgoing emails.
SettingEnv Fallback
Email sendingCONFIG_EMAILS_ENABLED
Email providerCONFIG_EMAILS_PROVIDER
From email addressCONFIG_EMAILS_FROM_EMAIL
Email Service API keybCMS__SendGridAPIKEY
Email Footer--

Mailgun Settings

SettingKeyTypeDefaultRequiredDescription
Mailgun Server LocationEMAILS_PROVIDERS_MAILGUN_LOCATIONSelect--NoWhether to use US or EU Mailgun servers. Only relevant if Mailgun is selected as the provider. Options: US, EU.

SMTP Settings

These settings are only used when SMTP is selected as the email provider.

SettingKeyTypeDefaultRequiredDescription
SMTP server addressEMAILS_SMTP_SERVERTextsmtp.example.comNoThe SMTP server hostname to send emails from.
SMTP server usernameEMAILS_SMTP_USERNAMETextuser@example.comNoThe username to connect to the SMTP server with.
SMTP server passwordEMAILS_SMTP_PASSWORDSecret--NoThe password to connect to the SMTP server with.
SMTP server portEMAILS_SMTP_PORTNumber465NoThe port to connect to the SMTP server on.
SMTP encryption typeEMAILS_SMTP_ENCRYPTIONSelectSSLNoThe encryption type to use when connecting to the SMTP server. Options: None, SSL, TLS.
SettingEnv Fallback
SMTP server addressCONFIG_EMAILS_SMTP_SERVER
SMTP server username--
SMTP server password--
SMTP server portCONFIG_EMAILS_SMTP_PORT
SMTP encryption type--
tip

For most SMTP providers, SSL on port 465 is the recommended configuration. If your provider requires STARTTLS, select TLS and use port 587.


Error Handling

Settings for error tracking and reporting.

SettingKeyTypeDefaultRequiredDescription
Sentry.io API keyERRORS_PROVIDERS_SENTRYSecret--NoThe Sentry.io API key for sending error logs. This is normally only used if you are developing AdamRMS.
SettingEnv Fallback
Sentry.io API keybCMS__SENTRYLOGIN

Security & Login

Settings that control user signup and authentication security.

SettingKeyTypeDefaultRequiredDescription
User SignupAUTH_SIGNUP_ENABLEDSelectEnabledYesWhether new users can create an account. Disabling this means new users cannot sign up themselves. Options: Enabled, Disabled.
JWT KeyAUTH_JWTKeySecretAuto-generated (64 characters)YesThe key used for signing JWTs. Must be exactly 64 uppercase alphanumeric characters. If you are setting up AdamRMS for the first time, the generated default value will be fine.
Next password hashing algorithmAUTH_NEXTHASHSelectsha256NoThe hashing algorithm to use for new passwords. Options: sha256, sha512. Changing this will not require users to change their passwords; the new algorithm is applied the next time a user changes their password.
note

Changing the JWT Key will invalidate all existing user sessions. Users will need to log in again. Only change this if you have a specific reason to do so, such as a suspected security compromise.

SettingValidationEnv Fallback
User SignupMust be Enabled or DisabledCONFIG_SIGNUP_ENABLED
JWT KeyExactly 64 characters, uppercase letters and digits only (A-Z, 0-9)CONFIG_AUTH_JWTKey
Next password hashing algorithmMust be sha256 or sha512--

Authentication

Settings for configuring third-party OAuth authentication providers. These allow users to log in with their Google or Microsoft accounts.

Google Authentication

SettingKeyTypeDefaultRequiredDescription
Google Auth KeyAUTH_PROVIDERS_GOOGLE_KEYS_IDText--NoThe ID key for Google authentication.
Google Auth SecretAUTH_PROVIDERS_GOOGLE_KEYS_SECRETText--NoThe secret key for Google authentication.
Google Auth ScopeAUTH_PROVIDERS_GOOGLE_SCOPETexthttps://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.emailNoThe OAuth scope for Google authentication. You would only usually change this if you are developing AdamRMS.
note

When configuring Google authentication, set the redirect URIs in the Google Cloud Console to:

  • https://YOURROOTURL/login/oauth/google.php
  • https://YOURROOTURL/api/account/oauth-link/google.php

Replace YOURROOTURL with the value of your Root URL setting.

Microsoft Authentication

SettingKeyTypeDefaultRequiredDescription
Microsoft Auth App IDAUTH_PROVIDERS_MICROSOFT_APP_IDText--NoThe App ID key for Microsoft authentication.
Microsoft Auth SecretAUTH_PROVIDERS_MICROSOFT_KEYS_SECRETText--NoThe secret key for Microsoft authentication.
note

When configuring Microsoft authentication, set the redirect URIs in the Azure Portal to:

  • https://YOURROOTURL/login/oauth/microsoft.php
  • https://YOURROOTURL/api/account/oauth-link/microsoft.php

Replace YOURROOTURL with the value of your Root URL setting.


Customisation

Settings to customise the appearance and branding of your AdamRMS installation.

SettingKeyTypeDefaultRequiredDescription
Whitelabel project name overridePROJECT_NAMETextAdamRMSNoWhat you call AdamRMS within your organisation. Must contain only letters, numbers, spaces, and underscores (2--20 characters).
User guide URLLINKS_USERGUIDEURLURLhttps://adam-rms.com/docs/v1/user-guide/NoThe URL of the user guide, linked to from the help buttons throughout the interface.
Support URLLINKS_SUPPORTURLURLhttps://adam-rms.com/support/NoThe URL for links to the support page.
Terms of service URLLINKS_TERMSOFSERVICEURLURL--NoThe URL to the terms of service page, linked from the login page. If not set, the link will not be shown.
Analytics Tracking LinksFOOTER_ANALYTICSText--NoCode to insert into the footer of all pages, such as a Google Analytics tracking snippet.
SettingEnv Fallback
Whitelabel project name overrideCONFIG_PROJECT_NAME
User guide URL--
Support URL--
Terms of service URL--
Analytics Tracking Links--
tip

If you are running AdamRMS as a white-label product for your organisation, set the Whitelabel project name override to your preferred name. This name will appear throughout the interface in place of "AdamRMS".


File Storage

AdamRMS uses AWS S3 (or S3-compatible storage) for file uploads. These settings must be configured before users can upload files such as asset images and project documents.

Core Storage Settings

SettingKeyTypeDefaultRequiredDescription
File storage enabledFILES_ENABLEDSelectDisabledNoWhether S3 file storage is enabled. If disabled, users will not be able to upload files. Options: Enabled, Disabled.
AWS Server KeyAWS_S3_KEYText--NoThe AWS (or S3-compatible) access key.
AWS Server Secret KeyAWS_S3_SECRETText--NoThe AWS (or S3-compatible) secret key.
AWS S3 Bucket NameAWS_S3_BUCKETText--NoThe name of the S3 bucket to store files in.
AWS S3 Bucket RegionAWS_S3_REGIONTextus-east-1NoThe AWS region of the S3 bucket.
SettingEnv Fallback
File storage enabled--
AWS Server KeyCONFIG_AWS_S3_KEY
AWS Server Secret KeyCONFIG_AWS_S3_SECRET
AWS S3 Bucket NameCONFIG_AWS_S3_BUCKET
AWS S3 Bucket RegionCONFIG_AWS_S3_REGION

Endpoint Settings

SettingKeyTypeDefaultRequiredDescription
AWS S3 Bucket Browser EndpointAWS_S3_BROWSER_ENDPOINTTexthttps://s3.us-east-1.amazonaws.comNoThe S3 endpoint accessible over the internet for user browsers to upload files.
AWS S3 Bucket Server EndpointAWS_S3_SERVER_ENDPOINTTexthttps://s3.us-east-1.amazonaws.comNoThe S3 endpoint for the server to use for uploads. Almost always the same as the browser endpoint, except in specific circumstances such as Docker networking.
Path-style requestsAWS_S3_ENDPOINT_PATHSTYLESelectDisabledNoWhether path-style requests should be sent to the upload endpoint. Should be disabled for almost all providers. Options: Enabled, Disabled.
SettingEnv Fallback
AWS S3 Bucket Browser EndpointCONFIG_AWS_S3_BROWSER_ENDPOINT
AWS S3 Bucket Server EndpointCONFIG_AWS_S3_SERVER_ENDPOINT
Path-style requestsCONFIG_AWS_S3_ENDPOINT_PATHSTYLE

CloudFront CDN Settings

These settings configure an optional AWS CloudFront distribution for serving files. CloudFront is not required but can improve performance for users in different regions.

SettingKeyTypeDefaultRequiredDescription
AWS CloudFront EnabledAWS_CLOUDFRONT_ENABLEDSelectDisabledNoWhether AWS CloudFront is enabled for file delivery. Options: Enabled, Disabled.
AWS CloudFront Private KeyAWS_CLOUDFRONT_PRIVATEKEYText--NoThe CloudFront private key for signed URLs.
AWS CloudFront Key Pair IDAWS_CLOUDFRONT_KEYPAIRIDText--NoThe CloudFront key pair ID.
AWS S3 CDN EndpointAWS_CLOUDFRONT_ENDPOINTText--NoThe CDN endpoint URL that users will access files from. This may be a CloudFront distribution URL or an alternative CDN.
SettingEnv Fallback
AWS CloudFront Enabled--
AWS CloudFront Private Key--
AWS CloudFront Key Pair ID--
AWS S3 CDN EndpointCONFIG_AWS_CLOUDFRONT_ENDPOINT
tip

If you are using an S3-compatible provider other than AWS (such as MinIO, DigitalOcean Spaces, or Backblaze B2), you may need to enable path-style requests and adjust the endpoint URLs accordingly.


Billing

Billing settings control how new instances (businesses) are created and whether Stripe billing integration is enabled.

SettingKeyTypeDefaultRequiredDescription
Allow all users to create new instancesNEW_INSTANCE_ENABLEDSelectEnabledNoWhether users can create new instances themselves, or whether this must be done by an administrator. Options: Enabled, Disabled.
Suspend new instances by defaultNEW_INSTANCE_SUSPENDEDSelectDo not suspendNoWhether newly created instances should be suspended by default. Useful for requiring administrator approval or a subscription before use. Options: Do not suspend, Suspended.
Reason for suspending new instancesNEW_INSTANCE_SUSPENDED_REASON_TYPESelectotherNoWhat AdamRMS should prompt users to do when their new instance is suspended. Options: noplan (prompt to set up a plan), billing (prompt to fix a billing issue via Stripe), other (show custom text).
Suspension reason for new instancesNEW_INSTANCE_SUSPENDED_REASONTextas no subscription has been chosen.NoThe reason shown to users when their new instance is suspended. Use this to explain what they need to do to get their instance activated. Max 180 characters.
Stripe KeySTRIPE_KEYText--NoThe Stripe API key for billing support. Leave blank to disable Stripe billing. Requires permissions for billing portal, prices, sessions, and products.
Stripe Webhook secretSTRIPE_WEBHOOK_SECRETText--NoThe secret key for verifying Stripe webhook events.
note

If you enable Suspend new instances by default, make sure you also configure the suspension reason type and message so that users understand what action they need to take.


Telemetry

Telemetry settings control what information is sent to the Bithell Studios telemetry server. Telemetry helps the development team understand how AdamRMS is being used. For more details, see the telemetry privacy policy.

SettingKeyTypeDefaultRequiredDescription
Reduce Telemetry collectedTELEMETRY_MODESelectStandardNoThe level of telemetry collected. When set to Limited, this reduces the information sent to the telemetry server (e.g. number of assets). Options: Standard, Limited.
Show this installation URL in list of installationsTELEMETRY_SHOW_URLSelectEnabledNoWhether the URL of this installation is shown publicly in the list of installations on the telemetry server. The installation is still counted in statistics even if disabled. Options: Enabled, Disabled.
Telemetry Installation NotesTELEMETRY_NOTESText--NoA note shown on the public telemetry dashboard to associate with this installation (e.g. the name of the main business). Only shown publicly if "Show URL" is enabled. Max 255 characters.
Telemetry NanoIDTELEMETRY_NANOIDTextAuto-generated (21 characters)YesA unique identifier for this installation on the telemetry server. Changing this will create a new entry on the telemetry server. Must be exactly 21 characters.
note

The Telemetry NanoID is automatically generated during setup. You should not normally need to change it. If you do change it, the telemetry server will treat this as a new installation.


Environment Variable Fallbacks

Many configuration values can be set via environment variables as a fallback when no value exists in the database. This is particularly useful for initial deployment and containerised setups. The table below provides a quick reference of all available environment variable fallbacks.

Config KeyEnvironment Variable
ROOTURLCONFIG_ROOTURL
EMAILS_ENABLEDCONFIG_EMAILS_ENABLED
EMAILS_PROVIDERCONFIG_EMAILS_PROVIDER
EMAILS_FROMEMAILCONFIG_EMAILS_FROM_EMAIL
EMAILS_PROVIDERS_APIKEYbCMS__SendGridAPIKEY
EMAILS_SMTP_SERVERCONFIG_EMAILS_SMTP_SERVER
EMAILS_SMTP_PORTCONFIG_EMAILS_SMTP_PORT
ERRORS_PROVIDERS_SENTRYbCMS__SENTRYLOGIN
AUTH_SIGNUP_ENABLEDCONFIG_SIGNUP_ENABLED
AUTH_JWTKeyCONFIG_AUTH_JWTKey
PROJECT_NAMECONFIG_PROJECT_NAME
AWS_S3_KEYCONFIG_AWS_S3_KEY
AWS_S3_SECRETCONFIG_AWS_S3_SECRET
AWS_S3_BUCKETCONFIG_AWS_S3_BUCKET
AWS_S3_BROWSER_ENDPOINTCONFIG_AWS_S3_BROWSER_ENDPOINT
AWS_S3_SERVER_ENDPOINTCONFIG_AWS_S3_SERVER_ENDPOINT
AWS_S3_ENDPOINT_PATHSTYLECONFIG_AWS_S3_ENDPOINT_PATHSTYLE
AWS_S3_REGIONCONFIG_AWS_S3_REGION
AWS_CLOUDFRONT_ENDPOINTCONFIG_AWS_CLOUDFRONT_ENDPOINT