automatic initialization
This commit is contained in:
15
.env.sample
15
.env.sample
@ -1,6 +1,7 @@
|
|||||||
TYPE=zammad
|
TYPE=zammad
|
||||||
|
|
||||||
DOMAIN=zammad.example.com
|
DOMAIN=zammad.example.com
|
||||||
|
TIMEOUT=600
|
||||||
|
|
||||||
## Domain aliases
|
## Domain aliases
|
||||||
#EXTRA_DOMAINS=', `www.zammad.example.com`'
|
#EXTRA_DOMAINS=', `www.zammad.example.com`'
|
||||||
@ -8,5 +9,19 @@ DOMAIN=zammad.example.com
|
|||||||
LETS_ENCRYPT_ENV=production
|
LETS_ENCRYPT_ENV=production
|
||||||
|
|
||||||
SECRET_DB_PASSWORD_VERSION=v1
|
SECRET_DB_PASSWORD_VERSION=v1
|
||||||
|
SECRET_SMTP_PASSWORD_VERSION=v1
|
||||||
|
SECRET_ADMIN_PASSWORD_VERSION=v1
|
||||||
|
|
||||||
#RAILS_TRUSTED_PROXIES=['127.0.0.1', '::1', 'your-traefik_app']
|
#RAILS_TRUSTED_PROXIES=['127.0.0.1', '::1', 'your-traefik_app']
|
||||||
|
## Initialization ##
|
||||||
|
PRODUCT_NAME="Support"
|
||||||
|
ORGANIZATION="Test Org"
|
||||||
|
LOGO_URL=logo.svg
|
||||||
|
# TIMEZONE="Europe/Berlin"
|
||||||
|
LOCALE="de-de"
|
||||||
|
|
||||||
|
ADMIN_EMAIL=admin@example.com
|
||||||
|
SMTP_HOST=mail.example.com
|
||||||
|
SMTP_LOGIN=user@example.com
|
||||||
|
SMTP_PORT=465
|
||||||
|
|
||||||
|
21
abra.sh
21
abra.sh
@ -1 +1,22 @@
|
|||||||
export ENTRYPOINT_VERSION=v2
|
export ENTRYPOINT_VERSION=v2
|
||||||
|
export AUTO_WIZARD_VERSION=v1
|
||||||
|
|
||||||
|
get_setting_changes() {
|
||||||
|
/custom-entrypoint.sh "rails r 'puts JSON.pretty_generate(JSON.parse(Setting.all.select{ |setting| setting.state_current != setting.state_initial }.map { |setting| {name: setting.name, value: setting.state_current[\""value\""]} } .to_json))'"
|
||||||
|
}
|
||||||
|
|
||||||
|
console() {
|
||||||
|
/custom-entrypoint.sh "rails c"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
rails_run() {
|
||||||
|
COMMAND="rails r \"$@\""
|
||||||
|
/custom-entrypoint.sh "$COMMAND"
|
||||||
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
cp -f /opt/zammad/contrib/auto_wizard.json /tmp/auto_wizard.json
|
||||||
|
/custom-entrypoint.sh "rails zammad:setup:auto_wizard[/tmp/auto_wizard.json]"
|
||||||
|
}
|
||||||
|
|
||||||
|
69
auto_wizard.json.tmpl
Normal file
69
auto_wizard.json.tmpl
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
{
|
||||||
|
"Users": [
|
||||||
|
{
|
||||||
|
"login": "admin",
|
||||||
|
"firstname": "Admin",
|
||||||
|
"lastname": "Agent",
|
||||||
|
"password": "{{ secret "admin_password" }}",
|
||||||
|
"email": "{{ env "ADMIN_EMAIL" }}"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Channels": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"area": "Email::Notification",
|
||||||
|
"options": {
|
||||||
|
"outbound": {
|
||||||
|
"adapter": "smtp",
|
||||||
|
"options": {
|
||||||
|
"host": "{{ env "SMTP_HOST" }}",
|
||||||
|
"user": "{{ env "SMTP_LOGIN" }}",
|
||||||
|
"password": "{{ secret "smtp_password" }}",
|
||||||
|
"port": "{{ env "SMTP_PORT" }}",
|
||||||
|
"ssl": true,
|
||||||
|
"domain": "{{ env "DOMAIN" }}",
|
||||||
|
"enable_starttls_auto": true,
|
||||||
|
"openssl_verify_mode": "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"active": true,
|
||||||
|
"preferences": {
|
||||||
|
"online_service_disable": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"Settings": [
|
||||||
|
{
|
||||||
|
"name": "fqdn",
|
||||||
|
"value": "{{ env "DOMAIN" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "product_name",
|
||||||
|
"value": "{{ env "PRODUCT_NAME" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "organization",
|
||||||
|
"value": "{{ env "ORGANIZATION" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "product_logo",
|
||||||
|
"value": "{{ env "LOGO_URL" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "timezone_default",
|
||||||
|
"value": "{{ env "TZ" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "locale_default",
|
||||||
|
"value": "{{ env "LOCALE" }}"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "http_type",
|
||||||
|
"value": "https"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"TextModuleLocale": {
|
||||||
|
"Locale": "{{ env "LOCALE" }}"
|
||||||
|
}
|
||||||
|
}
|
23
compose.yml
23
compose.yml
@ -37,6 +37,15 @@ x-shared:
|
|||||||
ZAMMAD_SESSION_JOBS:
|
ZAMMAD_SESSION_JOBS:
|
||||||
ZAMMAD_PROCESS_SCHEDULED:
|
ZAMMAD_PROCESS_SCHEDULED:
|
||||||
ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS:
|
ZAMMAD_PROCESS_DELAYED_JOBS_WORKERS:
|
||||||
|
PRODUCT_NAME:
|
||||||
|
ORGANIZATION:
|
||||||
|
LOGO_URL:
|
||||||
|
LOCALE:
|
||||||
|
ADMIN_EMAIL:
|
||||||
|
SMTP_HOST:
|
||||||
|
SMTP_LOGIN:
|
||||||
|
SMTP_PORT:
|
||||||
|
DOMAIN:
|
||||||
image: ghcr.io/zammad/zammad:6.3.1-95
|
image: ghcr.io/zammad/zammad:6.3.1-95
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
@ -53,8 +62,12 @@ x-shared:
|
|||||||
- source: entrypoint
|
- source: entrypoint
|
||||||
target: /custom-entrypoint.sh
|
target: /custom-entrypoint.sh
|
||||||
mode: 0555
|
mode: 0555
|
||||||
|
- source: auto_wizard
|
||||||
|
target: /opt/zammad/contrib/auto_wizard.json
|
||||||
secrets:
|
secrets:
|
||||||
- db_password
|
- db_password
|
||||||
|
- smtp_password
|
||||||
|
- admin_password
|
||||||
|
|
||||||
services:
|
services:
|
||||||
zammad-backup:
|
zammad-backup:
|
||||||
@ -227,8 +240,18 @@ configs:
|
|||||||
entrypoint:
|
entrypoint:
|
||||||
name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION}
|
name: ${STACK_NAME}_entrypoint_${ENTRYPOINT_VERSION}
|
||||||
file: entrypoint.sh
|
file: entrypoint.sh
|
||||||
|
auto_wizard:
|
||||||
|
name: ${STACK_NAME}_auto_wizard_${AUTO_WIZARD_VERSION}
|
||||||
|
file: auto_wizard.json.tmpl
|
||||||
|
template_driver: golang
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
db_password:
|
db_password:
|
||||||
external: true
|
external: true
|
||||||
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
|
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
|
||||||
|
smtp_password:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_smtp_password_${SECRET_SMTP_PASSWORD_VERSION}
|
||||||
|
admin_password:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_admin_password_${SECRET_ADMIN_PASSWORD_VERSION}
|
||||||
|
Reference in New Issue
Block a user