aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2025-10-29 11:15:57 +0100
committerPatrick Spek <p.spek@tyil.nl>2025-10-29 11:15:57 +0100
commit9f514712a7772dbbeb979833e4e24f7904611bad (patch)
tree8b4b278cfd481d0bfba9c155dac9e97c77eeeeac
parent769f59731d55a2ac478248890f187801040dd240 (diff)
downloadbragi-9f514712a7772dbbeb979833e4e24f7904611bad.tar.gz
bragi-9f514712a7772dbbeb979833e4e24f7904611bad.tar.bz2
Add Containerfile
-rw-r--r--Containerfile30
-rw-r--r--entrypoint.sh5
-rw-r--r--requirements.txt4
3 files changed, 38 insertions, 1 deletions
diff --git a/Containerfile b/Containerfile
new file mode 100644
index 0000000..9cbbf24
--- /dev/null
+++ b/Containerfile
@@ -0,0 +1,30 @@
+FROM alpine:latest AS installer
+
+WORKDIR /src/bragi
+
+RUN apk add --no-cache python3
+
+COPY *.py .
+COPY configuration.default.ini .
+COPY lang lang
+COPY media media
+COPY pymumble_py3 pymumble_py3
+
+COPY requirements.txt /opt/requirements.txt
+
+RUN python3 -m venv /opt/venv
+RUN source /opt/venv/bin/activate && pip install -r /opt/requirements.txt
+
+FROM alpine:latest AS runner
+
+RUN apk add --no-cache python3 libmagic opus
+
+COPY entrypoint.sh /entrypoint.sh
+COPY --from=installer /opt/venv /opt/venv
+COPY --from=installer /src/bragi /src/bragi
+
+RUN chmod +x /entrypoint.sh
+
+WORKDIR /src/bragi
+
+CMD ["/entrypoint.sh"]
diff --git a/entrypoint.sh b/entrypoint.sh
new file mode 100644
index 0000000..cbe4066
--- /dev/null
+++ b/entrypoint.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. /opt/venv/bin/activate
+
+exec /src/bragi/bragi.py
diff --git a/requirements.txt b/requirements.txt
index 652a3da..cfcc90c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,4 +5,6 @@ mutagen
requests
packaging
pyradios
-opuslib==3.0.1 \ No newline at end of file
+opuslib==3.0.1
+#audioop-lts # Needed at python 3.13
+google-api-python-client