Compare commits

..

6 commits

Author SHA1 Message Date
nold e07f5e9957 Update README 2022-01-21 10:27:23 +01:00
nold c0cb6eb340 Update(drone): Build buster & bullseye images 2022-01-21 10:19:37 +01:00
nold 80e99c96d5 Change(Dockerfile): Allow different base images 2022-01-21 10:16:58 +01:00
nold 5c1724875c Change: Add restrict to client keys & output debian version 2022-01-21 10:16:42 +01:00
nold 04819a897c Fix: authorized_keys permissions 2022-01-21 10:03:52 +01:00
nold 9ff54e254f Upgrade to bullseye-slim image 2022-01-21 10:03:52 +01:00
7 changed files with 50 additions and 50 deletions

36
.drone.yml Normal file
View file

@ -0,0 +1,36 @@
---
kind: pipeline
name: build
type: kubernetes
steps:
- name: build-bullseye
image: plugins/kaniko
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: nold360/borgserver
dockerfile: Dockerfile
build_args:
- BASE_IMAGE=debian:bullseye-slim
tags:
- latest
- bullseye
- 1.1.16
- name: build-buster
image: plugins/kaniko
settings:
username:
from_secret: docker_username
password:
from_secret: docker_password
repo: nold360/borgserver
dockerfile: Dockerfile
build_args:
- BASE_IMAGE=debian:buster-slim
tags:
- buster
- 1.1.9

View file

@ -1,39 +0,0 @@
steps:
build:
image: woodpeckerci/plugin-docker-buildx
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}
password:
from_secret: cb_token
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

View file

@ -2,7 +2,8 @@
# Dockerfile to build borgbackup server images # Dockerfile to build borgbackup server images
# Based on Debian # Based on Debian
############################################################ ############################################################
FROM debian:12.4-slim ARG BASE_IMAGE=debian:bullseye-slim
FROM $BASE_IMAGE
# Volume for SSH-Keys # Volume for SSH-Keys
VOLUME /sshkeys VOLUME /sshkeys

View file

@ -29,7 +29,7 @@ docker run -td \
-p 2222:22 \ -p 2222:22 \
--volume ./borg/sshkeys:/sshkeys \ --volume ./borg/sshkeys:/sshkeys \
--volume ./borg/backup:/backup \ --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 ##### 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 #### BORG_APPEND_ONLY
@ -62,7 +62,7 @@ To declare a client as admin, set this variable to the name of the client/sshkey
##### Example ##### 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: To prune repos from another client, you have to add the path to the repository in the clients directory:
@ -132,3 +132,9 @@ And create your first backup!
``` ```
$ borg create backup:my_first_borg_repo::documents-2017-11-01 /home/user/MyImportentDocs $ 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:
- Latest / Stable [borg 1.1.16]: `bullseye`, `1.1.16`, `latest`
- Legacy / Buster [borg 1.1.9 ]: `buster`, `1.1.9`

View file

@ -78,7 +78,6 @@ for keyfile in $(find "${SSH_KEY_DIR}/clients" ! -regex '.*/\..*' -a -type f); d
echo -n "restrict,command=\"$(eval echo -n \"${borg_cmd}\")\" " >> ${AUTHORIZED_KEYS_PATH} echo -n "restrict,command=\"$(eval echo -n \"${borg_cmd}\")\" " >> ${AUTHORIZED_KEYS_PATH}
cat ${keyfile} >> ${AUTHORIZED_KEYS_PATH} cat ${keyfile} >> ${AUTHORIZED_KEYS_PATH}
echo >> ${AUTHORIZED_KEYS_PATH}
done done
chmod 0600 "${AUTHORIZED_KEYS_PATH}" chmod 0600 "${AUTHORIZED_KEYS_PATH}"

View file

@ -25,6 +25,3 @@ PermitTTY no
PrintMotd no PrintMotd no
PermitTunnel no PermitTunnel no
Subsystem sftp /bin/false Subsystem sftp /bin/false
ClientAliveInterval 10
ClientAliveCountMax 30

View file

@ -1,7 +1,7 @@
version: '3' version: '3'
services: services:
borgserver: borgserver:
image: git.merp.digital/eranmorkon/borgserver image: nold360/borgserver
#build: . #build: .
volumes: volumes:
- ./backup:/backup - ./backup:/backup