Skip to content

Commit 4b664c5

Browse files
committed
client
1 parent 9477fb8 commit 4b664c5

File tree

3 files changed

+89
-0
lines changed

3 files changed

+89
-0
lines changed

.github/workflows/docker-image.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,23 @@ jobs:
8080
tags: ${{ steps.metaWebui.outputs.tags }}
8181
labels: ${{ steps.metaWebui.outputs.labels }}
8282
platforms: linux/amd64
83+
84+
# Process for the `webui` subfolder
85+
- name: Extract metadata (tags, labels) for Docker (client)
86+
id: metaClient
87+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
88+
with:
89+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}/bareos-client
90+
tags: |
91+
# set latest tag for default branch
92+
type=raw,value=latest,enable={{is_default_branch}}
93+
94+
- name: Build and push Docker image (client)
95+
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
96+
with:
97+
context: ./client
98+
push: true
99+
tags: ${{ steps.metaWebui.outputs.tags }}
100+
labels: ${{ steps.metaWebui.outputs.labels }}
101+
platforms: linux/amd64
102+

client/Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Dockerfile Bareos client/file daemon
2+
FROM alpine:3.21
3+
4+
LABEL maintainer="aa@libertech.fr"
5+
6+
ARG BUILD_DATE
7+
ARG NAME
8+
ARG VCS_REF
9+
ARG VERSION
10+
11+
ENV BAREOS_DAEMON_USER bareos
12+
ENV BAREOS_DAEMON_GROUP bareos
13+
14+
LABEL org.label-schema.schema-version="1.0" \
15+
org.label-schema.build-date=$BUILD_DATE \
16+
org.label-schema.name=$NAME \
17+
org.label-schema.vcs-ref=$VCS_REF \
18+
org.label-schema.vcs-url="https://github.com/libertech-fr/bareos" \
19+
org.label-schema.version=$VERSION
20+
21+
SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
22+
23+
RUN apk add --no-cache bareos-filedaemon openssh-client tar shadow bash su-exec bash
24+
25+
RUN tar czf /bareos-fd.tgz /etc/bareos/bareos-fd.d
26+
RUN mkdir /run/bareos \
27+
&& chown bareos /run/bareos
28+
29+
COPY docker-entrypoint.sh /docker-entrypoint.sh
30+
RUN chmod a+x /docker-entrypoint.sh
31+
32+
EXPOSE 9102
33+
34+
ENTRYPOINT ["/docker-entrypoint.sh"]
35+
CMD ["/usr/sbin/bareos-fd", "-f"]
36+

client/docker-entrypoint.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env bash
2+
#set -x
3+
4+
bareos_fd_config="/etc/bareos/bareos-fd.d/director/bareos-dir.conf"
5+
6+
if [ "${FORCE_ROOT}" = true ]; then
7+
BAREOS_DAEMON_USER='root'
8+
BAREOS_DAEMON_GROUP='root'
9+
fi
10+
11+
if [ $(id -u) = '0' ]; then
12+
[ -n "${PUID}" ] && usermod -u ${PUID} ${BAREOS_DAEMON_USER}
13+
[ -n "${PGID}" ] && groupmod -g ${PGID} ${BAREOS_DAEMON_GROUP}
14+
if [ ! -f /etc/bareos/bareos-config.control ]; then
15+
tar xzf /bareos-fd.tgz --backup=simple --suffix=.before-control
16+
17+
# Force client/file daemon password
18+
sed -i 's#Password = .*#Password = '\""${BAREOS_FD_PASSWORD}"\"'#' $bareos_fd_config
19+
20+
# Control file
21+
touch /etc/bareos/bareos-config.control
22+
fi
23+
24+
# Fix permissions
25+
find /etc/bareos ! -user ${BAREOS_DAEMON_USER} -exec chown ${BAREOS_DAEMON_USER}:${BAREOS_DAEMON_GROUP} {} \;
26+
chown ${BAREOS_DAEMON_USER}:${BAREOS_DAEMON_GROUP} /run/bareos /var/log/bareos /var/lib/bareos
27+
28+
# Su-exec
29+
[ "${BAREOS_DAEMON_USER}" != 'root' ] && su-exec "${BAREOS_DAEMON_USER}" "$BASH_SOURCE" "$@"
30+
fi
31+
32+
exec "$@"
33+

0 commit comments

Comments
 (0)