Skip to content

Configuration

This guide will go over how to configure Folderr and explain the configuration.

Folderr requires 2-3 separate YAML files for configuration. These files should be stored in the root directory of your Folderr install

Table of Contents

Server Configuration

The basic configuration for the service is: port, url, trustProxies, signups, and auth. Kept in configs/server.yaml

VariableDescriptionTypeExample?Optional
portPort number to listen on. 0-65535 are allowedNumber8888Yes
urlURL Folderr responds withURL/Stringhttps://example.comNo
trustProxiesWhether or not to trust proxiesBooleanfalse (default)Yes
signupsState of signupsNumber0 (default)No
sentrySentry Error LoggingObjectYes
apiOnlyWhether or not to run with no frontendBooleanfalse, defaultYes
httpsCertOptionsThe certificate options for Folderrs HTTPsObjectFor insances behind a proxy.

Signup states

  • 0 - Disabled
  • 1 - Admin acceptance only
  • 2 - Use emails
  • 3 - Whitelist (Not planned for V2, but planned for later)

Sentry

Third-Party error logging and problem metrics service. Really only useful for developers or installs where you expect many people to use them.

VariableDescriptionTypeExample?Optional
dsnThis is a URLURLNo
tracingWhether or not requests should be trackedBooleanfalseYes
rate% of transactions to recordNumber 0-10.2Yes

Certificate Configuration

Certificates for HTTPS. This is only needed if you are not running behind a reverse proxy and want HTTPS.

VariableDescriptionTypeExample?Optional
keyPath to private keyString/home/example/private.keyNo
certPath to certificateString/home/example/cert.pemNo
requestCertServer will request a certificate from clients & attempt to verify the certificateBooleanfalseYes
caArray of paths to a CA certString Array/path/to/cert.pemYes

Server Example

yaml
port: 8888,
url: https://example.com,
trustProxies: true,
signups: 0,
sentry:
  dsn: key@hostname.io
  tracing: true
  rate: 0.5

Database Configuration

This goes in configs/database.yaml, and is 100% required. Folderr will not function without it, under any circumstance.

VariableDescriptionTypeExample or Default?Optional
urlThe database URLURLmongodb://localhost/FolderrNo

Database Example

yaml
url: mongodb://localhost/folderr

Email Configuration

Configuration for emails. Goes in configs/email.yaml. 100% optional.

VariableDescriptionTypeExample or Default?Optional
sendingEmailEmail the emailer displaysStringno-reply@example.comYes
mailerOptionsOptions for emailerObjectYes
selfTestWhether or not to test the emailer by sending an email to the sendingEmailBooleantrue, defaultYes

Mailer Options

Configuration for an email server (gmail, personal, GSuite, etc...)

VariableDescriptionTypeExample or Default?Optional
portEmail servers SMTP portNumber587Yes
secureWhether or not to use TLS when connecting to the serverBooleanfalseYes
hostThe url of the email server/hostStringexample.comNo
requireTLSSee Nodemailer documentationBooleanfalseYes
ignoreTLSNo TLS is used (As long as secure is false)BooleanfalseYes
authEmail server authentication objectObjectNo
tlsOptions for TLSObjectYes

Mailer Auth Options

Authentication options to connect to the server host.

VariableDescriptionTypeExample?Optional
userThe username of the user to log inString"no-reply"No
passThe password of the user logging inStringNo

Mailer TLS Options

VariableDescriptionTypeExample or Default?Optional
rejectUnauthorizedWhether or not to reject invalid certificatesBooleanfalse, defaultNo

Email Example

yaml
mailerOptions:
    auth:
        user: no-reply
        pass: SomePassword
    port: 587 # One of the standard SMTP ports, along with 443.
    host: example.com
    tls:
      rejectUnauthorized: false # In case you have a bad certificate.
sendingEmail: "No-Reply <no-reply@example.com>"

Docs licensed under CC BY-NC-SA 4.0
Folderr licensed under AGPL-3.0