Skip to content

Configuration

paranarimasu edited this page Nov 30, 2022 · 38 revisions

Note: WIP. Please contact para in the Discord for corrections or missing information.


Here we will configure the application for our development environment.

This guide covers configurations that expose settings to the .env file. This guide does not provide an overview for all configuration files.

API

File: config/api.php

These properties pertain to how to interact with the AnimeThemes API.

API Domain

These properties represent the base URL that the API is served from.

API_URL

Set this value if the API should be served from a subdomain such as api.animethemes.test. Otherwise, leave this null.

API_PATH

Set this value if the API is served from the top-level domain such as animethemes.test/api. Otherwise, leave this null.

Audio

File: config/audio.php

These properties pertain to how audio files are stored and served.

Audio Disk

These properties define the filesystem disks where audio are hosted.

AUDIO_DEFAULT_DISK

The primary filesystem that audio will be served from. This disk is also used for validation and reconciliation.

AUDIO_DISKS

The list of filesystems that host audio. AnimeThemes hosts audio in each region where servers are hosted, so we need to perform storage operations against each configured filesystem. For local environments, this can be set to the same value as the default filesystem.

Audio Domain

These properties represent the base URL that audio is served from.

AUDIO_URL

Set this value if audio should be served from a subdomain such as a.animethemes.test. Otherwise, leave this null.

AUDIO_PATH

Set this value if audio should be served from the top-level domain such as animethemes.test/audio. Otherwise, leave this null.

Audio Streaming

These values represent the method by which audio is streamed.

AUDIO_STREAMING_METHOD

At the time of writing, AnimeThemes supports streaming audio through php (response) and nginx (nginx). For local environments, response should be sufficient. Nginx streaming is suitable for staging and production environments with higher amounts of traffic.

AUDIO_NGINX_REDIRECT

The location directive that nginx uses to handle the request and serve audio.

Dump

File: config/dump.php

These properties pertain to how dump files are stored and served.

Dump Disk

These properties define the filesystem disks where dumps are hosted.

DUMP_DISK

The filesystem that dumps will be served from.

Dump Domain

These properties represent the base URL that dumps are served from.

DUMP_URL

Set this value if dumps should be served from a subdomain such as dump.animethemes.test. Otherwise, leave this null.

DUMP_PATH

Set this value if dumps should be served from the top-level domain such as animethemes.test/dump. Otherwise, leave this null.

Feature Flags

File: config/flags.php

These properties are the flags that toggle application features.

ALLOW_VIDEO_STREAMS

When video streams are allowed, requests to the video.show route will stream video. If disabled, requests to the video.show route will raise a 403 Forbidden response.

ALLOW_AUDIO_STREAMS

When audio streams are allowed, requests to the audio.show route will stream video. If disabled, requests to the audio.show route will raise a 403 Forbidden response.

ALLOW_DISCORD_NOTIFICATIONS

When discord notifications are allowed, event listeners shall send discord notifications to the configured discord channel through the configured bot. If discord notifications are not allowed, event listeners shall not send discord notifications.

We may leave this as false if we do not want to dispatch discord notifications. If set to true, we need to ensure that we have configured the needed properties for the discord service in the config/services.php file AND the needed properties for our desired queue worker in config/queue.php to process the dispatched jobs to the configured service.

ALLOW_VIEW_RECORDING

When set to true, a view will be created for the viewable model in the show action of the resource controller. When set to false, a view will not be recorded. By default, this flag is set to false.

ALLOW_DUMP_DOWNLOADING

When dump downloads are allowed, requests to the dump.show route will download dumps. If disabled, requests to the dump.show route will raise a 403 Forbidden response.

ALLOW_SCRIPT_DOWNLOADING

When script downloads are allowed, requests to the videoscript.show route will download scripts. If disabled, requests to the videoscript.show route will raise a 403 Forbidden response.

Services

These properties store credentials for third party services such as Mailgun, Postmark, AWS and more. We should review this file if configuring external services.

MAL_BEARER_TOKEN

Bearer HTTP authentication scheme token used for MAL API calls. This is used solely for seeding purposes, and the seeder will be pruned from the project on the deployment of the wiki release, so we can leave this null.

If, for some reason, we need to use this seeder, this script can be used to generate an access token.

DO_BEARER_TOKEN

Bearer HTTP authentication scheme token used for hosting API calls. This is needed for the transparency page, but can be left null unless work is being done specifically for this page.

File: config/services.php