Skip to content
Snippets Groups Projects
Unverified Commit afd1d320 authored by Robby3St's avatar Robby3St
Browse files

feat(Dockerfile): add Dockerfile for local builds

parent d2e8279a
No related branches found
No related tags found
1 merge request!2Draft: feat(Dockerfile): add Dockerfile for local builds
Pipeline #282307 passed
FROM ubuntu:24.04
WORKDIR /usr/local/bin
RUN apt-get update && apt-get install -y python3.8 python3-pip pipx curl pandoc inotify-tools
RUN pipx install poetry==2.0.0
# Ensure pipx installs globally and the path is available
ENV PIPX_BIN_DIR=/root/.local/bin
ENV PATH=$PIPX_BIN_DIR:$PATH
#texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra curl
# RUN python3 -m pip install poetry
RUN curl -L -o decker https://github.com/decker-edu/decker/releases/download/latest/decker-latest-Linux-X64-3f4150d61ca167361b02665da969da769ca98e7c
RUN chmod +x decker
WORKDIR /usr/app
VOLUME /usr/app/slides
COPY . .
RUN chmod +x entrypoint.sh
EXPOSE 8888
CMD [ "/usr/app/entrypoint.sh" ]
# RUN /usr/local/bin/decker --server
# RUN pandoc -t beamer output/fvv-folien-deck.md -o output/public/fvv-folien.pdf
# RUN decker decks
#
......@@ -8,7 +8,7 @@ echo "This is just a temporary directory for building the slides. This should be
# Run python rendering
echo "Install the python package."
poetry install
poetry run python render.py
poetry run python $(pwd)/render.py
# Merge all slide chunks into one output deck
echo "Merge all slide chunks into one with the support of Pandoc."
......
#!/bin/bash
set -e
echo "Starting initial build..."
./build.sh
echo "Starting Decker server in background..."
cd output
/usr/local/bin/decker --server &
DECKER_PID=$!
cd ..
echo "Watching for slide changes..."
while inotifywait -r -e modify,create,delete slides/; do
echo "Change detected. Rebuilding..."
./build.sh
done
......@@ -154,5 +154,5 @@ files = [
[metadata]
lock-version = "2.1"
python-versions = ">=3.13"
content-hash = "d989bba1d7bebb6c4da3b16985fd48500cce9011e55d875f48d7cae4c85b2c77"
python-versions = ">=3.12"
content-hash = "254a91d1ab66eefe761d354d9272529d8dbb4173136ee3ae72adc80e50e7bc7d"
......@@ -6,7 +6,7 @@ authors = [
{name = "Robin Stecher"}
]
readme = "README.md"
requires-python = ">=3.13"
requires-python = ">=3.12"
dependencies = [
"jinja2 (>=3.1.6,<4.0.0)",
"pyyaml (>=6.0.2,<7.0.0)"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment