summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-06-06 21:30:12 -0400
committerFreya Murphy <freya@freyacat.org>2024-06-06 21:30:12 -0400
commit04b1b8d4fcc189a7a6d617c224408cb56b14ac40 (patch)
tree9ab409dff6cabb9b894a938d785af826edf4946b
parentinitial (diff)
downloadimages-04b1b8d4fcc189a7a6d617c224408cb56b14ac40.tar.gz
images-04b1b8d4fcc189a7a6d617c224408cb56b14ac40.tar.bz2
images-04b1b8d4fcc189a7a6d617c224408cb56b14ac40.zip
buildx, asterisk
-rw-r--r--asterisk/Dockerfile13
-rw-r--r--asterisk/README.md7
-rw-r--r--bind9/Dockerfile5
-rwxr-xr-xbuild.sh30
-rw-r--r--caddy/Dockerfile5
-rw-r--r--minecraft/Dockerfile5
6 files changed, 48 insertions, 17 deletions
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"
+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() {
- image="$(echo "$1" | tr -d './')"
- echo "building $image"
- docker build "$image" -t "$remote/$user/$image:latest"
- docker push "$remote/$user/$image"
+ 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"]