diff --git a/.woodpecker.yml b/.woodpecker.yml index b765cde..5cd8b9e 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -1,39 +1,30 @@ -steps: +--- +variables: + - &kaniko_plugin 'plugins/kaniko:1.6' + +matrix: + include: + - BASE: bookworm-slim + TAGS: '[ "bookwork", "1.2", "1.2.2" ]' + - BASE: bullseye-slim + TAGS: '[ "bullseye", "latest", "1.1.16" ]' + - BASE: buster-slim + TAGS: '[ "buster", "1.1.9" ]' + +pipeline: build: - image: woodpeckerci/plugin-docker-buildx + image: *kaniko_plugin + group: build settings: - dry-run: true - repo: git.merp.digital/${CI_REPO_OWNER}/borgserver - platforms: linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8 - registry: git.merp.digital - when: - - event: push - branch: - exclude: [develop, master] - - publish-nightly: - image: woodpeckerci/plugin-docker-buildx - settings: - repo: git.merp.digital/${CI_REPO_OWNER}/borgserver - platforms: linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8 - registry: git.merp.digital - tags: develop-${CI_COMMIT_SHA} - username: ${CI_REPO_OWNER} + repo: nold360/borgserver + dockerfile: Dockerfile + build_args: + - BASE_IMAGE=debian:${BASE} + tags: ${TAGS} + username: + from_secret: docker_username password: - from_secret: cb_token + from_secret: docker_password when: - - event: push - branch: develop - - publish-release: - image: woodpeckerci/plugin-docker-buildx - settings: - repo: git.merp.digital/${CI_REPO_OWNER}/borgserver - platforms: linux/386,linux/amd64,linux/arm/v7,linux/arm64/v8 - registry: git.merp.digital - tags: ${CI_COMMIT_TAG} - username: ${CI_REPO_OWNER} - password: - from_secret: cb_token - when: - - event: tag \ No newline at end of file + - branch: master + - event: cron diff --git a/Dockerfile b/Dockerfile index 893a84c..a7cd5d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,8 @@ # Dockerfile to build borgbackup server images # Based on Debian ############################################################ -FROM debian:12.4-slim +ARG BASE_IMAGE=debian:bullseye-slim +FROM $BASE_IMAGE # Volume for SSH-Keys VOLUME /sshkeys diff --git a/README.md b/README.md index 2ae399d..5b4defd 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ docker run -td \ -p 2222:22 \ --volume ./borg/sshkeys:/sshkeys \ --volume ./borg/backup:/backup \ - git.merp.digital/eranmorkon/borgserver:1.0.0 + nold360/borgserver:latest ``` @@ -45,7 +45,7 @@ See the the documentation for all available arguments: [borgbackup.readthedocs.i ##### Example ``` -docker run --rm -e BORG_SERVE_ARGS="--progress --debug" (...) git.merp.digital/eranmorkon/borgserver +docker run --rm -e BORG_SERVE_ARGS="--progress --debug" (...) nold360/borgserver ``` #### BORG_APPEND_ONLY @@ -62,7 +62,7 @@ To declare a client as admin, set this variable to the name of the client/sshkey ##### Example ``` -docker run --rm -e BORG_APPEND_ONLY="yes" -e BORG_ADMIN="nolds_notebook" (...) git.merp.digital/eranmorkon/borgserver +docker run --rm -e BORG_APPEND_ONLY="yes" -e BORG_ADMIN="nolds_notebook" (...) nold360/borgserver ``` To prune repos from another client, you have to add the path to the repository in the clients directory: @@ -132,3 +132,10 @@ And create your first backup! ``` $ borg create backup:my_first_borg_repo::documents-2017-11-01 /home/user/MyImportentDocs ``` + +## Tags + +All images are freshly built every week & published as `nold360/borgserver` with the following tags: + - Next / Unstable [borg 1.2.0]: `bookworm`, `1.2.0` + - Latest / Stable [borg 1.1.16]: `bullseye`, `1.1.16`, `latest` + - Legacy / Buster [borg 1.1.9 ]: `buster`, `1.1.9` diff --git a/docker-compose.yml b/docker-compose.yml index 6557ab3..e66b4cd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: borgserver: - image: git.merp.digital/eranmorkon/borgserver + image: nold360/borgserver #build: . volumes: - ./backup:/backup diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +}