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