The configuration is based on the used Spring Boot framework. For the various configuration options that Spring Boot offers, see Spring Externalized Configuration. Usually property files or environment variables are used, the latter should be found in the current working directory. Basically, the entire application can be personalized via external configuration. Settings relevant to the application are listed below, for further options please see Common Application Properties.
Each of the listed properties below can also be configured via environment variables. The name of the environment variable corresponds to the name of the property in upper case, with the period separator being replaced by an underscore and dashes are removed. Please see Binding From Environment Variables for details.
| Property | Description | Required |
|---|---|---|
| server.port | Port of the internal application server. By default it listens on port 8080. | false |
| attoly.web.verify-user-uri | The URL of the user verification page of the 1st party client. This URL enables a single click forwarding from the e-mail. | true |
| attoly.web.reset-password-uri | The URL of the 1st party client's password reset page. This URL enables a single click forwarding from the e-mail. | true |
| Property | Description | Required |
|---|---|---|
| spring.datasource.url | The URL to the relational database to use.¹ | true |
| spring.datasource.driver-class-name | The database driver used to control database. | true |
| spring.datasource.username | The database user with which access is made. | false |
| spring.datasource.password | An optional password associated with the database user. | false |
| spring.data.redis.host | The host of the Redis database to use. This is mainly required for temporary data. | true |
| spring.data.redis.port | The port of the Redis database. | true |
| spring.data.redis.username | An optional user to authenticate with redis. | false |
| spring.data.redis.password | If authentication is required, the password for the user. | false |
| spring.data.redis.database | The Redis Server database to use. By default, database 0 is used. | false |
¹In principle, any JPA/Hibernate capable relational database can be used. For this, however, the application must also have the corresponding drivers as a dependency in the Java Classpath. By default, only the PostgreSQL drivers are included with the application.
| Property | Description | Required |
|---|---|---|
| spring.mail.host | Host of the SMTP server used by Java Mail. | true |
| spring.mail.port | Port of the SMTP server used by Java Mail. | true |
| spring.mail.username | Name of user to authenticate with the SMTP server. | false |
| spring.mail.password | Password of the user to authenticate with the SMTP server. | false |
| attoly.mail.sender | The sender of the technical emails. Specification in RFC 5322 format, e.g. "Display Name ". |
| Property | Description | Required |
|---|---|---|
| spring.security.oauth2.client.registration.github.clientId | The unique identifier for the registered GitHub OAuth2 application. | true |
| spring.security.oauth2.client.registration.github.clientSecret | The secret of the registered GitHub OAuth2 application. | true |
| attoly.security.token.access.secret | The secret used to sign the JWT access tokens. It must be at least 256 bits (32 Characters) long. | true |
| attoly.security.token.access.expiresIn | The duration in milliseconds after which the access token expires. | false |
| attoly.security.token.refresh.length | The length of the opaque refresh token. | false |
| attoly.security.token.refresh.expiresIn | The duration in milliseconds after which the refresh token expires. | false |
| Property | Description | Required |
|---|---|---|
| attoly.scheduling.jobs.temporary-shortcut-clean-up.enabled | Activates or deactivates the cron job, which removes temporary shortcuts after a certain period of time. | false |
| attoly.scheduling.jobs.temporary-shortcut-clean-up.cron | Sets the time at which the job should run cyclically. Must be a cron expression. | false |
| attoly.scheduling.jobs.initial-admin-creation.enabled | Activates/deactivates the job which allows to create the default admin in the database. Alternatively, this must be created manually, since an administrator is required to manage the platform. | false |
| attoly.scheduling.jobs.initial-admin-creation.email | E-mail address of the default admin account to be created. | false |
| attoly.scheduling.jobs.initial-admin-creation.password | Password of the default admin account to be created. | false |
| Property | Description | Required |
|---|---|---|
| attoly.payment.stripe.api-key | The API key of the Stripe account. This is required to use the Stripe API for payment processing. | true |
| attoly.payment.stripe.webhook-secret | The webhook secret of the Stripe account. This is required to verify incoming webhook requests from Stripe. | true |
| attoly.payment.stripe.success-url | The URL of the 1st party client to which the user is redirected after a successful payment. This URL is used in the Stripe Checkout Session. | true |
| attoly.payment.stripe.cancel-url | The URL of the 1st party client to which the user is redirected after a canceled payment. This URL is used in the Stripe Checkout Session. | true |
| attoly.payment.stripe.portal-return-url | The URL of the 1st party client to which the user is redirected after leaving the Stripe Customer Portal. | true |
| attoly.payment.stripe.plans.PRO | The price ID of the Stripe product and plan for the PRO subscription. This is required to create the Stripe Checkout Session for the PRO subscription. | true |