added production docker compose
This commit is contained in:
@@ -0,0 +1,74 @@
|
|||||||
|
version: '3.0'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: mediawiki:1.37.1
|
||||||
|
container_name: limbowiki_app
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
ports:
|
||||||
|
- ${APP_PORT}:80
|
||||||
|
volumes:
|
||||||
|
- app_data:/mediawiki_data
|
||||||
|
command: >
|
||||||
|
sh -c "
|
||||||
|
chown -R www-data:www-data /mediawiki_data;
|
||||||
|
rm /var/www/html/LocalSettings.php;
|
||||||
|
rm /var/www/html/includes/PlatformSettings.php;
|
||||||
|
rm -r /var/www/html/images;
|
||||||
|
ln -s /mediawiki_data/config/LocalSettings.php /var/www/html/LocalSettings.php;
|
||||||
|
ln -s /mediawiki_data/config/PlatformSettings.php /var/www/html/includes/PlatformSettings.php;
|
||||||
|
ln -s /mediawiki_data/images /var/www/html/images;
|
||||||
|
apache2-foreground;"
|
||||||
|
restart: unless-stopped
|
||||||
|
db:
|
||||||
|
image: mariadb:10.6.2
|
||||||
|
container_name: limbowiki_db
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
manager:
|
||||||
|
container_name: limbowiki_manager
|
||||||
|
image: alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
links:
|
||||||
|
- db
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- backups:/backups:ro
|
||||||
|
- app_data:/mediawiki_data:ro
|
||||||
|
- db_data:/db:ro
|
||||||
|
environment:
|
||||||
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
|
- MYSQL_HOST=${MYSQL_HOST}
|
||||||
|
- BACKUP_USERNAME=${BACKUP_USERNAME}
|
||||||
|
- BACKUP_PASSWORD=${BACKUP_PASSWORD}
|
||||||
|
- BACKUP_ADDRESS=${BACKUP_ADDRESS}
|
||||||
|
- BACKUP_DESTINATION_FOLDER=${BACKUP_DESTINATION_FOLDER}
|
||||||
|
command: >
|
||||||
|
sh -c "
|
||||||
|
apk add --no-cache mysql-client;
|
||||||
|
apk add --no-cache lftp;
|
||||||
|
echo \"#!/bin/sh\" > /etc/periodic/daily/backup;
|
||||||
|
echo \"DATAFILE=/tmp/LimboWiki_www_\$$(date +%Y%m%d%H%M%S).sql.gz \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"tar -zcvf $$DATAFILE /mediawiki_data \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"lftp -e \x22 put -O ${BACKUP_DESTINATION_FOLDER} \$$DATAFILE \x22 -u \$${BACKUP_USERNAME},\$${BACKUP_PASSWORD} \$${BACKUP_ADDRESS} \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"rm $$DATAFILE\" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"SQLDMPFILE=/tmp/limboWiki_mariadb_\$$(date +%Y%m%d%H%M%S).sql.gz \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"mysqldump --no-tablespaces -h \"\$${MYSQL_HOST}\" --databases \"\$${MYSQL_DATABASE}\" -u \"\$${MYSQL_USER}\" -p\"\$${MYSQL_PASSWORD}\" | gzip > \$$SQLDMPFILE \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"lftp -e \x22 put -O ${BACKUP_DESTINATION_FOLDER} \$$SQLDMPFILE \x22 -u \$${BACKUP_USERNAME},\$${BACKUP_PASSWORD} \$${BACKUP_ADDRESS} \" >> /etc/periodic/daily/backup;
|
||||||
|
echo \"rm $$SQLDMPFILE\" >> /etc/periodic/daily/backup;
|
||||||
|
chmod +x /etc/periodic/daily/backup;
|
||||||
|
crond -f -l 8;"
|
||||||
|
volumes:
|
||||||
|
backups:
|
||||||
|
driver: ${VOLUME_BACKUPS_DRIVER}
|
||||||
|
driver_opts:
|
||||||
|
type: ${VOLUME_BACKUPS_DRIVER_OPTS_TYPE}
|
||||||
|
o: ${VOLUME_BACKUPS_DRIVER_OPTS_O}
|
||||||
|
device: ${VOLUME_BACKUPS_DRIVER_OPTS_DEVICE}
|
||||||
|
db_data:
|
||||||
|
app_data:
|
||||||
Reference in New Issue
Block a user