diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..b2b6243071 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,44 @@ +FROM ultimaker/cura-build-environment:1 + +# Environment vars for easy configuration +ENV CURA_APP_DIR=/srv/cura + +# Ensure our sources dir exists +RUN mkdir $CURA_APP_DIR + +# Setup CuraEngine +ENV CURA_ENGINE_BRANCH=master +WORKDIR $CURA_APP_DIR +RUN git clone -b $CURA_ENGINE_BRANCH --depth 1 https://github.com/Ultimaker/CuraEngine +WORKDIR $CURA_APP_DIR/CuraEngine +RUN mkdir build +WORKDIR $CURA_APP_DIR/CuraEngine/build +RUN cmake3 .. +RUN make +RUN make install + +# TODO: setup libCharon + +# Setup Uranium +ENV URANIUM_BRANCH=master +WORKDIR $CURA_APP_DIR +RUN git clone -b $URANIUM_BRANCH --depth 1 https://github.com/Ultimaker/Uranium + +# Setup Cura +ENV CURA_BRANCH=docker +WORKDIR $CURA_APP_DIR +RUN git clone -b $CURA_BRANCH --depth 1 https://github.com/Ultimaker/Cura + +# Setup materials +ENV MATERIALS_BRANCH=master +WORKDIR $CURA_APP_DIR/Cura/resources +RUN git clone -b $MATERIALS_BRANCH --depth 1 https://github.com/Ultimaker/fdm_materials materials + +# Make sure Cura can find CuraEngine +RUN ln -s /usr/local/bin/CuraEngine $CURA_APP_DIR/Cura + +# Run Cura +WORKDIR $CURA_APP_DIR/Cura +ENV PYTHONPATH=${PYTHONPATH}:$CURA_APP_DIR/Uranium +RUN chmod +x ./run_in_docker.sh +CMD "./run_in_docker.sh" diff --git a/run_in_docker.sh b/run_in_docker.sh new file mode 100644 index 0000000000..eb364fd887 --- /dev/null +++ b/run_in_docker.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +Xvfb :1 -screen 0 1280x800x16 & +export DISPLAY=:1.0 +python3 cura_app.py --headless \ No newline at end of file