BambuStudio/Dockerfile

108 lines
2.7 KiB
Docker
Raw Normal View History

FROM docker.io/ubuntu:24.10
# Disable interactive package configuration
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
# Add a deb-src
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
cmake \
curl \
bc \
xvfb \
eglexternalplatform-dev \
extra-cmake-modules \
file \
git \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav \
libcairo2-dev \
libcurl4-openssl-dev \
libdbus-1-dev \
libglew-dev \
libglu1-mesa-dev \
libglu1-mesa-dev \
libgstreamer1.0-dev \
libgstreamerd-3-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgtk-3-dev \
libgtk-3-dev \
libosmesa6-dev \
libsecret-1-dev \
libsoup2.4-dev \
libssl3 \
libssl-dev \
libudev-dev \
libwayland-dev \
libxkbcommon-dev \
2023-02-23 16:40:17 +00:00
locales \
locales-all \
m4 \
pkgconf \
sudo \
wayland-protocols \
bash \
wget
#Temporary fix for 24.10 dependency, 24.10 still required for ffmpeg7 to run Bug-free
RUN echo 'deb http://gb.archive.ubuntu.com/ubuntu jammy main' >> /etc/apt/sources.list
RUN apt-get update && apt-get install -y libwebkit2gtk-4.0-dev
2023-02-23 16:40:17 +00:00
# Change your locale here if you want. See the output
# of `locale -a` to pick the correct string formatting.
ENV LC_ALL=en_US.utf8
RUN locale-gen $LC_ALL
# Set this so that Bambu Studio doesn't complain about
# the CA cert path on every startup
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
COPY ./ /BambuStudio
WORKDIR /BambuStudio
# These can run together, but we run them seperate for podman caching
# Update System dependencies
RUN ./BuildLinux.sh -u
# Build dependencies in ./deps
RUN ./BuildLinux.sh -d
# Build slic3r
RUN ./BuildLinux.sh -s
# Build AppImage
ENV container=podman
RUN ./BuildLinux.sh -i
2023-02-23 16:40:17 +00:00
# It's easier to run Bambu Studio as the same username,
# UID and GID as your workstation. Since we bind mount
# your home directory into the container, it's handy
# to keep permissions the same. Just in case, defaults
# are root.
# Use bash as the shell
2023-02-23 16:40:17 +00:00
SHELL ["/bin/bash", "-l", "-c"]
# Set ARG values
2023-02-23 16:40:17 +00:00
ARG USER=root
ARG UID=0
ARG GID=0
RUN if [ "$UID" != "0" ]; then \
groupadd -f -g $GID $USER && \
useradd -u $UID -g $GID $USER; \
fi
# Point FFMPEG Library search to the binary built upon BambuStudio build time
ENV LD_LIBRARY_PATH=/BambuStudio/build/package/bin
2023-02-23 16:40:17 +00:00
# Using an entrypoint instead of CMD because the binary
# accepts several command line arguments.
ENTRYPOINT ["/BambuStudio/build/package/bin/bambu-studio"]