Skip to content

Configuration

All configuration used by the app is stored in the .env file. You can find an example file in .env.sample, but you should copy it to .env and fill it with your own values (described below).

Required configuration

DATABASE_URL

Default value: N/A

Values: N/A

Required: Yes

Postgres connection string

SECRET_KEY_BASE

Default value: N/A

Values: N/A

Required: Yes

Generate it with mix phx.gen.secret or openssl rand -base64 48

BASE_URL

Default value: N/A

Values: N/A

Required: Yes

Base URL of the app (e.g. https://claper.example.com)

Storage

PRESENTATION_STORAGE

Default value: local

Values: local, s3

Required: No

Define where the presentation files will be stored.

Each presentation has a unique hash that is generated in two steps, first with :erlang.phash2("#{code}-#{name}") and then :erlang.phash2("#{hash}-#{System.system_time(:second)}").

Local storage

The local storage is the default storage option. It stores the presentations in the priv/static/uploads/[hash] folder.

The uploads folder will be created automatically if it doesn't exist.

S3 storage

When user upload a new presentation, the destination file is uploaded to S3 in your bucket in presentations/[hash] and the local file is deleted.

PRESENTATION_STORAGE_DIR

Default value: priv/static (/app/uploads for Docker)

Values: N/A

Required: No

If local storage is used, this is the directory where the presentation files will be stored

AWS_ACCESS_KEY_ID

Default value: N/A

Values: N/A

Required: only for s3

Your AWS Access Key ID

AWS_SECRET_ACCESS_KEY

Default value: N/A

Values: N/A

Required: only for s3

Your AWS Secret Access Key

AWS_PRES_BUCKET

Default value: N/A

Values: N/A

Required: only for s3

The name of the bucket where the presentation files will be stored

AWS_REGION

Default value: N/A

Values: N/A

Required: only for s3

The region where the bucket is located

Mail

MAIL_TRANSPORT

Default value: local

Values: local, smtp, postmark

Required: No

Define how the emails will be sent

MAIL_FROM

Default value: Claper

Values: N/A

Required: No

Email address used to send emails

MAIL_FROM_NAME

Default value: noreply@claper.co

Values: N/A

Required: No

Name used to send emails

SMTP_RELAY

Default value: N/A

Values: N/A

Required: only for smtp

SMTP relay server

SMTP_USERNAME

Default value: N/A

Values: N/A

Required: only for smtp

SMTP username

SMTP_PASSWORD

Default value: N/A

Values: N/A

Required: only for smtp

SMTP password

SMTP_PORT

Default value: 25

Values: N/A

Required: No

SMTP port

SMTP_TLS

Default value: always

Values: always, never, if_available

Required: No

SMTP TLS

SMTP_AUTH

Default value: always

Values: always, never, if_available

Required: No

SMTP Auth

SMTP_SSL

Default value: true

Values: true, false

Required: No

SMTP SSL

ENABLE_MAILBOX_ROUTE

Default value: false

Values: true, false

Required: No

Enable/disable route to local mailbox (/dev/mailbox)

MAILBOX_USER

Default value: N/A

Values: N/A

Required: No

Basic auth user for mailbox route

MAILBOX_PASSWORD

Default value: N/A

Values: N/A

Required: No

Basic auth password for mailbox route

POSTMARK_API_KEY

Default value: N/A

Values: N/A

Required: only for postmark

Postmark API key

Application

PORT

Default value: 4000

Values: N/A

Required: No

Port the application will listen to

ENABLE_ACCOUNT_CREATION

Default value: true

Values: true, false

Required: No

Enable/disable user registration

MAX_FILE_SIZE_MB

Default value: 15

Values: N/A

Required: No

Max file size to upload in MB

GS_JPG_RESOLUTION

Default value: 300x300

Values: N/A

Required: No

Resolution (DPI) of the JPG generated from PDF, higher resolution means bigger files but better quality

Default value: Lax

Values: Lax, None

Required: No

SameSite attribute for cookies

Default value: false

Values: true, false

Required: No

Secure attribute for cookies