add gateway automatic template and fefan vm
This commit is contained in:
@@ -3,6 +3,6 @@
|
||||
source /opt/bookshelf/env.sh
|
||||
|
||||
TIMESTAMP=$(date +'%Y-%m-%d_%H%M%S')
|
||||
docker exec bookshelf-database-1 mariadb-dump --all-database -u root -p"$MARIADB_ROOT_PASSWORD" > $BOOKSHELF_BACKUPS_DIR/bookshelf-dump-$TIMESTAMP.sql
|
||||
docker exec bookshelf-database-1 mariadb-dump --all-databases -u root -p"$MARIADB_ROOT_PASSWORD" > $BOOKSHELF_BACKUPS_DIR/bookshelf-dump-$TIMESTAMP.sql
|
||||
|
||||
ls -1dt $BOOKSHELF_BACKUPS_DIR/$BOOKSHELF_BACKUP_PREFIX-*.zip | tail -n +5 | xargs -r rm -f
|
||||
ls -1dt $BOOKSHELF_BACKUPS_DIR/$BOOKSHELF_BACKUP_PREFIX-*.sql | tail -n +5 | xargs -r rm -f
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
set -a
|
||||
[ -f /opt/bookshelf/secrets/bookshelf.env ] && source /opt/bookshelf/secrets/bookshelf.env
|
||||
[ -f /opt/bookshelf/bookshelf.env ] && source /opt/bookshelf/bookshelf.env
|
||||
set +a
|
||||
@@ -31,6 +31,17 @@ done
|
||||
|
||||
if [ "$CONCLUSION" = "success" ]; then
|
||||
echo "Launching command..."
|
||||
|
||||
while [ "$(docker inspect -f '{{.State.Running}}' bookshelf-database-1 2>/dev/null)" != "true" ]; do
|
||||
echo "Waiting database container status"
|
||||
sleep 5
|
||||
done
|
||||
|
||||
until docker exec bookshelf-database-1 sh -c "mariadb -u root -p$MARIADB_ROOT_PASSWORD -e 'SELECT 1;' >/dev/null 2>&1"; do
|
||||
echo "Waitin mariadb to accept connections"
|
||||
sleep 5
|
||||
done
|
||||
echo "Restoring backup"
|
||||
systemctl start restore-backup.service
|
||||
else
|
||||
echo "Workflow failed or was cancelled, aborting."
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
source /opt/bookshelf/env.sh
|
||||
|
||||
## .env should define
|
||||
# ACT_RUNNER_USER: act_runner username (act_runner)
|
||||
# ACT_RUNNER_LOCATION: act_runner binary location (/usr/local/bin)
|
||||
# ACT_RUNNER_VERSION: act_runner version (0.2.13)
|
||||
# ENV_FILE_LOCATION: .env file location on vm (/opt/bookshelf/bookshelf.env)
|
||||
# GITEA_INSTANCE_URL: url of the gitea instance (https://gitea.aldon.fr)
|
||||
# GITEA_RUNNER_REGISTRATION_TOKEN: registration token for gitea runner (repository scope)
|
||||
# USERNAME: username of the vm (bookshelf)
|
||||
# REPOSITORY: repository on which service code is hosted (mop/bookshelf)
|
||||
|
||||
if ! id -u $ACT_RUNNER_USER >/dev/null 2>&1; then
|
||||
adduser \
|
||||
--system \
|
||||
@@ -30,9 +40,9 @@ runner:
|
||||
fetch_interval: 2s
|
||||
github_mirror: ''
|
||||
labels:
|
||||
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
||||
- "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
||||
- "ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"
|
||||
- 'ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest'
|
||||
- 'ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04'
|
||||
- 'ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04'
|
||||
cache:
|
||||
enabled: true
|
||||
dir: ""
|
||||
@@ -55,5 +65,5 @@ host:
|
||||
EOF
|
||||
|
||||
cd /home/act_runner
|
||||
sudo -u $ACT_RUNNER_USER act_runner register --no-interactive --instance $GITEA_INSTANCE_URL --token $GITEA_RUNNER_REGISTRATION_TOKEN --name $USERNAME --labels $USERNAME $REPOSITORY
|
||||
sudo -u $ACT_RUNNER_USER act_runner register --no-interactive --instance $GITEA_INSTANCE_URL --token $GITEA_RUNNER_REGISTRATION_TOKEN --name $USERNAME --labels $USERNAME
|
||||
chown -R $ACT_RUNNER_USER:docker /home/$ACT_RUNNER_USER
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Backup Service
|
||||
Wants=network.target
|
||||
After=network.target docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
ExecStart=/usr/local/bin/backup.sh
|
||||
@@ -1,5 +1,5 @@
|
||||
[Unit]
|
||||
Description=Run Bookshelf backup weekly
|
||||
Description=Run backup weekly
|
||||
|
||||
[Timer]
|
||||
OnCalendar=Sun *-*-* 01:00:00
|
||||
@@ -1,11 +1,9 @@
|
||||
[Unit]
|
||||
Description=Restore latest Bookshelf backup
|
||||
Description=Restore latest backup
|
||||
After=network.target
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
ExecStart=/usr/local/bin/restore-backup.sh
|
||||
WorkingDirectory=/home/bookshelf
|
||||
TimeoutStartSec=600
|
||||
ExecStart=/usr/local/bin/restore-backup.sh
|
||||
@@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Weekly Bookshelf Backup
|
||||
Wants=network.target
|
||||
After=network.target docker.service
|
||||
Before=shutdown.target reboot.target halt.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
User=root
|
||||
ExecStart=/usr/local/bin/backup.sh
|
||||
Reference in New Issue
Block a user