Files
Casey LPandGitHub b24b9dffca Update Dockerfile to use wine-mono base image
Replace base image and remove build steps for Mono.
2026-01-18 07:55:07 +00:00

50 lines
1.7 KiB
Docker

FROM soupbowl/wine-mono:6 AS mono-build
FROM debian:bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive
LABEL \
org.opencontainers.image.title="OpenSimulator (unofficial)" \
org.opencontainers.image.authors="code@soupbowl.io" \
org.opencontainers.image.source="https://github.com/soup-bowl/opensimulator-docker" \
org.opencontainers.image.licenses="MIT"
ARG OPENSIM_VERSION=0.9.2.2
ARG OPENSIM_SHA1="b280d109cf04755a02db1c729af5a5e4160d1ce6"
# Copy the built mono runtime from the build stage
COPY --from=mono-build /opt/mono /opt/mono
# Make mono available on PATH and install runtime utilities
RUN apt-get update \
&& apt-get install --no-install-recommends -y ca-certificates curl screen uuid-runtime libglib2.0-0 libgnutls30 tzdata libgdiplus libfontconfig1 \
&& ln -s /opt/mono/bin/mono /usr/local/bin/mono \
&& ln -s /opt/mono/bin/mono-sgen /usr/local/bin/mono-sgen || true \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN mkdir /opt/opensim-tmp \
&& curl -o /opt/opensim-tmp/opensim.tar.gz "http://opensimulator.org/dist/opensim-${OPENSIM_VERSION}.tar.gz" \
&& echo "${OPENSIM_SHA1} /opt/opensim-tmp/opensim.tar.gz" | sha1sum -c - \
&& tar xzf /opt/opensim-tmp/opensim.tar.gz -C /opt/opensim-tmp \
&& rm /opt/opensim-tmp/opensim*/bin/OpenSim.ini \
&& rm /opt/opensim-tmp/opensim*/bin/config-include/StandaloneCommon.ini \
&& rm /opt/opensim-tmp/opensim*/bin/config-include/storage/SQLiteStandalone.ini \
&& mkdir /opt/opensim \
&& mv /opt/opensim-tmp/opensim*/* /opt/opensim \
&& rm -rf /opt/opensim-tmp
COPY defaults /opt/opensim/bin/defaults
EXPOSE 9000
WORKDIR /opt/opensim/bin
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
CMD [ "mono", "./OpenSim.exe" ]