mirror of
https://github.com/YunoHost-Apps/zusam_ynh.git
synced 2024-09-03 18:05:54 +02:00
We mess with api/.env
This commit is contained in:
parent
9c6eb36c0b
commit
066bea4cdf
2 changed files with 94 additions and 67 deletions
86
conf/sample.env
Normal file
86
conf/sample.env
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
# Version of the API
|
||||||
|
VERSION="0.5.3"
|
||||||
|
|
||||||
|
# Do we allow bots ?
|
||||||
|
ALLOW_BOTS="false"
|
||||||
|
|
||||||
|
# What type of file are we allowed to upload ?
|
||||||
|
ALLOW_VIDEO_UPLOAD="true"
|
||||||
|
ALLOW_IMAGE_UPLOAD="true"
|
||||||
|
ALLOW_PDF_UPLOAD="true"
|
||||||
|
ALLOW_AUDIO_UPLOAD="false" # not allowed since backend is not ready
|
||||||
|
|
||||||
|
# Task execution intervals in seconds
|
||||||
|
CRON_CONVERT_IMAGES="60" # 1 minute
|
||||||
|
CRON_CONVERT_VIDEO="3600" # 1 hour
|
||||||
|
CRON_NOTIFICATION_EMAILS="3600" # 1 hour
|
||||||
|
CRON_COMPRESS_GIFS="3600" # 1 hour
|
||||||
|
CRON_BOT_ACTIVATE="3600" # 1 hour
|
||||||
|
CRON_CLEAN_CACHE="86400" # 1 day
|
||||||
|
CRON_CLEAN_NOTIFICATIONS="604800" # 7 days
|
||||||
|
CRON_CLEAN_FILES="604800" # 7 days
|
||||||
|
CRON_CLEAN_MESSAGES="604800" # 7 days
|
||||||
|
CRON_CLEAN_GROUPS="2592000" # 30 days
|
||||||
|
|
||||||
|
# Can be set to "prod" or "dev"
|
||||||
|
APP_ENV="prod"
|
||||||
|
|
||||||
|
# APP_SECRET is used as seed for all random things.
|
||||||
|
APP_SECRET="__RANDOM_STRING__"
|
||||||
|
|
||||||
|
# DOMAIN is used to generate urls
|
||||||
|
DOMAIN="__DOMAIN__"
|
||||||
|
|
||||||
|
# LANG is the default language of the API
|
||||||
|
LANG="__LANGUAGE__"
|
||||||
|
|
||||||
|
# IDLE_HOURS indicate hours during which heavy operations can occur
|
||||||
|
IDLE_HOURS="01-07"
|
||||||
|
|
||||||
|
# Number of threads to use for video conversion
|
||||||
|
# "0" means that ffmpeg uses all the processing power that it wants
|
||||||
|
VIDEO_CONVERSION_THREADS="1"
|
||||||
|
|
||||||
|
# Control wether a video should be converted or not
|
||||||
|
# We define here types and size conditions that should be accepted as-is, without conversion
|
||||||
|
# Since video/mp4 is maximally compatible, it's probably better to keep it as the only accepted type
|
||||||
|
# You can check comptibility with browsers here: https://caniuse.com/?search=video%20format
|
||||||
|
# VIDEO_FORMAT_NOT_CONVERTED is a comma (',') separated list
|
||||||
|
# VIDEO_SIZE_NOT_CONVERTED is in Mo
|
||||||
|
VIDEO_FORMAT_NOT_CONVERTED="video/mp4"
|
||||||
|
VIDEO_SIZE_NOT_CONVERTED="10"
|
||||||
|
|
||||||
|
# Maximum number of seconds a task can lock the cron command
|
||||||
|
# The zusam:cron command will wait that a previous task is finished before launching a new one
|
||||||
|
# This is the time in seconds before it considers the task as stalled and clears the lock
|
||||||
|
MAX_TASK_LOCK_DURATION="14400"
|
||||||
|
|
||||||
|
# DATABASE_URL is used to locate and eventually connect to the db
|
||||||
|
DATABASE_URL="sqlite:///%kernel.project_dir%/../data/data.db"
|
||||||
|
|
||||||
|
# ffmpeg binary (You can usually find it with `command -v ffmpeg`)
|
||||||
|
FFMPEG_PATH="/usr/bin/ffmpeg"
|
||||||
|
|
||||||
|
# ghostscript binary (You can usually find it with `command -v gs`)
|
||||||
|
GHOSTSCRIPT_PATH="/usr/bin/gs"
|
||||||
|
|
||||||
|
# files directory
|
||||||
|
dir_files="%kernel.project_dir%/../data/files"
|
||||||
|
dir_cache="%kernel.project_dir%/../data/cache"
|
||||||
|
dir_bots="%kernel.project_dir%/../data/bots"
|
||||||
|
|
||||||
|
# Should we allow mails to be sent ?
|
||||||
|
ALLOW_EMAIL="false"
|
||||||
|
|
||||||
|
# For Gmail as a transport, use: "gmail://username:password@localhost"
|
||||||
|
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
|
||||||
|
# Delivery is disabled via "null://localhost"
|
||||||
|
MAILER_DSN=null://localhost
|
||||||
|
mailer_username=""
|
||||||
|
mailer_password=""
|
||||||
|
mailer_auth_mode="cram-md5"
|
||||||
|
mailer_port=587
|
||||||
|
mailer_host=""
|
||||||
|
mailer_transport="smtp"
|
||||||
|
mailer_encryption="tls"
|
||||||
|
|
|
@ -32,27 +32,6 @@ ynh_app_setting_set --app=$app --key=fpm_footprint --value=$fpm_footprint
|
||||||
ynh_app_setting_set --app=$app --key=fpm_free_footprint --value=$fpm_free_footprint
|
ynh_app_setting_set --app=$app --key=fpm_free_footprint --value=$fpm_free_footprint
|
||||||
ynh_app_setting_set --app=$app --key=fpm_usage --value=$fpm_usage
|
ynh_app_setting_set --app=$app --key=fpm_usage --value=$fpm_usage
|
||||||
|
|
||||||
# Install parameters are automatically saved as settings
|
|
||||||
#
|
|
||||||
# Settings are automatically loaded as bash variables
|
|
||||||
# in every app script context, therefore typically these will exist:
|
|
||||||
# - $domain
|
|
||||||
# - $path
|
|
||||||
# - $language
|
|
||||||
# ... etc
|
|
||||||
#
|
|
||||||
# Resources defined in the manifest are provisioned prior to this script
|
|
||||||
# and corresponding settings are also available, such as:
|
|
||||||
# - $install_dir
|
|
||||||
# - $port
|
|
||||||
# - $db_name
|
|
||||||
# ...
|
|
||||||
|
|
||||||
#
|
|
||||||
# $app is the app id (i.e. 'example' for first install,
|
|
||||||
# or 'example__2', '__3', ... for multi-instance installs)
|
|
||||||
#
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# APP "BUILD" (DEPLOYING SOURCES, VENV, COMPILING ETC)
|
# APP "BUILD" (DEPLOYING SOURCES, VENV, COMPILING ETC)
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -81,35 +60,14 @@ chown -R $app:www-data "$install_dir"
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
|
ynh_script_progression --message="Adding system configurations related to $app..." --weight=1
|
||||||
|
|
||||||
### `ynh_add_fpm_config` is used to set up a PHP config.
|
# Create a dedicated PHP-FPM config using conf/extra_php-fpm.conf
|
||||||
### You can remove it if your app doesn't use PHP.
|
|
||||||
### `ynh_add_fpm_config` will use the files conf/php-fpm.conf
|
|
||||||
### If you're not using these lines:
|
|
||||||
### - You can remove these files in conf/.
|
|
||||||
### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script
|
|
||||||
### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script
|
|
||||||
### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script
|
|
||||||
### with the reload at the end of the script.
|
|
||||||
### - And the section "PHP-FPM CONFIGURATION" in the upgrade script
|
|
||||||
|
|
||||||
# Create a dedicated PHP-FPM config using the conf/php-fpm.conf or conf/extra_php-fpm.conf
|
|
||||||
ynh_add_fpm_config
|
ynh_add_fpm_config
|
||||||
|
|
||||||
# Create a dedicated NGINX config using the conf/nginx.conf template
|
# Create a dedicated NGINX config using the conf/nginx.conf template
|
||||||
ynh_add_nginx_config
|
ynh_add_nginx_config
|
||||||
|
|
||||||
### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app.
|
|
||||||
### Use this helper only if there is effectively a log file for this app.
|
|
||||||
### If you're not using this helper:
|
|
||||||
### - Remove the section "BACKUP LOGROTATE" in the backup script
|
|
||||||
### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script
|
|
||||||
### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script
|
|
||||||
### - And the section "SETUP LOGROTATE" in the upgrade script
|
|
||||||
|
|
||||||
# Use logrotate to manage application logfile(s)
|
|
||||||
# ynh_use_logrotate
|
|
||||||
|
|
||||||
# Create a dedicated Fail2Ban config
|
# Create a dedicated Fail2Ban config
|
||||||
|
# We'll see that in later versions
|
||||||
# ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login"
|
# ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -119,34 +77,17 @@ ynh_add_nginx_config
|
||||||
#=================================================
|
#=================================================
|
||||||
# ynh_script_progression --message="Adding a configuration file..." --weight=1
|
# ynh_script_progression --message="Adding a configuration file..." --weight=1
|
||||||
|
|
||||||
### You can add specific configuration files.
|
ynh_add_config --template="../conf/sample.env" --destination="$install_dir/api/.env"
|
||||||
###
|
|
||||||
### Typically, put your template conf file in ../conf/your_config_file
|
|
||||||
### The template may contain strings such as __FOO__ or __FOO_BAR__,
|
|
||||||
### which will automatically be replaced by the values of $foo and $foo_bar
|
|
||||||
###
|
|
||||||
### ynh_add_config will also keep track of the config file's checksum,
|
|
||||||
### which later during upgrade may allow to automatically backup the config file
|
|
||||||
### if it's found that the file was manually modified
|
|
||||||
###
|
|
||||||
### Check the documentation of `ynh_add_config` for more info.
|
|
||||||
|
|
||||||
# ynh_add_config --template="some_config_file" --destination="$install_dir/some_config_file"
|
|
||||||
|
|
||||||
# FIXME: this should be handled by the core in the future
|
# FIXME: this should be handled by the core in the future
|
||||||
# You may need to use chmod 600 instead of 400,
|
# You may need to use chmod 600 instead of 400,
|
||||||
# for example if the app is expected to be able to modify its own config
|
# for example if the app is expected to be able to modify its own config
|
||||||
# chmod 400 "$install_dir/some_config_file"
|
chmod 600 "$install_dir/api/.env"
|
||||||
# chown $app:$app "$install_dir/some_config_file"
|
chown $app:www-data "$install_dir/api/.env"
|
||||||
|
|
||||||
### For more complex cases where you want to replace stuff using regexes,
|
|
||||||
### you shoud rely on ynh_replace_string (which is basically a wrapper for sed)
|
|
||||||
### When doing so, you also need to manually call ynh_store_file_checksum
|
|
||||||
###
|
|
||||||
### ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$install_dir/some_config_file"
|
|
||||||
### ynh_store_file_checksum --file="$install_dir/some_config_file"
|
|
||||||
|
|
||||||
|
#=================================================
|
||||||
# DATABASE
|
# DATABASE
|
||||||
|
#=================================================
|
||||||
|
|
||||||
ynh_script_progression --message="Initialiazing the database..." --weight=1
|
ynh_script_progression --message="Initialiazing the database..." --weight=1
|
||||||
/usr/bin/php$phpversion $install_dir/api/bin/console zusam:init $email $first_group $first_user_pass
|
/usr/bin/php$phpversion $install_dir/api/bin/console zusam:init $email $first_group $first_user_pass
|
||||||
|
|
Loading…
Reference in a new issue