mirror of
https://github.com/xzeldon/vwdump.git
synced 2025-06-28 03:08:14 +03:00
initial commit
This commit is contained in:
commit
bd9987a124
23
.gitlab-ci.yml
Normal file
23
.gitlab-ci.yml
Normal file
@ -0,0 +1,23 @@
|
||||
tages:
|
||||
- build:docker
|
||||
|
||||
variables:
|
||||
IMAGE_NAME: "$CI_REGISTRY_IMAGE/bw_backup"
|
||||
|
||||
.docker_login: &docker_login
|
||||
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
|
||||
|
||||
.docker_build_template: &docker_build
|
||||
stage: build:docker
|
||||
image: docker:latest
|
||||
services:
|
||||
- docker:dind
|
||||
tags:
|
||||
- shared
|
||||
|
||||
build:
|
||||
<<: *docker_build
|
||||
script:
|
||||
- *docker_login
|
||||
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
|
||||
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
|
15
Dockerfile
Normal file
15
Dockerfile
Normal file
@ -0,0 +1,15 @@
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk add --update \
|
||||
sqlite
|
||||
|
||||
COPY start.sh backup.sh /
|
||||
|
||||
ENV DB_FILE /data/db.sqlite3
|
||||
ENV BACKUP_FILE /data/db-backup.sqlite3
|
||||
ENV CRON_TIME "* * * * *"
|
||||
|
||||
RUN chmod 700 /start.sh /backup.sh
|
||||
|
||||
CMD /start.sh
|
||||
|
22
README.md
Normal file
22
README.md
Normal file
@ -0,0 +1,22 @@
|
||||
# bitwarden_rs Backup
|
||||
---
|
||||
|
||||
Docker Containers for bitwarden_rs Backup.
|
||||
|
||||
## Usage
|
||||
```sh
|
||||
docker run --name bitwarden_backup --volumes-from=bitwarden registry.gitlab.com/1o/bitwarden_rs-backup:bw-backup
|
||||
```
|
||||
|
||||
Example for hourly backups
|
||||
```
|
||||
docker run --name bitwarden_backup --volumes-from=bitwarden -e CRON_TIME="0 * * * *" registry.gitlab.com/1o/bitwarden_rs-backup:bw-backup
|
||||
```
|
||||
|
||||
## Environment variables
|
||||
| ENV | Description |
|
||||
| ----- | ----- |
|
||||
| DB_FILE | Path to the Bitwarden sqlite3 database |
|
||||
| BACKUP_FILE | Path to the desired backup location |
|
||||
| CRON_TIME | Cronjob format "Minute Hour Day_of_month Month_of_year Day_of_week Year" |
|
||||
|
9
backup.sh
Normal file
9
backup.sh
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
/usr/bin/sqlite3 $DB_FILE ".backup $BACKUP_FILE"
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
echo "$(date) - Backup successfull"
|
||||
else
|
||||
echo "$(date) - Backup unsuccessfull"
|
||||
fi
|
28
start.sh
Normal file
28
start.sh
Normal file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
DB_FILE=$DB_FILE
|
||||
BACKUP_FILE=$BACKUP_FILE
|
||||
CRON_TIME=$CRON_TIME
|
||||
BACKUP_CMD=/backup.sh #'/usr/bin/sqlite3 '"$DB_FILE"' ".backup '"$BACKUP_FILE"'"'
|
||||
CRONFILE=/etc/crontabs/root
|
||||
LOGFILE=/var/log/backup.log
|
||||
|
||||
if [ ! -e "$DB_FILE" ]
|
||||
then
|
||||
echo "Database $DB_FILE not found!\nPlease check if you mounted the bitwarden_rs volume with '--volumes-from=bitwarden'"!
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ $(grep -c "$BACKUP_CMD" "$CRONFILE") -eq 0 ]
|
||||
then
|
||||
echo "$CRON_TIME $BACKUP_CMD >> $LOGFILE" >> "$CRONFILE"
|
||||
fi
|
||||
|
||||
pgrep crond > /dev/null 2>&1
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
/usr/sbin/crond -L /var/log/cron.log
|
||||
fi
|
||||
|
||||
echo "$(date) - Container started" > "$LOGFILE"
|
||||
tail -F "$LOGFILE"
|
Loading…
x
Reference in New Issue
Block a user