Rename services, add EXTRA_DOMAINS

See compose-stacks/organising#15 & compose-stacks/organising#19
This commit is contained in:
3wc 2020-10-06 01:32:46 +02:00
parent ecf91f0154
commit 6e10ec2d24
6 changed files with 57 additions and 50 deletions

View File

@ -55,9 +55,9 @@ $wgEmailAuthentication = true;
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "mariadb";
$wgDBname = "mediawiki";
$wgDBuser = "mediawiki";
$wgDBserver = "{{ env "DB_HOST" }}";
$wgDBname = "{{ env "DB_NAME" }}";
$wgDBuser = "{{ env "DB_USER" }}";
$wgDBpassword = rtrim(file_get_contents('/run/secrets/db_password'));
# MySQL specific settings

View File

@ -32,7 +32,7 @@ This app includes optional SAML Single Sign On using
NOTE: currently, if you enable SAML then it'll disable Mediawiki's own user account
system. Patches to make this configurable are welcome!
1. Edit `.envrc` and uncomment lines in the `SAML` section (including `COMPOSE`)
1. Edit `.envrc` and uncomment lines in the `SAML` section (including `COMPOSE_FILE`)
2. `direnv allow`
3. Generate secrets:
```

View File

@ -2,7 +2,7 @@
version: '3.8'
services:
mediawiki:
app:
volumes:
- 'simplesaml:/var/simplesamlphp/'
- 'simplesaml_log:/var/simplesamlphp/log'
@ -56,6 +56,7 @@ services:
deploy:
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.services.${STACK_NAME}_simplesaml.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}_simplesaml.rule=(Host(`${DOMAIN}`) && PathPrefix(`/simplesaml`))"
- "traefik.http.routers.${STACK_NAME}_simplesaml.entrypoints=web-secure"

View File

@ -2,7 +2,54 @@
version: '3.8'
services:
mariadb:
app:
image: 'revianlabs/mediawiki-ve-bundle'
environment:
- DOMAIN
- STACK_NAME
- MEDIAWIKI_EMAIL_CONTACT
- MEDIAWIKI_EMAIL_FROM
- MEDIAWIKI_SITENAME
- MEDIAWIKI_SITENAMESPACE
- SAML_ENABLED
- DB_HOST=db
- DB_USER=mediawiki
- DB_NAME=mediawiki
volumes:
- 'mediawiki_images:/var/www/html/images'
- 'parsoid:/usr/lib/parsoid'
configs:
- source: LocalSettings_conf
target: /var/www/html/LocalSettings.php
- source: htaccess_conf
target: /var/www/html/.htaccess
- source: entrypoint2_conf
target: /docker-entrypoint2.sh
mode: 0555
depends_on:
- db
secrets:
- db_password
- mediawiki_secret_key
networks:
- proxy
- internal
deploy:
update_config:
failure_action: rollback
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
entrypoint: /docker-entrypoint2.sh
db:
image: 'mariadb:10.5'
environment:
- MYSQL_USER=mediawiki
@ -23,45 +70,6 @@ services:
max_attempts: 3
window: 120s
mediawiki:
image: 'revianlabs/mediawiki-ve-bundle'
environment:
- DOMAIN
- STACK_NAME
- MEDIAWIKI_EMAIL_CONTACT
- MEDIAWIKI_EMAIL_FROM
- MEDIAWIKI_SITENAME
- MEDIAWIKI_SITENAMESPACE
- SAML_ENABLED
volumes:
- 'mediawiki_images:/var/www/html/images'
- 'parsoid:/usr/lib/parsoid'
configs:
- source: LocalSettings_conf
target: /var/www/html/LocalSettings.php
- source: htaccess_conf
target: /var/www/html/.htaccess
- source: entrypoint2_conf
target: /docker-entrypoint2.sh
mode: 0555
depends_on:
- mariadb
secrets:
- db_password
- mediawiki_secret_key
networks:
- proxy
- internal
deploy:
update_config:
failure_action: rollback
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80"
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
entrypoint: /docker-entrypoint2.sh
volumes:
mariadb:

View File

@ -9,11 +9,11 @@ init_db() {
apt update && apt install -y mariadb-client
fi
PASSWORD=`cat /run/secrets/db_password`
TABLE_COUNT=$(mysql -u mediawiki --password="$PASSWORD" -h mariadb mediawiki -e "SELECT count(*) AS TOTAL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mediawiki';" -N -B)
PASSWORD=$(cat /run/secrets/db_password)
TABLE_COUNT=$(mysql -u "${DB_USER}" --password="$PASSWORD" -h "${DB_HOST}" "${DB_NAME}" -e "SELECT count(*) AS TOTAL FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'mediawiki';" -N -B)
if [[ "${TABLE_COUNT}" == "0" ]]; then
mysql -u mediawiki --password="$PASSWORD" -h mariadb mediawiki < /var/www/html/maintenance/tables.sql
mysql -u "${DB_USER}" --password="$PASSWORD" -h "${DB_HOST}" "${DB_NAME}" < /var/www/html/maintenance/tables.sql
else
php /var/www/html/maintenance/update.php
fi

View File

@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
file_env() {
local var="$1"
local fileVar="${var}_FILE"