From d0532763339302fb98b60183cae4e94942677260 Mon Sep 17 00:00:00 2001 From: soup-bowl Date: Fri, 3 Apr 2026 00:04:19 +0100 Subject: [PATCH] Rolled screen variant into main. --- .github/workflows/build-beta.yml | 1 + .github/workflows/build-main.yml | 7 +++++ build/latest/Dockerfile | 14 +++++++++- build/latest/Dockerfile.alpine | 4 ++- build/latest/Dockerfile.mono | 4 ++- build/latest/Dockerfile.screen | 44 -------------------------------- 6 files changed, 27 insertions(+), 47 deletions(-) delete mode 100644 build/latest/Dockerfile.screen diff --git a/.github/workflows/build-beta.yml b/.github/workflows/build-beta.yml index 51203ab..862171b 100644 --- a/.github/workflows/build-beta.yml +++ b/.github/workflows/build-beta.yml @@ -27,6 +27,7 @@ jobs: folder: build/latest file: Dockerfile platforms: linux/amd64 + target: final steps: - name: Checkout Codebase diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml index 7d90969..fc5dca6 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build-main.yml @@ -26,6 +26,7 @@ jobs: folder: build/latest file: Dockerfile.mono platforms: linux/amd64,linux/arm64 + target: final - version: "0.9.2.1" tag: > soupbowl/opensimulator:0.9.2.1, @@ -33,6 +34,7 @@ jobs: folder: build/latest file: Dockerfile.mono platforms: linux/amd64,linux/arm64 + target: final - version: "0.9.2.2" tag: > soupbowl/opensimulator:0.9.2, @@ -42,6 +44,7 @@ jobs: folder: build/latest file: Dockerfile.mono platforms: linux/amd64,linux/arm64 + target: final - version: "0.9.3.0" tag: > soupbowl/opensimulator:latest, @@ -55,6 +58,7 @@ jobs: folder: build/latest file: Dockerfile platforms: linux/amd64,linux/arm64 + target: final - version: "0.9.3.0" tag: > soupbowl/opensimulator:0.9.3-screen, @@ -64,12 +68,14 @@ jobs: folder: build/latest file: Dockerfile.screen platforms: linux/amd64,linux/arm64 + target: final-screen - version: "0.9.3.0" tag: > ghcr.io/${{ github.repository }}:alpine-beta folder: build/latest file: Dockerfile.alpine platforms: linux/amd64,linux/arm64 + target: final steps: - name: Checkout Codebase @@ -103,6 +109,7 @@ jobs: tags: ${{ matrix.tag }} platforms: ${{ matrix.platforms }} file: "${{ matrix.file }}" + target: "${{ matrix.target }}" build-args: | OPENSIM_VERSION=${{ matrix.version }} cache-from: type=gha diff --git a/build/latest/Dockerfile b/build/latest/Dockerfile index 9cad9c7..a59e348 100644 --- a/build/latest/Dockerfile +++ b/build/latest/Dockerfile @@ -15,7 +15,7 @@ RUN rm -rf .git && \ rm bin/config-include/storage/SQLiteStandalone.ini COPY defaults bin/defaults -FROM mcr.microsoft.com/dotnet/runtime:${DOTNET_VERSION} +FROM mcr.microsoft.com/dotnet/runtime:${DOTNET_VERSION} AS prepare ARG OPENSIM_VERSION=0.9.3.0 @@ -40,5 +40,17 @@ WORKDIR /opt/opensim/bin COPY docker-entrypoint.sh /usr/local/bin/ +FROM prepare AS final-screen + +RUN apt-get update && \ + apt-get install --no-install-recommends -y screen && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +ENTRYPOINT ["docker-entrypoint.sh"] +CMD [ "screen", "-S", "OpenSim", "-D", "-m", "dotnet", "OpenSim.dll" ] + +FROM prepare AS final + ENTRYPOINT ["docker-entrypoint.sh"] CMD [ "dotnet", "OpenSim.dll", "-console=basic" ] diff --git a/build/latest/Dockerfile.alpine b/build/latest/Dockerfile.alpine index 902d29a..df64907 100644 --- a/build/latest/Dockerfile.alpine +++ b/build/latest/Dockerfile.alpine @@ -15,7 +15,7 @@ RUN rm -rf .git && \ rm bin/config-include/storage/SQLiteStandalone.ini COPY defaults bin/defaults -FROM alpine:3.21 +FROM alpine:3.21 AS prepare SHELL ["/bin/ash", "-eo", "pipefail", "-c"] @@ -38,5 +38,7 @@ WORKDIR /opt/opensim/bin COPY docker-entrypoint.sh /usr/local/bin/ +FROM prepare AS final + ENTRYPOINT ["docker-entrypoint.sh"] CMD [ "dotnet", "OpenSim.dll", "-console=basic" ] diff --git a/build/latest/Dockerfile.mono b/build/latest/Dockerfile.mono index 7b70a2c..cf4e274 100644 --- a/build/latest/Dockerfile.mono +++ b/build/latest/Dockerfile.mono @@ -18,7 +18,7 @@ RUN rm -rf .git && \ rm bin/config-include/storage/SQLiteStandalone.ini COPY defaults bin/defaults -FROM soupbowl/wine-mono:6 +FROM soupbowl/wine-mono:6 AS prepare ENV DEBIAN_FRONTEND=noninteractive SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -47,5 +47,7 @@ WORKDIR /opt/opensim/bin COPY docker-entrypoint.sh /usr/local/bin/ +FROM prepare AS final + ENTRYPOINT ["docker-entrypoint.sh"] CMD [ "mono", "./OpenSim.exe", "-console=basic" ] diff --git a/build/latest/Dockerfile.screen b/build/latest/Dockerfile.screen deleted file mode 100644 index 61aeea1..0000000 --- a/build/latest/Dockerfile.screen +++ /dev/null @@ -1,44 +0,0 @@ -ARG DOTNET_VERSION=8.0 -FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} AS build - -ARG OPENSIM_VERSION=0.9.3.0 - -# Cache Bust to avoid caching skipping the latest commit -ADD https://api.github.com/repos/opensim/opensim/git/refs/heads/${OPENSIM_VERSION} version.json -RUN git clone --depth 1 --branch "${OPENSIM_VERSION}" https://github.com/opensim/opensim.git /app -WORKDIR /app -RUN rm -rf .git && \ - ./runprebuild.sh && \ - ./compile.sh && \ - find . -name "*.pdb" -delete && \ - rm -r -- *prebuild* compile.sh ThirdParty TESTING.txt Prebuild OpenSim* Makefile BUILDING.md && \ - rm bin/config-include/storage/SQLiteStandalone.ini -COPY defaults bin/defaults - -FROM mcr.microsoft.com/dotnet/runtime:${DOTNET_VERSION} - -ARG OPENSIM_VERSION=0.9.3.0 - -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" \ - org.opencontainers.image.version="${OPENSIM_VERSION}" - -# hadolint ignore=DL3008 -RUN apt-get update && \ - apt-get install --no-install-recommends -y libc6-dev libgdiplus libsqlite3-0 screen uuid-runtime && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -COPY --from=build /app /opt/opensim - -EXPOSE 9000 - -WORKDIR /opt/opensim/bin - -COPY docker-entrypoint.sh /usr/local/bin/ - -ENTRYPOINT ["docker-entrypoint.sh"] -CMD [ "screen", "-S", "OpenSim", "-D", "-m", "dotnet", "OpenSim.dll" ]