Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
9999957
feat(bareos): Added Bareos 24 images based on Ubuntu 24.04
dark-vex Oct 4, 2025
66d44e9
fix(bareos): Issue with keyring, Debian/Ubuntu have deprecated the us…
dark-vex Oct 4, 2025
ed3b4a9
fix(bareos): GPG key issue
dark-vex Oct 4, 2025
bbc45d2
Update lint job to use ubuntu-latest
dark-vex Nov 18, 2025
e3c0dc0
chore(gh-actions): Changed repo url and runner
dark-vex Nov 18, 2025
aed2d02
Update Docker push commands to use INPUT_REGISTRY
dark-vex Nov 18, 2025
e8dc99d
fix(ci): Image building
dark-vex Nov 19, 2025
5c25f16
fix(ci): test phase missing registry url
dark-vex Nov 19, 2025
9a74532
fix(ci): Missing inputs from secret
dark-vex Nov 19, 2025
f702c1d
feat(director): Add alpine 3.22 with Bareos 24
dark-vex Nov 21, 2025
1c181d9
chore(ci): Test bump
dark-vex Nov 21, 2025
7e16efe
chore(ci): Alpine Docker image
dark-vex Nov 21, 2025
fdbdc04
chore(ci): Alpine 20
dark-vex Nov 21, 2025
49aac7a
test
dark-vex Nov 21, 2025
cacf151
Create claude.yml
dark-vex Nov 21, 2025
48c9deb
Update claude.yml
dark-vex Nov 21, 2025
82d23c5
Update claude.yml
dark-vex Nov 21, 2025
ac988c4
Add Bareos 24 Alpine images for client, storage, webui, and api
github-actions[bot] Nov 21, 2025
8430c78
Fix Alpine build failure by adding edge repository for Bareos packages
github-actions[bot] Nov 21, 2025
60866ee
Update Dockerfile
dark-vex Nov 21, 2025
75eec3a
Update Dockerfile
dark-vex Nov 21, 2025
b154052
Fix Alpine build failure by using Alpine 3.16
github-actions[bot] Nov 21, 2025
503dc28
Merge pull request #13 from dark-vex/claude/issue-11-20251121-2300
dark-vex Nov 22, 2025
e5a579c
fix(bareos): Fix images, alpine does not have bareos v24 version on a…
dark-vex Nov 22, 2025
3bb9f3b
fix(ci): API test
dark-vex Nov 22, 2025
484b253
Update entrypoint.sh
dark-vex Nov 22, 2025
4af1f66
Update entrypoint.sh
dark-vex Nov 22, 2025
5a85dc9
fix(bareos): API v24
dark-vex Nov 22, 2025
eb813c3
ci
dark-vex Nov 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/actions/build-bareos-app/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 'build-bareos-app'
description: 'Build Bareos app images'
author: 'Barcus'
inputs:
registry:
description: 'Registry URL'
required: true
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.registry }}
2 changes: 1 addition & 1 deletion .github/actions/build-bareos-app/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ while read app version arch app_path ; do
--build-arg VCS_REF=$(git rev-parse --short HEAD) \
--build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--build-arg NAME="${GITHUB_REPOSITORY}-${app}" \
--output "type=docker,dest=${workdir}/bareos-${app}-${tag}.tar,name=${GITHUB_REPOSITORY}-${app}:${tag}" \
--output "type=docker,dest=${workdir}/bareos-${app}-${tag}.tar,name=${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${app}:${tag}" \
"${app_path}"

if [[ $? -ne 0 ]] ; then
Expand Down
4 changes: 2 additions & 2 deletions .github/actions/prepare-bareos-app/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
#!/usr/bin/env bash

BUILDX_VER='v0.5.1'
latest_ubuntu='21'
latest_ubuntu='24'
latest_alpine='22'
latest_api='22'
latest_api='24'

build_file="${GITHUB_WORKSPACE}/build/app_build.txt"
tag_file="${GITHUB_WORKSPACE}/build/tag_build.txt"
Expand Down
10 changes: 9 additions & 1 deletion .github/actions/push-bareos-app/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,18 @@ description: 'Push Bareos docker images to Docker Hub'
author: 'Barcus'
inputs:
docker_pass:
description: 'Docker Hub password'
description: 'Registry Password'
required: true
docker_user:
description: 'Registry Username'
required: true
registry:
description: 'Registry URL'
required: false
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.docker_user }}
- ${{ inputs.docker_pass }}
- ${{ inputs.registry }}
20 changes: 10 additions & 10 deletions .github/actions/push-bareos-app/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ done
echo ::endgroup::

# Connect Docker Hub
docker login -u 'barcus' -p "${INPUT_DOCKER_PASS}"
docker login "${INPUT_REGISTRY}" -u "${INPUT_DOCKER_USER}" -p "${INPUT_DOCKER_PASS}"

# Push tags and manfiests
echo ::group::Push build tags
Expand All @@ -27,27 +27,27 @@ while read line ; do
re='^[0-9]+-alpine.*$'
if [[ $version =~ $re ]] ; then
build_tag="${version}-${arch}"
rm_tag="$rm_tag ${GITHUB_REPOSITORY}-${app}:${build_tag}"
rm_tag="$rm_tag ${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${app}:${build_tag}"
fi
# Push build tags
docker push "${GITHUB_REPOSITORY}-${app}:${build_tag}"
docker push "${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${app}:${build_tag}"
done < "${workdir}/app_build.txt"
echo ::endgroup::

echo ::group::Push additional tags
while read build_app s_tag t_tag ; do
# Push additional tags for Ubuntu
if [[ $s_tag =~ ^[a-z0-9]+-ubuntu.*$ ]]; then
docker tag "${GITHUB_REPOSITORY}-${build_app}:${s_tag}" \
"${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
docker push "${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
docker tag "${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${s_tag}" \
"${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
docker push "${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
fi
# Create and push manifest for Alpine (arm64 + amd64)
if [[ $s_tag =~ ^[a-z0-9]+-alpine.*$ ]]; then
docker manifest create "${GITHUB_REPOSITORY}-${build_app}:${t_tag}" \
"${GITHUB_REPOSITORY}-${build_app}:${s_tag}-amd64" \
"${GITHUB_REPOSITORY}-${build_app}:${s_tag}-arm64"
docker manifest push "${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
docker manifest create "${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${t_tag}" \
"${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${s_tag}-amd64" \
"${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${s_tag}-arm64"
docker manifest push "${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${build_app}:${t_tag}"
fi
done < "${workdir}/tag_build.txt"
echo ::endgroup::
Expand Down
6 changes: 6 additions & 0 deletions .github/actions/test-bareos-app/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 'test-bareos-app'
description: 'Test Bareos docker images'
author: 'Barcus'
inputs:
registry:
description: 'Registry URL'
required: true
runs:
using: 'docker'
image: 'Dockerfile'
args:
- ${{ inputs.registry }}
14 changes: 10 additions & 4 deletions .github/actions/test-bareos-app/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,16 @@ while read app version arch path ; do
# Define args and command
if [[ $version =~ $re_alpine ]] ; then
build_tag="${version}-${arch}"
alpine_pkg='bareos'
[[ "$app" == "webui" ]] && alpine_pkg='bareos-webui'
CMD="apk list --installed $alpine_pkg"

if [[ "$app" == "api" ]] ; then
CMD="python -m pip show bareos-restapi | grep 'Version:' | awk '{print $2}'"
elif [[ "$app" == "webui" ]] ; then
CMD="apk list --installed bareos-webui"
else
CMD="apk list --installed bareos"
fi
fi

if [[ $version =~ $re_ubuntu ]] ; then
CMD="dpkg-query --showformat=\${Version} --show bareos-${app}"
fi
Expand All @@ -48,7 +54,7 @@ while read app version arch path ; do

# Run docker and check version
img_version=$(docker run -t --rm ${ARGS} \
${GITHUB_REPOSITORY}-${app}:${build_tag} \
${INPUT_REGISTRY}/${GITHUB_REPOSITORY}-${app}:${build_tag} \
${CMD} | tail -1)

if [[ $version =~ $re_alpine ]] ; then
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/ci-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
6 changes: 6 additions & 0 deletions .github/workflows/ci-bareos-app.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
6 changes: 6 additions & 0 deletions .github/workflows/ci-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
6 changes: 6 additions & 0 deletions .github/workflows/ci-director.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
6 changes: 6 additions & 0 deletions .github/workflows/ci-storage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
6 changes: 6 additions & 0 deletions .github/workflows/ci-webui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ jobs:

- name: Build images
uses: ./.github/actions/build-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

- name: Upload artifact
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -90,6 +92,8 @@ jobs:

- name: Load and test images
uses: ./.github/actions/test-bareos-app
with:
registry: ${{ secrets.REGISTRY_URL }}

deploy:
needs: test
Expand All @@ -111,3 +115,5 @@ jobs:
uses: ./.github/actions/push-bareos-app
with:
docker_pass: ${{ secrets.DOCKER_PASS }}
docker_user: ${{ secrets.DOCKER_USER }}
registry: ${{ secrets.REGISTRY_URL }}
17 changes: 17 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/push-readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,6 @@ jobs:
- name: Update Docker Hub description
uses: peter-evans/dockerhub-description@v4.0.0
env:
DOCKERHUB_USERNAME: barcus
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USER }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASS }}
DOCKERHUB_REPOSITORY: barcus/bareos-${{ matrix.module }}
DOCKERHUB_REPOSITORY: ${{ secrets.REGISTRY_URL }}/bareos/bareos-${{ matrix.module }}
2 changes: 1 addition & 1 deletion .github/workflows/test-n-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
done

lint-markdown:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
32 changes: 32 additions & 0 deletions api/24-alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM python:3.10-alpine

LABEL maintainer="barcus@tou.nu"

ARG BUILD_DATE
ARG NAME
ARG VCS_REF
ARG VERSION

LABEL org.label-schema.schema-version="1.0" \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name=$NAME \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url="https://github.com/barcus/bareos" \
org.label-schema.version=$VERSION

RUN pip install --no-cache-dir --upgrade pip==22.0.4

RUN adduser -D bareos
USER bareos
WORKDIR /home/bareos

ENV PATH="/home/bareos/.local/bin:${PATH}"
RUN pip install --no-cache-dir "bareos-restapi>=24*,<25*"

COPY --chown=bareos docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod a+x /docker-entrypoint.sh

EXPOSE 8000

ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["uvicorn","--log-level", "debug", "--host", "0.0.0.0", "bareos_restapi:app", "--reload"]
20 changes: 20 additions & 0 deletions api/24-alpine/docker-entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env ash
#set -x

secret=`tr -cd "[:alnum:]" < /dev/urandom | fold -w30 | head -n1`

# Generate api.ini config
cat <<EOF > /home/bareos/api.ini
[Director]
Name=${BAREOS_DIR_HOST}
Address=${BAREOS_DIR_HOST}
Port=9101

[JWT]
secret_key = ${secret}
algorithm = HS256
access_token_expire_minutes = 30
EOF

# Run Dockerfile CMD
exec "$@"
2 changes: 1 addition & 1 deletion client/21-alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Dockerfile Bareos client/file daemon
FROM alpine:3.16
FROM alpine:3.17

LABEL maintainer="barcus@tou.nu"

Expand Down
2 changes: 1 addition & 1 deletion client/22-alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Dockerfile Bareos client/file daemon
FROM alpine:3.20
FROM alpine:3.18

LABEL maintainer="barcus@tou.nu"

Expand Down
Loading