diff --git a/backup_manager/Dockerfile b/backup_manager/Dockerfile index 6e4b47b..29a4a23 100644 --- a/backup_manager/Dockerfile +++ b/backup_manager/Dockerfile @@ -10,11 +10,10 @@ RUN apt-get update && apt-get -y install cron openssh-server less rsync nano # Create a user named `backupreader` for reading database backups RUN useradd --create-home --shell /bin/bash backupreader -USER backupreader -RUN mkdir -p /home/backupreader/backups +RUN mkdir -p /home/backupreader/backups && chown backupreader /home/backupreader/backups +VOLUME /home/backupreader/backups # Set up periodic backup -USER root COPY backup_manager/backup.cron /etc/cron.d/database-backup RUN chmod 0644 /etc/cron.d/database-backup && \ crontab /etc/cron.d/database-backup && \ diff --git a/backup_manager/scripts/backup_mysql.sh b/backup_manager/scripts/backup_mysql.sh index a5d410b..cd45817 100755 --- a/backup_manager/scripts/backup_mysql.sh +++ b/backup_manager/scripts/backup_mysql.sh @@ -27,6 +27,6 @@ chmod 644 ${BACKUP} ls -lah ${BACKUP} -touch $BASE_PATH/last_success +touch "$BASE_PATH/last_success_${USER}" echo "===============" diff --git a/backup_manager/scripts/entrypoint.sh b/backup_manager/scripts/entrypoint.sh index 1cea3ff..bbad635 100755 --- a/backup_manager/scripts/entrypoint.sh +++ b/backup_manager/scripts/entrypoint.sh @@ -2,6 +2,8 @@ echo ">>> RopeWiki setup beginning..." +chown backupreader /home/backupreader/backups + if [ -z "${RW_ROOT_DB_PASSWORD}" ]; then echo "Disabling backups because RW_ROOT_DB_PASSWORD wasn't set" touch /do_not_backup_db diff --git a/deploy_tool.py b/deploy_tool.py index 3671aac..f646847 100755 --- a/deploy_tool.py +++ b/deploy_tool.py @@ -302,8 +302,8 @@ def create_db(site_config: SiteConfig, options: List[str]): if site_config.db_volume in volumes: run_cmd('docker volume rm {db_volume}'.format(db_volume=site_config.db_volume)) - # Bring the database and backup manager up - run_docker_compose(f'up -d {site_config.db_service} {site_config.backup_manager_service}', site_config) + # Bring the database up + run_docker_compose(f'up -d {site_config.db_service}', site_config) # Wait for container to come up log('>> Waiting for MySQL database to initialize...')