diff --git a/.env.sample b/.env.sample index be0fc56..a0d398c 100644 --- a/.env.sample +++ b/.env.sample @@ -3,6 +3,7 @@ TYPE=foodsoft DOMAIN=order.example.org #EXTRA_DOMAINS=', `www.order.example.com`' LETS_ENCRYPT_ENV=production +COMPOSE_FILE="compose.yml" # app settings FOODCOOP_MULTI_INSTALL=true # Best for now, see https://github.com/foodcoops/foodsoft/pull/841 @@ -16,6 +17,8 @@ FOODCOOP_ZIP_CODE=XXX FOODCOOP_HOMEPAGE=https://order.example.org FOODCOOP_HELP_URL=https://order.example.org FOODCOOP_TIME_ZONE=Amsterdam +FOODCOOP_USE_NICK=true +FOODCOOP_LANGUAGE=en FOODCOOP_FOOTER='example hosted by Your Tech Co-op.' USE_APPLE_POINTS=false STOP_ORDERING_UNDER=75 @@ -28,13 +31,17 @@ MYSQL_PORT=3306 MYSQL_USER=foodsoft # shared supplier list settings -# COMPOSE_FILE="compose.yml:compose.sharedlists.yml" +# COMPOSE_FILE="$COMPOSE_FILE:compose.sharedlists.yml" # ENABLE_SHARED_LISTS=0 # SHARED_LISTS_DB_TYPE=mysql2 # SHARED_LISTS_HOST=order.otherfoodcoop.org # SHARED_LISTS_DB_NAME=sharedlists # SHARED_LISTS_USER=example +# Group order invoices generation pull request +# https://github.com/foodcoops/foodsoft/pull/907 +# COMPOSE_FILE="$COMPOSE_FILE:compose.groupOrderInvoice.yml" + # outgoing mail settings EMAIL_SENDER=noreply@example.org EMAIL_ERROR=systems@example.org diff --git a/abra.sh b/abra.sh index 04144c8..cf304e2 100644 --- a/abra.sh +++ b/abra.sh @@ -1,4 +1,4 @@ -export APP_CONFIG_VERSION=v4 +export APP_CONFIG_VERSION=v5 export DB_CONFIG_VERSION=v1 export ENTRYPOINT_VERSION=v1 export PRODUCTION_ENV_VERSION=v1 diff --git a/app_config.yml.tmpl b/app_config.yml.tmpl index e9a528e..f1e1a58 100644 --- a/app_config.yml.tmpl +++ b/app_config.yml.tmpl @@ -33,7 +33,7 @@ default: &defaults foodsoft_url: https://foodcoops.github.io # Default language - default_locale: en + default_locale: {{ env "FOODCOOP_LANGUAGE" }} # By default, foodsoft takes the language from the webbrowser/operating system. # In case you really want foodsoft in a certain language by default, set this to true. @@ -86,7 +86,7 @@ default: &defaults # When use_nick is enabled, there will be a nickname field in the user form, # and the option to show a nickname instead of full name to foodcoop members. # Members of a user's groups and administrators can still see full names. - use_nick: true + use_nick: {{ env "FOODCOOP_USE_NICK" }} # Most plugins can be enabled/disabled here as well. Messages and wiki are enabled # by default and need to be set to false to disable. Most other plugins needs to @@ -129,7 +129,7 @@ default: &defaults email_from: "{{ env "EMAIL_SENDER" }}" # domain to be used for reply emails - reply_email_domain: "{{ env "EMAIL_REPLY_DOMAIN" }}" + reply_email_domain: {{ env "EMAIL_REPLY_DOMAIN" }} # If your foodcoop uses a mailing list instead of internal messaging system #mailing_list: list@example.org diff --git a/compose.groupOrderInvoice.yml b/compose.groupOrderInvoice.yml new file mode 100644 index 0000000..3e2bdd8 --- /dev/null +++ b/compose.groupOrderInvoice.yml @@ -0,0 +1,12 @@ +--- +version: "3.8" + +services: + app: + image: viehlieb/foodsoft:2022-04-07_2 + cron: + image: viehlieb/foodsoft:2022-04-07_2 + worker: + image: viehlieb/foodsoft:2022-04-07_2 + smtp: + image: viehlieb/foodsoft:2022-04-07_2 diff --git a/compose.yml b/compose.yml index 054449b..07afaba 100644 --- a/compose.yml +++ b/compose.yml @@ -2,6 +2,7 @@ version: "3.8" x-env: &env + CERTBOT_DISABLED: 1 DOMAIN: EMAIL_ERROR: EMAIL_REPLY_DOMAIN: @@ -18,12 +19,13 @@ x-env: &env FOODCOOP_STREET: FOODCOOP_TIME_ZONE: FOODCOOP_ZIP_CODE: + FOODCOOP_USE_NICK: + FOODCOOP_LANGUAGE: LOG_LEVEL: - MINIMUM_BALANCE: - MYSQL_DB: foodsoft - MYSQL_HOST: db - MYSQL_PORT: 3306 - MYSQL_USER: foodsoft + MYSQL_DB: + MYSQL_HOST: + MYSQL_PORT: + MYSQL_USER: QUEUE: foodsoft_notifier REDIS_URL: redis://cache:6379 SECRET_KEY_BASE_FILE: /run/secrets/secret_key_base @@ -83,23 +85,23 @@ services: cron: image: foodcoops/foodsoft:4.7.1 + secrets: *secrets + configs: *configs + entrypoint: *entrypoint environment: <<: *env FOODSOFT_SERVICE: cron - configs: *configs - entrypoint: *entrypoint - secrets: *secrets networks: - internal worker: image: foodcoops/foodsoft:4.7.1 + secrets: *secrets + configs: *configs + entrypoint: *entrypoint environment: <<: *env FOODSOFT_SERVICE: worker - configs: *configs - entrypoint: *entrypoint - secrets: *secrets networks: - internal @@ -127,8 +129,8 @@ services: image: "mariadb:10.6" command: "mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_520_ci" environment: - MYSQL_USER: foodsoft - MYSQL_DATABASE: foodsoft + MYSQL_USER: ${MYSQL_USER} + MYSQL_DATABASE: ${MYSQL_DB} MYSQL_PASSWORD_FILE: /run/secrets/db_password MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password secrets: @@ -138,7 +140,12 @@ services: - "db:/var/lib/mysql" networks: - internal - + deploy: + labels: + backupbot.backup: "true" + backupbot.backup.pre-hook: 'mkdir -p /tmp/backup/ && mysqldump --single-transaction -u root -p"$$(cat /run/secrets/db_root_password)" $${MYSQL_DATABASE} > /tmp/backup/backup.sql' + backupbot.backup.post-hook: "rm -rf /tmp/backup" + backupbot.backup.path: "/tmp/backup/" cache: image: "redis:6" networks: