mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-11 02:11:01 +01:00
71 lines
2.8 KiB
Bash
71 lines
2.8 KiB
Bash
#!/usr/bin/with-contenv bashio
|
|
|
|
#####################
|
|
# Export env values #
|
|
#####################
|
|
|
|
export ALLOWED_HOSTS=$(bashio::config 'ALLOWED_HOSTS') && bashio::log.blue "ALLOWED_HOSTS=$ALLOWED_HOSTS"
|
|
|
|
###################
|
|
# Define database #
|
|
###################
|
|
|
|
bashio::log.info "Defining database"
|
|
export DB_TYPE=$(bashio::config 'DB_TYPE')
|
|
case $(bashio::config 'DB_TYPE') in
|
|
|
|
# Use sqlite
|
|
sqlite)
|
|
bashio::log.info "Using a local sqlite database"
|
|
export DB_ENGINE="django.db.backends.sqlite3"
|
|
export POSTGRES_DB="/data/recipes.db"
|
|
;;
|
|
|
|
mariadb_addon)
|
|
bashio::log.info "Using MariaDB addon. Requirements : running MariaDB addon. Discovering values..."
|
|
if ! bashio::services.available 'mysql'; then
|
|
bashio::log.fatal \
|
|
"Local database access should be provided by the MariaDB addon"
|
|
bashio::exit.nok \
|
|
"Please ensure it is installed and started"
|
|
fi
|
|
|
|
# Use values
|
|
export DB_ENGINE=django.db.backends.postgresql
|
|
export POSTGRES_HOST=$(bashio::services "mysql" "host") && bashio::log.blue "POSTGRES_HOST=$POSTGRES_HOST"
|
|
export POSTGRES_PORT=$(bashio::services "mysql" "port") && bashio::log.blue "POSTGRES_PORT=$POSTGRES_PORT"
|
|
export POSTGRES_DB=/data/recipes.db && bashio::log.blue "POSTGRES_DB=$POSTGRES_DB"
|
|
export POSTGRES_USER=$(bashio::services "mysql" "username") && bashio::log.blue "POSTGRES_USER=$POSTGRES_USER"
|
|
export POSTGRES_PASSWORD=$(bashio::services "mysql" "password") && bashio::log.blue "POSTGRES_PASSWORD=$POSTGRES_PASSWORD"
|
|
|
|
bashio::log.warning "Webtrees is using the Maria DB addon"
|
|
bashio::log.warning "Please ensure this is included in your backups"
|
|
bashio::log.warning "Uninstalling the MariaDB addon will remove any data"
|
|
;;
|
|
|
|
postgresql_external)
|
|
bashio::log.info "Using an external database, please populate all required fields in the addons config"
|
|
export DB_ENGINE=django.db.backends.postgresql
|
|
export POSTGRES_HOST=$(bashio::config "POSTGRES_HOST") && bashio::log.blue "POSTGRES_HOST=$POSTGRES_HOST"
|
|
export POSTGRES_PORT=$(bashio::config "POSTGRES_PORT") && bashio::log.blue "POSTGRES_PORT=$POSTGRES_PORT"
|
|
export POSTGRES_DB=$(bashio::config "POSTGRES_DB") && bashio::log.blue "POSTGRES_DB=$POSTGRES_DB"
|
|
export POSTGRES_USER=$(bashio::config "POSTGRES_USER") && bashio::log.blue "POSTGRES_USER=$POSTGRES_USER"
|
|
export POSTGRES_PASSWORD=$(bashio::config "POSTGRES_PASSWORD") && bashio::log.blue "POSTGRES_PASSWORD=$POSTGRES_PASSWORD"
|
|
;;
|
|
|
|
esac
|
|
|
|
##############
|
|
# Launch app #
|
|
##############
|
|
echo "Moving data directory"
|
|
cp -r /opt/recipes /data/
|
|
mkdir -p /data/recipes/media
|
|
mkdir -p /data/recipes/static
|
|
ln -s /data/recipes/media opt/recipes/media
|
|
ln -s /data/recipes/static opt/recipes/static
|
|
|
|
bashio::log.info "Launching app"
|
|
cd /opt/recipes
|
|
./boot.sh
|