# -*- mode: shell-script -*- GOGOCARTO_DIR="/opt/apps/gogocarto" GOGOCARTO_CODE="$SERVICE_CONFIGSTORE$GOGOCARTO_DIR" GOGOCARTO_RELEASE=3.4.10 GOGOCARTO_URL=https://docker.0k.io/downloads/gogocarto-"${GOGOCARTO_RELEASE}".tar.bz2 gogocarto:init() { current_version="" if [ -e "${GOGOCARTO_CODE}/.version" ]; then current_version="$(cat "${GOGOCARTO_CODE}/.version")" || return 1 fi ## Note: previous content will be removed, if not in `.git` and no ## version matching current one if ! [ -d "${GOGOCARTO_CODE}/.git" ]; then mkdir -p "${GOGOCARTO_CODE}" && cd "${GOGOCARTO_CODE}" && git init . && git config user.email "root@localhost" && git config user.name "Root" || { err "Couldn't create directory ${GOGOCARTO_CODE}, or init it with git." return 1 } fi ## Check if we need to upgrade code. if [ "$current_version" == "$GOGOCARTO_RELEASE" ]; then return 0 fi cd "${GOGOCARTO_CODE}" || return 1 if [ -d "$PWD"/.git ]; then rm -rf "${PWD:?}"/* "$PWD"/{.version,.env} || return 1 else err "Can't find the '.git' directory in ${GOGOCARTO_CODE}." return 1 fi curl -L "$GOGOCARTO_URL" | tar xj || { err "Couldn't download $GOGOCARTO_URL." return 1 } echo "$GOGOCARTO_RELEASE" > .version git add -A . || { err "'git add -A .' in '${GOGOCARTO_CODE}' failed." return 1 } if git diff --staged -s --exit-code; then info "No differences with last saved version." else git commit -m "Release $GOGOCARTO_RELEASE" || { err "'git commit' failed." return 1 } rm -rf "$SERVICE_DATASTORE/var/cache/gogocarto/"* fi } gogocarto:config() { APP_ENV=$(options-get app-env 2>/dev/null) || true APP_ENV=${APP_ENV:-prod} cat < "${GOGOCARTO_CODE}"/.env ###> symfony/framework-bundle ### APP_ENV=${APP_ENV} APP_SECRET=82ec369b81caab5446ddfc3b5edb4d00 CSRF_PROTECTION=$( [ "$APP_ENV" == "prod" ] && echo "true" || echo "false") ## active csrf protection on production servers #TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 #TRUSTED_HOSTS='^localhost|example\.com$' ###< symfony/framework-bundle ### ###> vich upload ### IMAGES_MAX_FILESIZE=8M # for public images upload IMAGE_RESIZE_WIDTH=1000 # in pixel FILES_MAX_FILESIZE=1M # for other public file upload ###> vich upload ### USE_AS_SAAS=false USE_AS_SAAS_PRIVATE=false CONTACT_EMAIL=contact@localhost.fr INSTANCE_NAME=GoGoCarto ###> symfony/swiftmailer-bundle ### # 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 by default via "null://localhost" MAILER_URL=gmail://test.gogocarto:creerdescartesagogo@localhost FROM_EMAIL=test.gogocarto@gmail.com MAX_EMAIL_PER_HOUR=70 ###< symfony/swiftmailer-bundle ### ###> hwi/oauth-bundle ### OAUTH_COMMUNS_ID=disabled OAUTH_COMMUNS_SECRET=disabled OAUTH_GOOGLE_ID=disabled OAUTH_GOOGLE_SECRET=disabled OAUTH_FACEBOOK_ID=disabled OAUTH_FACEBOOK_SECRET=disabled ###< hwi/oauth-bundle ### ###> sentry/sentry-symfony ### # Log errors nicely with sentry. Create your account on sentry.io and provide the DSN here # exple: SENTRY_DSN=https://6145d1aac36c429781fc1b0f79b0da48@sentry.io/1402018 SENTRY_DSN= ###< sentry/sentry-symfony ### ###> Matomo integration - see docs/matomo.md ### MATOMO_URL= MATOMO_SITE_ID= MATOMO_USER_TOKEN= ###< Matomo ### EOF } symphony() { export COMPOSE_IGNORE_ORPHANS=true ## We don't want post deploy that is doing the final http initialization. compose --debug -q --no-init --no-post-deploy \ --without-relation="$SERVICE_NAME":web-proxy \ run \ "${symphony_docker_run_opts[@]}" \ -T --rm -w /opt/apps/"$SERVICE_NAME" \ --entrypoint php \ -u www-data "$SERVICE_NAME" bin/console "$@" | cat return "${PIPESTATUS[0]}" }