diff --git a/asterisk/Dockerfile b/asterisk/Dockerfile new file mode 100644 index 0000000..8486a55 --- /dev/null +++ b/asterisk/Dockerfile @@ -0,0 +1,13 @@ +FROM alpine + +# install packages +RUN apk add --no-cache tini asterisk + +# volume +RUN mkdir -p /etc/asterisk +VOLUME /etc/asterisk + +# execute +USER asterisk +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/usr/sbin/asterisk", "-fi"] diff --git a/asterisk/README.md b/asterisk/README.md new file mode 100644 index 0000000..5e91592 --- /dev/null +++ b/asterisk/README.md @@ -0,0 +1,7 @@ +### images/asterisk + +runs the asterisk pbx server + +#### config + +the config is loaded from /etc/asterisk, put a volume there if you want to do things diff --git a/bind9/Dockerfile b/bind9/Dockerfile index 61a5f7a..761647f 100644 --- a/bind9/Dockerfile +++ b/bind9/Dockerfile @@ -1,9 +1,8 @@ -FROM alpine:3.19 +FROM alpine # install packages RUN apk add --no-cache tini bind -RUN rm -fr /var/cache/apk/* # execute -ENTRYPOINT ["/sbin/tini", "--" ] +ENTRYPOINT ["/sbin/tini", "--"] CMD ["/usr/sbin/named", "-c", "/etc/bind/named.conf", "-g", "-u", "named"] diff --git a/build.sh b/build.sh index ba48e56..f0de4af 100755 --- a/build.sh +++ b/build.sh @@ -1,21 +1,35 @@ #!/bin/sh +set -e + remote="g.freya.cat" user="freya" +architectures="linux/amd64,linux/arm64" -docker login "$remote" -u "$user" - -build() { - image="$(echo "$1" | tr -d './')" - echo "building $image" - docker build "$image" -t "$remote/$user/$image:latest" - docker push "$remote/$user/$image" +init() { + docker login "$remote" -u "$user" + current="$(docker buildx inspect | head -n 1 | awk '{ print $2 }')" + if [ "$current" != "builder" ]; then + docker buildx create --name builder + docker buildx use builder + fi } +build() { + docker buildx build --push --platform "$architectures" "$image" -t "$remote/$user/$image:latest" +} + +build_all() { + images="$(find . -mindepth 1 -maxdepth 1 -type d | grep -v '\./\.' | tr -d './')" + IFS=$'\n' + for image in $images; do + build "$image" + done +} + +init if [ "$#" -gt 0 ]; then build "$1" else - images="$(find . -mindepth 1 -type d \( -name '.*' -prune -o -print \))" - IFS=$'\n' - for image in $images; do build "$image"; done; + build_all fi diff --git a/caddy/Dockerfile b/caddy/Dockerfile index 0260dda..e221a9d 100644 --- a/caddy/Dockerfile +++ b/caddy/Dockerfile @@ -1,13 +1,12 @@ -FROM alpine:3.19 +FROM alpine # install packages RUN apk add --no-cache tini wget -RUN rm -fr /var/cache/apk/* # copy entrypoint COPY ./entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh # execute -ENTRYPOINT ["/sbin/tini", "--" ] +ENTRYPOINT ["/sbin/tini", "--"] CMD ["/usr/local/bin/entrypoint.sh"] diff --git a/minecraft/Dockerfile b/minecraft/Dockerfile index f44c751..58b536e 100644 --- a/minecraft/Dockerfile +++ b/minecraft/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine # set environment ENV LANG en_US.UTF-8 @@ -7,7 +7,6 @@ ENV PATH=/usr/lib/jvm/java-21-openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sb # install packages RUN apk add --no-cache tini wget openjdk21-jre jq curl shadow fontconfig ttf-dejavu -RUN rm -fr /var/cache/apk/* # copy scripts COPY ./mcjar /usr/local/bin/mcjar @@ -28,5 +27,5 @@ VOLUME /data USER mc WORKDIR /data ENV SERVER_DIR=/data -ENTRYPOINT ["/sbin/tini", "--" ] +ENTRYPOINT ["/sbin/tini", "--"] CMD ["/usr/local/bin/mclauncher", "-l"]