All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 8s
84 lines
4.0 KiB
Docker
84 lines
4.0 KiB
Docker
# Create a RuneLite docker image with Selkies support.
|
|
|
|
FROM ghcr.io/linuxserver/baseimage-selkies:ubuntunoble
|
|
|
|
# Environment variables for Selkies
|
|
ENV \
|
|
# CUSTOM_PORT="8080" \
|
|
CUSTOM_HTTPS_PORT="8181" \
|
|
TITLE="RuneLite" \
|
|
SELKIES_MANUAL_WIDTH="1366" \
|
|
SELKIES_MANUAL_HEIGHT="768" \
|
|
SELKIES_FRAMERATE="30" \
|
|
SELKIES_SCALING_DPI="96" \
|
|
# SELKIES_AUDIO_ENABLED="false" \
|
|
SELKIES_GAMEPAD_ENABLED="false" \
|
|
SELKIES_UI_SIDEBAR_SHOW_GAMEPADS="false"
|
|
# SELKIES_UI_SIDEBAR_SHOW_AUDIO_SETTINGS="false"
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
default-jre \
|
|
wget \
|
|
libnotify-bin \
|
|
notification-daemon \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Add RuneLite icon for Selkies interface and favicon
|
|
COPY icons/ /usr/share/selkies/www/
|
|
|
|
# Inject iOS webapp meta tags and auth fix into Selkies HTML (if index.html exists)
|
|
RUN if [ -f /usr/share/selkies/www/index.html ]; then \
|
|
sed -i '/<\/head>/i\<!-- RuneLite iOS WebApp Support -->' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<meta name="apple-mobile-web-app-capable" content="yes">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<meta name="apple-mobile-web-app-title" content="RuneLite">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<link rel="apple-touch-icon" sizes="152x152" href="apple-touch-icon-152x152.png">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<link rel="manifest" href="manifest.json">' /usr/share/selkies/www/index.html && \
|
|
sed -i '/<\/head>/i\<meta name="theme-color" content="#ff6600">' /usr/share/selkies/www/index.html && \
|
|
echo "<!-- Auth fix temporarily disabled -->" ; \
|
|
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 && \
|
|
echo '<?xml version="1.0" encoding="UTF-8"?>' > /etc/xdg/openbox/rc.xml && \
|
|
echo '<openbox_config xmlns="http://openbox.org/3.4/rc">' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <theme>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <name>Clearlooks</name>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' </theme>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <applications>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <application class="*">' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <maximized>true</maximized>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' <decor>no</decor>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' </application>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo ' </applications>' >> /etc/xdg/openbox/rc.xml && \
|
|
echo '</openbox_config>' >> /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 ports
|
|
EXPOSE 8181
|
|
# EXPOSE 8080 8181 |