All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 11s
66 lines
2.4 KiB
Docker
66 lines
2.4 KiB
Docker
# Create a RuneLite docker image with Selkies support.
|
|
|
|
FROM ghcr.io/linuxserver/baseimage-selkies:ubuntunoble
|
|
|
|
# Environment variables for Selkies
|
|
ENV \
|
|
CUSTOM_HTTPS_PORT="8181" \
|
|
TITLE="RuneLite" \
|
|
SELKIES_MANUAL_WIDTH="1366" \
|
|
SELKIES_MANUAL_HEIGHT="768" \
|
|
SELKIES_FRAMERATE="30" \
|
|
SELKIES_SCALING_DPI="96" \
|
|
SELKIES_GAMEPAD_ENABLED="false" \
|
|
SELKIES_UI_SIDEBAR_SHOW_GAMEPADS="false"
|
|
|
|
# Install Java, tools, and GPU libraries for RuneLite GPU plugin support
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
default-jre \
|
|
wget \
|
|
libnotify-bin \
|
|
notification-daemon \
|
|
# GPU/OpenGL libraries for RuneLite GPU plugin
|
|
mesa-utils \
|
|
libgl1-mesa-dri \
|
|
libglx-mesa0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Add RuneLite icons and metadata for Selkies interface
|
|
COPY icons/ /usr/share/selkies/www/
|
|
|
|
# Inject iOS webapp meta tags using prepared file (cleaner than multiple sed commands)
|
|
RUN if [ -f /usr/share/selkies/www/index.html ]; then \
|
|
sed -i '/<\/head>/r /usr/share/selkies/www/webapp-meta.html' /usr/share/selkies/www/index.html ; \
|
|
fi
|
|
|
|
|
|
|
|
ENV RUNELITE_URL="https://github.com/runelite/launcher/releases/latest/download/RuneLite.jar"
|
|
ADD runelite /usr/local/bin
|
|
RUN wget $RUNELITE_URL -P /usr/local/bin \
|
|
&& chmod +x /usr/local/bin/RuneLite.jar \
|
|
&& chmod +x /usr/local/bin/runelite
|
|
|
|
# Configure window manager to hide title bars and maximize windows
|
|
RUN mkdir -p /etc/xdg/openbox
|
|
COPY openbox-rc.xml /etc/xdg/openbox/rc.xml
|
|
|
|
# Note: PulseAudio configuration handled by Selkies base image
|
|
|
|
# Use LinuxServer.io's autostart mechanism instead of custom cont-init.d
|
|
RUN mkdir -p /defaults && \
|
|
echo '/usr/local/bin/runelite' > /defaults/autostart
|
|
|
|
# Also create desktop autostart as backup
|
|
RUN mkdir -p /config/.config/autostart && \
|
|
echo '[Desktop Entry]' > /config/.config/autostart/runelite.desktop && \
|
|
echo 'Type=Application' >> /config/.config/autostart/runelite.desktop && \
|
|
echo 'Exec=/usr/local/bin/runelite' >> /config/.config/autostart/runelite.desktop && \
|
|
echo 'Hidden=false' >> /config/.config/autostart/runelite.desktop && \
|
|
echo 'NoDisplay=false' >> /config/.config/autostart/runelite.desktop && \
|
|
echo 'X-GNOME-Autostart-enabled=true' >> /config/.config/autostart/runelite.desktop && \
|
|
echo 'Name=RuneLite' >> /config/.config/autostart/runelite.desktop && \
|
|
chown -R abc:abc /config/.config
|
|
|
|
# Expose Selkies web interface port
|
|
EXPOSE 8181 |