Add ENV VARS for missing .env options #100

Merged
mwalbeck merged 1 commits from issues/82/1 into master 2021-03-20 14:33:29 +00:00
2 changed files with 60 additions and 22 deletions

View File

@ -13,33 +13,44 @@ The container can be configured with environment variables and you can see the l
The container support using Mariadb/MySQL or PostreSQL as the database instead of sqlite, and is the reason why the image is currently being built from master instead of the latest release. The container support using Mariadb/MySQL or PostreSQL as the database instead of sqlite, and is the reason why the image is currently being built from master instead of the latest release.
OBS: The very first time you start the container ```FLOX_DB_INIT``` should be set to true. Afterwards it should be set to false and the container should be restarted. ```FLOX_DB_INIT``` should only be set when you want to initialise a new database. If you don't set it to false after the first run then the container will failed to start. OBS: The very first time you start the container `FLOX_DB_INIT` should be set to true. Afterwards it should be set to false and the container should be restarted. `FLOX_DB_INIT` should only be set when you want to initialise a new database. If you don't set it to false after the first run then the container will failed to start.
## Config options ## Config options
|Variable name |default value|description| | Variable name | Default value | Description |
|--------------------------|-------------|-----------| | ------------------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|UID |1000|The user id the container should run as.| | UID | 1000 | The user id the container should run as. |
|GID |1000|The group id the container should run as.| | GID | 1000 | The group id the container should run as. |
|FLOX_DB_INIT |false|If the database should be initialised when the container is started. Should only be true the first time you start the container.| | FLOX_DB_INIT | false | If the database should be initialised when the container is started. Should only be true the first time you start the container. |
|FLOX_DB_CONNECTION |sqlite|Which database type to use. Can be either ```sqlite```, ```mysql``` or ```pgsql```| | FLOX_DB_CONNECTION | sqlite | Which database type to use. Can be either `sqlite`, `mysql` or `pgsql` |
|FLOX_DB_NAME |/var/www/flox/backend/database/database.sqlite|The name of the database or when using sqlite the filepath of the database file.| | FLOX_DB_NAME | /var/www/flox/backend/database/database.sqlite | The name of the database or when using sqlite the filepath of the database file. |
|FLOX_DB_USER |-|The database user. Only applicable when using either ```mysql``` or ```pgsql```| | FLOX_DB_USER | - | The database user. Only applicable when using either `mysql` or `pgsql` |
|FLOX_DB_PASS |-|The database users password. Only applicable when using either ```mysql``` or ```pgsql```| | FLOX_DB_PASS | - | The database users password. Only applicable when using either `mysql` or `pgsql` |
|FLOX_DB_HOST |localhost|IP address or hostname for the database. Only applicable when using either ```mysql``` or ```pgsql```| | FLOX_DB_HOST | localhost | IP address or hostname for the database. Only applicable when using either `mysql` or `pgsql` |
|FLOX_DB_PORT |3306|The port the database is listening on. Only applicable when using either ```mysql``` or ```pgsql```| | FLOX_DB_PORT | 3306 | The port the database is listening on. Only applicable when using either `mysql` or `pgsql` |
|FLOX_ADMIN_USER |admin|Username of the admin account| | FLOX_ADMIN_USER | admin | Username of the admin account |
|FLOX_ADMIN_PASS |admin|Password of the admin account| | FLOX_ADMIN_PASS | admin | Password of the admin account |
|FLOX_APP_URL |http://localhost|The root URL for flox| | FLOX_APP_URL | http://localhost | The root URL for flox |
|FLOX_APP_ENV |local|The application environment. Can either be ```local``` or ```production```| | FLOX_APP_ENV | local | The application environment. Can either be `local` or `production` |
|FLOX_APP_DEBUG |false|Debug mode. Can either be ```true``` or ```false```| | FLOX_APP_DEBUG | false | Debug mode. Can either be `true` or `false` |
|FLOX_CLIENT_URI |/|| | FLOX_TIMEZONE | UTC | Your timezone. Look [here](https://www.php.net/manual/en/timezones.php) for timezone names |
|FLOX_TIMEZONE |UTC|Your timezone. Look [here](https://www.php.net/manual/en/timezones.php) for timezone names| | FLOX_DAILY_REMINDER_TIME | 10:00 | When to receive a daily reminder via email about tv episodes and movies coming out today. |
|FLOX_DAILY_REMINDER_TIME |10:00|| | FLOX_WEEKLY_REMINDER_TIME | 20:00 | When to receive a weekly reminder via email about tv episodes and movies that has come out during the last 7 days. |
|FLOX_WEEKLY_REMINDER_TIME |20:00|| | FLOX_TRANSLATION | - | Which language flox should use. |
|TMDB_API_KEY |-|An API key for TMDB. Look [here](https://www.themoviedb.org/faq/api) for more info| | FLOX_DATE_FORMAT_PATTERN | d.m.y | |
| FLOX_REDIS_HOST | localhost | IP address or hostname of your redis instance. |
| FLOX_REDIS_PASSWORD | null | Password for your redis instance, if applicable. |
| FLOX_REDIS_PORT | 6379 | The port used by your redis instance. |
| FLOX_MAIL_DRIVER | smtp | Which mail driver to use. Checkout the Laravel documentation for more options |
| FLOX_MAIL_HOST | - | IP address or hostname for your SMTP server |
| FLOX_MAIL_PORT | 587 | Port to use for sending mail. |
| FLOX_MAIL_USERNAME | - | SMTP username |
| FLOX_MAIL_PASSWORD | - | SMTP password |
| FLOX_MAIL_ENCRYPTION | tls | Mail transport encryption |
| TMDB_API_KEY | - | An API key for TMDB. Look [here](https://www.themoviedb.org/faq/api) for more info |
## Example docker-compose ## Example docker-compose
``` ```
version: '2' version: '2'
@ -78,6 +89,7 @@ services:
``` ```
## Example nginx config ## Example nginx config
``` ```
server { server {
listen [::]:80; listen [::]:80;

View File

@ -19,6 +19,19 @@ FLOX_CLIENT_URI=${FLOX_CLIENT_URI:-/}
FLOX_TIMEZONE=${FLOX_TIMEZONE:-UTC} FLOX_TIMEZONE=${FLOX_TIMEZONE:-UTC}
FLOX_DAILY_REMINDER_TIME=${FLOX_DAILY_REMINDER_TIME:-10:00} FLOX_DAILY_REMINDER_TIME=${FLOX_DAILY_REMINDER_TIME:-10:00}
FLOX_WEEKLY_REMINDER_TIME=${FLOX_WEEKLY_REMINDER_TIME:-20:00} FLOX_WEEKLY_REMINDER_TIME=${FLOX_WEEKLY_REMINDER_TIME:-20:00}
FLOX_TRANSLATION=${FLOX_TRANSLATION:-}
FLOX_LOADING_ITEMS=${FLOX_LOADING_ITEMS:-30}
FLOX_DATE_FORMAT_PATTERN=${FLOX_DATE_FORMAT_PATTERN:-d.m.y}
FLOX_REDIS_HOST=${FLOX_REDIS_HOST:-localhost}
FLOX_REDIS_PASSWORD=${FLOX_REDIS_PASSWORD:-null}
FLOX_REDIS_PORT=${FLOX_REDIS_PORT:-6379}
FLOX_MAIL_DRIVER=${FLOX_MAIL_DRIVER:-smtp}
FLOX_MAIL_HOST=${FLOX_MAIL_HOST:-}
FLOX_MAIL_PORT=${FLOX_MAIL_PORT:-587}
FLOX_MAIL_USERNAME=${FLOX_MAIL_USERNAME:-}
FLOX_MAIL_PASSWORD=${FLOX_MAIL_PASSWORD:-}
FLOX_MAIL_ENCRYPTION=${FLOX_MAIL_ENCRYPTION:-tls}
FLOX_PHP_TIME_LIMIT=${FLOX_PHP_TIME_LIMIT:-600}
TMDB_API_KEY=${TMDB_API_KEY:?A TMDB API key is required} TMDB_API_KEY=${TMDB_API_KEY:?A TMDB API key is required}
usermod -o -u "$UID" foo usermod -o -u "$UID" foo
@ -51,6 +64,19 @@ sed -i "s!^TIMEZONE=.*!TIMEZONE=$FLOX_TIMEZONE!g" .env
sed -i "s!^DAILY_REMINDER_TIME=.*!DAILY_REMINDER_TIME=$FLOX_DAILY_REMINDER_TIME!g" .env sed -i "s!^DAILY_REMINDER_TIME=.*!DAILY_REMINDER_TIME=$FLOX_DAILY_REMINDER_TIME!g" .env
sed -i "s!^WEEKLY_REMINDER_TIME=.*!WEEKLY_REMINDER_TIME=$FLOX_WEEKLY_REMINDER_TIME!g" .env sed -i "s!^WEEKLY_REMINDER_TIME=.*!WEEKLY_REMINDER_TIME=$FLOX_WEEKLY_REMINDER_TIME!g" .env
sed -i "s!^APP_ENV=.*!APP_ENV=local!g" .env sed -i "s!^APP_ENV=.*!APP_ENV=local!g" .env
sed -i "s!^TRANSLATION=.*!TRANSLATION=$FLOX_TRANSLATION!g" .env
sed -i "s!^LOADING_ITEMS=.*!LOADING_ITEMS=$FLOX_LOADING_ITEMS!g" .env
sed -i "s!^DATE_FORMAT_PATTERN=.*!DATE_FORMAT_PATTERN=$FLOX_DATE_FORMAT_PATTERN!g" .env
sed -i "s!^REDIS_HOST=.*!REDIS_HOST=$FLOX_REDIS_HOST!g" .env
sed -i "s!^REDIS_PASSWORD=.*!REDIS_PASSWORD=$FLOX_REDIS_PASSWORD!g" .env
sed -i "s!^REDIS_PORT=.*!REDIS_PORT=$FLOX_REDIS_PORT!g" .env
sed -i "s!^MAIL_DRIVER=.*!MAIL_DRIVER=$FLOX_MAIL_DRIVER!g" .env
sed -i "s!^MAIL_HOST=.*!MAIL_HOST=$FLOX_MAIL_HOST!g" .env
sed -i "s!^MAIL_PORT=.*!MAIL_PORT=$FLOX_MAIL_PORT!g" .env
sed -i "s!^MAIL_USERNAME=.*!MAIL_USERNAME=$FLOX_MAIL_USERNAME!g" .env
sed -i "s!^MAIL_PASSWORD=.*!MAIL_PASSWORD=$FLOX_MAIL_PASSWORD!g" .env
sed -i "s!^MAIL_ENCRYPTION=.*!MAIL_ENCRYPTION=$FLOX_MAIL_ENCRYPTION!g" .env
sed -i "s!^PHP_TIME_LIMIT=.*!PHP_TIME_LIMIT=$FLOX_PHP_TIME_LIMIT!g" .env
if [ "$FLOX_DB_INIT" = "true" ]; then if [ "$FLOX_DB_INIT" = "true" ]; then
php artisan flox:db --no-interaction "$FLOX_ADMIN_USER" "$FLOX_ADMIN_PASS" php artisan flox:db --no-interaction "$FLOX_ADMIN_USER" "$FLOX_ADMIN_PASS"