diff --git a/.github/workflows/bun.yml b/.github/workflows/bun.yml new file mode 100644 index 0000000..47926c9 --- /dev/null +++ b/.github/workflows/bun.yml @@ -0,0 +1,39 @@ +name: build bun +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - bun/** +jobs: + push: + name: "yolks:bun_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - latest + - canary + steps: + - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + with: + buildkitd-flags: --debug + - uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + - uses: docker/build-push-action@v4 + with: + context: ./bun + file: ./bun/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:bun_${{ matrix.tag }} diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml index 2078532..cc45707 100644 --- a/.github/workflows/installers.yml +++ b/.github/workflows/installers.yml @@ -21,6 +21,7 @@ jobs: - ubuntu steps: - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 - uses: docker/setup-buildx-action@v2 with: buildkitd-flags: --debug @@ -33,7 +34,7 @@ jobs: with: context: ./installers file: ./installers/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 push: true tags: | ghcr.io/parkervcp/installers:${{ matrix.tag }} diff --git a/.github/workflows/wine.yml b/.github/workflows/wine.yml index 5bb10a6..f729fe8 100644 --- a/.github/workflows/wine.yml +++ b/.github/workflows/wine.yml @@ -17,6 +17,7 @@ jobs: matrix: tag: - latest + - devel - staging steps: - uses: actions/checkout@v3 diff --git a/README.md b/README.md index d845a0b..201bd4a 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,13 @@ is tagged correctly. * [`Box64`](/box64) * `ghcr.io/parkervcp/yolks:box64` +### [Bun](/bun) + +* [`Bun Canary`](/bun/canary) + * `ghcr.io/parkervcp/yolks:bun_canary` +* [`Bun Latest`](/bun/latest) + * `ghcr.io/parkervcp/yolks:bun_latest` + ### [Cassandra](/cassandra) * [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2) @@ -176,6 +183,7 @@ is tagged correctly. * [`node20`](/nodejs/20) * `ghcr.io/parkervcp/yolks:nodejs_20` + ### [PostgreSQL](/postgres) * [`Postgres 9`](/postgres/9) @@ -244,6 +252,7 @@ is tagged correctly. * [`Wine`](/wine) * `ghcr.io/parkervcp/yolks:wine_latest` + * `ghcr.io/parkervcp/yolks:wine_devel` * `ghcr.io/parkervcp/yolks:wine_staging` ### [Installation Images](/installers) diff --git a/bun/canary/Dockerfile b/bun/canary/Dockerfile new file mode 100644 index 0000000..5078d5d --- /dev/null +++ b/bun/canary/Dockerfile @@ -0,0 +1,17 @@ +FROM --platform=$TARGETOS/$TARGETARCH oven/bun:canary + +LABEL author="MrAtox" maintainer="mratox@protonmail.com" + +RUN apt update \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool \ + && useradd -m -d /home/container container + +RUN bun upgrade + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +ENTRYPOINT [] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/bun/entrypoint.sh b/bun/entrypoint.sh new file mode 100644 index 0000000..c72ea71 --- /dev/null +++ b/bun/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash +cd /home/container + +# Make internal Docker IP address available to processes. +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + +# Print Bun Version +bun -v + +# Replace Startup Variables +MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo -e ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP} diff --git a/bun/latest/Dockerfile b/bun/latest/Dockerfile new file mode 100644 index 0000000..57cd00e --- /dev/null +++ b/bun/latest/Dockerfile @@ -0,0 +1,17 @@ +FROM --platform=$TARGETOS/$TARGETARCH oven/bun:latest + +LABEL author="MrAtox" maintainer="mratox@protonmail.com" + +RUN apt update \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool \ + && useradd -m -d /home/container container + +RUN bun upgrade + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +ENTRYPOINT [] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/installers/debian/Dockerfile b/installers/debian/Dockerfile index e0b1fbf..aafb0b6 100644 --- a/installers/debian/Dockerfile +++ b/installers/debian/Dockerfile @@ -29,7 +29,12 @@ LABEL org.opencontainers.image.licenses=MIT ENV DEBIAN_FRONTEND=noninteractive -RUN dpkg --add-architecture i386 \ - && apt update \ - && apt upgrade -y \ - && apt -y --no-install-recommends install ca-certificates curl lib32gcc-s1 libsdl2-2.0-0:i386 git unzip zip tar jq wget +RUN apt update && apt upgrade -y \ + && apt -y --no-install-recommends install ca-certificates curl git unzip zip tar jq wget + +# Only install the needed steamcmd packages on the AMD64 build +RUN if [ "$(uname -m)" = "x86_64" ]; then \ + dpkg --add-architecture i386 && \ + apt update && \ + apt -y install lib32gcc-s1 libsdl2-2.0-0:i386; \ + fi \ No newline at end of file diff --git a/java/11/Dockerfile b/java/11/Dockerfile index e5db4d6..9a69ba2 100644 --- a/java/11/Dockerfile +++ b/java/11/Dockerfile @@ -6,9 +6,23 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini + +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/11j9/Dockerfile b/java/11j9/Dockerfile index 6845adf..d94a963 100644 --- a/java/11j9/Dockerfile +++ b/java/11j9/Dockerfile @@ -3,12 +3,24 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-11-jdk LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container STOPSIGNAL SIGINT @@ -16,4 +28,4 @@ STOPSIGNAL SIGINT COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/usr/bin/tini", "-g", "--"] -CMD ["/entrypoint.sh"] \ No newline at end of file +CMD ["/entrypoint.sh"] diff --git a/java/16/Dockerfile b/java/16/Dockerfile index 3bd2c3f..8be923f 100644 --- a/java/16/Dockerfile +++ b/java/16/Dockerfile @@ -6,9 +6,22 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/16j9/Dockerfile b/java/16j9/Dockerfile index 5f788ad..580f883 100644 --- a/java/16j9/Dockerfile +++ b/java/16j9/Dockerfile @@ -3,12 +3,24 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-16-jdk LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container STOPSIGNAL SIGINT @@ -17,3 +29,4 @@ COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/usr/bin/tini", "-g", "--"] CMD ["/entrypoint.sh"] + diff --git a/java/17/Dockerfile b/java/17/Dockerfile index 7385077..f9406e2 100644 --- a/java/17/Dockerfile +++ b/java/17/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-focal +FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-jammy LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -6,9 +6,22 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/19/Dockerfile b/java/19/Dockerfile index f89e51e..ef9987a 100644 --- a/java/19/Dockerfile +++ b/java/19/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-focal +FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-jammy LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -6,9 +6,22 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/8/Dockerfile b/java/8/Dockerfile index 6efba21..f4ac7d1 100644 --- a/java/8/Dockerfile +++ b/java/8/Dockerfile @@ -6,9 +6,22 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk LABEL org.opencontainers.image.licenses=MIT RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/8j9/Dockerfile b/java/8j9/Dockerfile index b528268..58ab2db 100644 --- a/java/8j9/Dockerfile +++ b/java/8j9/Dockerfile @@ -3,12 +3,24 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-8-jdk LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update -y \ - && apt install -y curl lsof ca-certificates openssl git tar sqlite3 fontconfig tzdata iproute2 libfreetype6 tini \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 \ + tini +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container STOPSIGNAL SIGINT diff --git a/java/entrypoint.sh b/java/entrypoint.sh old mode 100644 new mode 100755 diff --git a/nodejs/12/Dockerfile b/nodejs/12/Dockerfile index a0c1018..e85daf7 100644 --- a/nodejs/12/Dockerfile +++ b/nodejs/12/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:12-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/14/Dockerfile b/nodejs/14/Dockerfile index 76e80f3..6f92b6b 100644 --- a/nodejs/14/Dockerfile +++ b/nodejs/14/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:14-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/16/Dockerfile b/nodejs/16/Dockerfile index eab82c9..df7acf9 100644 --- a/nodejs/16/Dockerfile +++ b/nodejs/16/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:16-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/17/Dockerfile b/nodejs/17/Dockerfile index fdc0442..5912b2f 100644 --- a/nodejs/17/Dockerfile +++ b/nodejs/17/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:17-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 libnss3 \ && useradd -m -d /home/container container -RUN npm install npm@8.11.0 --location=global +RUN npm install npm@8.11.0 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/18/Dockerfile b/nodejs/18/Dockerfile index 6b1bdc0..1877db6 100644 --- a/nodejs/18/Dockerfile +++ b/nodejs/18/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:18-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/19/Dockerfile b/nodejs/19/Dockerfile index 84ad317..4bfe3c1 100644 --- a/nodejs/19/Dockerfile +++ b/nodejs/19/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:19-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/20/Dockerfile b/nodejs/20/Dockerfile index 028e920..2c5f0f9 100644 --- a/nodejs/20/Dockerfile +++ b/nodejs/20/Dockerfile @@ -3,10 +3,10 @@ FROM --platform=$TARGETOS/$TARGETARCH node:20-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping tini \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/wine/devel/Dockerfile b/wine/devel/Dockerfile new file mode 100644 index 0000000..115d377 --- /dev/null +++ b/wine/devel/Dockerfile @@ -0,0 +1,36 @@ +# --------------------------------------- +# Generic Wine image based on Wine devel +# --------------------------------------- +FROM ghcr.io/parkervcp/yolks:debian + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT + +## install required packages +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 + +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-devel cabextract wine-binfmt -y + +# Set up Winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks + +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 + +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/latest/Dockerfile b/wine/latest/Dockerfile index f587452..2a1fa6b 100644 --- a/wine/latest/Dockerfile +++ b/wine/latest/Dockerfile @@ -1,40 +1,36 @@ # --------------------------------------- # Generic Wine image based on Wine stable # --------------------------------------- -FROM ghcr.io/parkervcp/yolks:debian +FROM ghcr.io/parkervcp/yolks:debian -LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT ## install required packages -RUN dpkg --add-architecture i386 \ - && apt update -y \ - && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 -# Install winehq-stable and with recommends -RUN wget -nc https://dl.winehq.org/wine-builds/winehq.key \ - && apt-key add winehq.key \ - && echo "deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list \ - && wget -O- -q download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11/Release.key | apt-key add - \ - && echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11 ./" | tee /etc/apt/sources.list.d/wine-obs.list \ - && apt update \ - && apt install -y --install-recommends winehq-stable cabextract +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-stable cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ - && chmod +x /usr/sbin/winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks -ENV HOME=/home/container -ENV WINEPREFIX=/home/container/.wine -ENV WINEDLLOVERRIDES="mscoree,mshtml=" -ENV DISPLAY=:0 -ENV DISPLAY_WIDTH=1024 -ENV DISPLAY_HEIGHT=768 -ENV DISPLAY_DEPTH=16 -ENV AUTO_UPDATE=1 -ENV XVFB=1 +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 -USER container -WORKDIR /home/container - -COPY ./../entrypoint.sh /entrypoint.sh -CMD [ "/bin/bash", "/entrypoint.sh" ] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/staging/Dockerfile b/wine/staging/Dockerfile index 6c7d761..01858cb 100644 --- a/wine/staging/Dockerfile +++ b/wine/staging/Dockerfile @@ -1,40 +1,36 @@ # --------------------------------------- # Generic Wine image based on Wine staging # --------------------------------------- -FROM ghcr.io/parkervcp/yolks:debian +FROM ghcr.io/parkervcp/yolks:debian -LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT ## install required packages -RUN dpkg --add-architecture i386 \ - && apt update -y \ - && apt install -y --no-install-recommends gnupg2 tzdata numactl software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 -# Install winehq-stable and with recommends -RUN wget -nc https://dl.winehq.org/wine-builds/winehq.key \ - && apt-key add winehq.key \ - && echo "deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list \ - && wget -O- -q download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11/Release.key | apt-key add - \ - && echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11 ./" | tee /etc/apt/sources.list.d/wine-obs.list \ - && apt update \ - && apt install -y --install-recommends winehq-staging cabextract +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-staging cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ - && chmod +x /usr/sbin/winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks -ENV HOME=/home/container -ENV WINEPREFIX=/home/container/.wine -ENV WINEDLLOVERRIDES="mscoree,mshtml=" -ENV DISPLAY=:0 -ENV DISPLAY_WIDTH=1024 -ENV DISPLAY_HEIGHT=768 -ENV DISPLAY_DEPTH=16 -ENV AUTO_UPDATE=1 -ENV XVFB=1 +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 -USER container -WORKDIR /home/container - -COPY ./../entrypoint.sh /entrypoint.sh -CMD [ "/bin/bash", "/entrypoint.sh" ] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ]