diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e29ca2c..386f089 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,9 +17,10 @@ jobs: strategy: matrix: tag: - - '{ "tag": "latest", "folder": "build/latest", "platforms": "linux/amd64,linux/arm64" }' - - '{ "tag": "alpine-beta", "folder": "beta/alpine", "platforms": "linux/amd64,linux/arm64" }' - - '{ "tag": "source", "folder": "beta/source", "platforms": "linux/amd64,linux/arm64" }' + - '{ "tag": "latest", "folder": "build/latest", "file": "Dockerfile", "platforms": "linux/amd64,linux/arm64" }' + - '{ "tag": "alpine-beta", "folder": "beta/alpine", "file": "Dockerfile", "platforms": "linux/amd64,linux/arm64" }' + - '{ "tag": "source", "folder": "beta/source", "file": "Dockerfile", "platforms": "linux/amd64,linux/arm64" }' + - '{ "tag": "dotnet6", "folder": "beta/source", "file": "Dockerfile.dotnet6", "platforms": "linux/amd64,linux/arm64" }' steps: - name: Checkout Codebase uses: actions/checkout@v4 @@ -54,5 +55,6 @@ jobs: soupbowl/opensimulator:${{ fromJSON(matrix.tag).tag }}, ghcr.io/soup-bowl/opensimulator-docker:${{ fromJSON(matrix.tag).tag }}, platforms: ${{ fromJSON(matrix.tag).platforms }} + file: "{context}/${{ fromJSON(matrix.tag).file }}" cache-from: type=gha cache-to: type=gha,mode=max diff --git a/beta/source/Dockerfile.dotnet6 b/beta/source/Dockerfile.dotnet6 new file mode 100644 index 0000000..e228ec6 --- /dev/null +++ b/beta/source/Dockerfile.dotnet6 @@ -0,0 +1,33 @@ +FROM mcr.microsoft.com/dotnet/sdk:6.0 as build + +# Cache Bust to avoid caching skipping the latest commit +ADD https://api.github.com/repos/opensim/opensim/git/refs/heads/dotnet6 version.json +RUN git clone https://github.com/opensim/opensim.git /app +WORKDIR /app +RUN git checkout dotnet6 + +RUN ./runprebuild.sh && ./compile.sh + +RUN rm bin/config-include/storage/SQLiteStandalone.ini + +FROM mcr.microsoft.com/dotnet/runtime:6.0 + +LABEL org.opencontainers.image.title="OpenSimulator (unofficial)" +LABEL org.opencontainers.image.authors="code@soupbowl.io" +LABEL org.opencontainers.image.source="https://github.com/soup-bowl/opensimulator-docker" +LABEL org.opencontainers.image.licenses="MIT" + +RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev libsqlite3-dev screen uuid-runtime + +COPY --from=build /app /opt/opensim + +COPY defaults /opt/opensim/bin/defaults + +EXPOSE 9000 + +WORKDIR /opt/opensim/bin + +COPY docker-entrypoint.sh /usr/local/bin/ + +ENTRYPOINT ["docker-entrypoint.sh"] +CMD [ "screen", "-S", "OpenSim", "-D", "-m", "sh", "./opensim.sh" ]