11 Commits

Author SHA1 Message Date
c17c3f0273 chore: publish 2.4.0+2.4.0 release
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is failing
2026-03-31 19:00:05 +02:00
b1051c7a35 chore(deps): update resticpy to 1.3.0 2026-03-31 18:59:50 +02:00
c2cb524710 fix cronjob output 2026-03-31 18:53:06 +02:00
1a617f0942 Merge pull request 'chore(deps): update docker docker tag to v29' (#81) from renovate/docker-29.x into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #81
2026-03-31 12:30:33 +00:00
dd85f389f4 chore(deps): update docker docker tag to v29
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2026-03-25 19:31:23 +00:00
4d7d8fc577 Merge pull request 'fix docs typo' (#83) from hermzz/backup-bot-two:docs-typo into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #83
2026-03-14 03:37:22 +00:00
ef4f0ec87e fix docs typo
All checks were successful
continuous-integration/drone/pr Build is passing
2026-03-13 22:30:51 -04:00
val
2f719bc1f7 Merge pull request 'corrected ssh_key secret insert' (#77) from secret_insert_ssh into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #77
2026-01-02 12:43:10 +00:00
833d87aa14 corrected ssh_key secret insert
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2026-01-02 13:25:06 +01:00
11f1c6bb55 remove default TIMEOUT (abra #596)
All checks were successful
continuous-integration/drone/push Build is passing
2025-12-30 14:06:15 +01:00
3wc
e972ca24d8 Switch to abra-bot for deployment
All checks were successful
continuous-integration/drone/push Build is passing
Re toolshed/organising#668
2025-09-04 15:22:30 -04:00
7 changed files with 15 additions and 15 deletions

View File

@ -5,9 +5,9 @@ steps:
- name: publish image
image: plugins/docker
settings:
username: 3wordchant
username: abra-bot
password:
from_secret: git_coopcloud_tech_token_3wc
from_secret: git_coopcloud_tech_token_abra_bot
repo: git.coopcloud.tech/coop-cloud/backup-bot-two
tags: ${DRONE_SEMVER_BUILD}
registry: git.coopcloud.tech

View File

@ -4,6 +4,8 @@ SECRET_RESTIC_PASSWORD_VERSION=v1
COMPOSE_FILE=compose.yml
#TIMEOUT=
RESTIC_REPOSITORY=/backups/restic
CRON_SCHEDULE='30 3 * * *'

View File

@ -1,11 +1,10 @@
FROM docker:24.0.7-dind
FROM docker:29.3.1-dind
RUN apk add --upgrade --no-cache restic bash python3 py3-pip py3-click py3-docker-py py3-json-logger curl
# Todo use requirements file with specific versions
RUN pip install --break-system-packages resticpy==1.0.2
RUN pip install --break-system-packages resticpy==1.3.0
COPY backupbot.py /usr/bin/backup
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@ -79,10 +79,8 @@ Add the key to your `authorized_keys`:
`ssh-copy-id -i backupkey <user>@<hostname>`
Add your `SSH_KEY` as docker secret:
```
abra app secret insert <backupbot_name> ssh_key v1 """$(cat backupkey)
"""
cat backupkey | abra app secret insert <backupbot_name> ssh_key v1
```
> Attention: This command needs to be executed exactly as stated above, because it places a trailing newline at the end, if this is missing you will get the following error: `Load key "/run/secrets/ssh_key": error in libcrypto`
### Restic REST server Storage

View File

@ -1,6 +1,6 @@
export SSH_CONFIG_VERSION=v1
export ENTRYPOINT_VERSION=v17
export CRONJOB_VERSION=v2
export CRONJOB_VERSION=v3
run_cron () {
schedule="$(crontab -l | tr -s " " | cut -d ' ' -f-5)"

View File

@ -2,7 +2,7 @@
version: "3.8"
services:
app:
image: git.coopcloud.tech/coop-cloud/backup-bot-two:2.3.0-beta
image: git.coopcloud.tech/coop-cloud/backup-bot-two:2.4.0
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/docker/volumes/:/var/lib/docker/volumes/"
@ -23,8 +23,8 @@ services:
mode: 666
deploy:
labels:
- coop-cloud.${STACK_NAME}.version=2.3.0+2.3.0-beta
- coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-300}
- coop-cloud.${STACK_NAME}.version=2.4.0+2.4.0
- coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}
- coop-cloud.backupbot.enabled=true
#entrypoint: ['tail', '-f','/dev/null']
healthcheck:

View File

@ -4,7 +4,7 @@ set -e
CURL_OPTS="-s"
# Check for basic auth
if [ -n "$(cat /run/secrets/push_basicauth)" ]
if [ -s /run/secrets/push_basicauth ]
then
CURL_OPTS="$CURL_OPTS -u $(cat /run/secrets/push_basicauth)"
fi
@ -32,7 +32,8 @@ else
fi
eval "$push_start_notification"
if [ "$(backup --machine-logs create 2>&1 | tee /tmp/backup.log && (grep -q 'backup finished' /tmp/backup.log))" ]
backup --machine-logs create 2>&1 | tee /tmp/backup.log
if grep -q 'backup finished' /tmp/backup.log
then
eval "$push_success_notification"
else