Cleanup & GPU Support
All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 11s
All checks were successful
Build & Push Docker Image / build-and-publish (push) Successful in 11s
This commit is contained in:
19
.dockerignore
Normal file
19
.dockerignore
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Version control
|
||||||
|
.git
|
||||||
|
.gitea
|
||||||
|
.github
|
||||||
|
.gitignore
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
README.md
|
||||||
|
*.md
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.vscode
|
||||||
|
.idea
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
40
Dockerfile
40
Dockerfile
@@ -4,39 +4,33 @@ FROM ghcr.io/linuxserver/baseimage-selkies:ubuntunoble
|
|||||||
|
|
||||||
# Environment variables for Selkies
|
# Environment variables for Selkies
|
||||||
ENV \
|
ENV \
|
||||||
# CUSTOM_PORT="8080" \
|
|
||||||
CUSTOM_HTTPS_PORT="8181" \
|
CUSTOM_HTTPS_PORT="8181" \
|
||||||
TITLE="RuneLite" \
|
TITLE="RuneLite" \
|
||||||
SELKIES_MANUAL_WIDTH="1366" \
|
SELKIES_MANUAL_WIDTH="1366" \
|
||||||
SELKIES_MANUAL_HEIGHT="768" \
|
SELKIES_MANUAL_HEIGHT="768" \
|
||||||
SELKIES_FRAMERATE="30" \
|
SELKIES_FRAMERATE="30" \
|
||||||
SELKIES_SCALING_DPI="96" \
|
SELKIES_SCALING_DPI="96" \
|
||||||
# SELKIES_AUDIO_ENABLED="false" \
|
|
||||||
SELKIES_GAMEPAD_ENABLED="false" \
|
SELKIES_GAMEPAD_ENABLED="false" \
|
||||||
SELKIES_UI_SIDEBAR_SHOW_GAMEPADS="false"
|
SELKIES_UI_SIDEBAR_SHOW_GAMEPADS="false"
|
||||||
# SELKIES_UI_SIDEBAR_SHOW_AUDIO_SETTINGS="false"
|
|
||||||
|
|
||||||
|
# Install Java, tools, and GPU libraries for RuneLite GPU plugin support
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
default-jre \
|
default-jre \
|
||||||
wget \
|
wget \
|
||||||
libnotify-bin \
|
libnotify-bin \
|
||||||
notification-daemon \
|
notification-daemon \
|
||||||
|
# GPU/OpenGL libraries for RuneLite GPU plugin
|
||||||
|
mesa-utils \
|
||||||
|
libgl1-mesa-dri \
|
||||||
|
libglx-mesa0 \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Add RuneLite icon for Selkies interface and favicon
|
# Add RuneLite icons and metadata for Selkies interface
|
||||||
COPY icons/ /usr/share/selkies/www/
|
COPY icons/ /usr/share/selkies/www/
|
||||||
|
|
||||||
# Inject iOS webapp meta tags and auth fix into Selkies HTML (if index.html exists)
|
# Inject iOS webapp meta tags using prepared file (cleaner than multiple sed commands)
|
||||||
RUN if [ -f /usr/share/selkies/www/index.html ]; then \
|
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>/r /usr/share/selkies/www/webapp-meta.html' /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
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -48,19 +42,8 @@ RUN wget $RUNELITE_URL -P /usr/local/bin \
|
|||||||
&& chmod +x /usr/local/bin/runelite
|
&& chmod +x /usr/local/bin/runelite
|
||||||
|
|
||||||
# Configure window manager to hide title bars and maximize windows
|
# Configure window manager to hide title bars and maximize windows
|
||||||
RUN mkdir -p /etc/xdg/openbox && \
|
RUN mkdir -p /etc/xdg/openbox
|
||||||
echo '<?xml version="1.0" encoding="UTF-8"?>' > /etc/xdg/openbox/rc.xml && \
|
COPY openbox-rc.xml /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
|
# Note: PulseAudio configuration handled by Selkies base image
|
||||||
|
|
||||||
@@ -79,6 +62,5 @@ RUN mkdir -p /config/.config/autostart && \
|
|||||||
echo 'Name=RuneLite' >> /config/.config/autostart/runelite.desktop && \
|
echo 'Name=RuneLite' >> /config/.config/autostart/runelite.desktop && \
|
||||||
chown -R abc:abc /config/.config
|
chown -R abc:abc /config/.config
|
||||||
|
|
||||||
# Expose Selkies web interface ports
|
# Expose Selkies web interface port
|
||||||
EXPOSE 8181
|
EXPOSE 8181
|
||||||
# EXPOSE 8080 8181
|
|
||||||
26
README.md
26
README.md
@@ -13,6 +13,32 @@ docker run -d \
|
|||||||
ghcr.io/sethwv/rune-docker:latest
|
ghcr.io/sethwv/rune-docker:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### GPU Acceleration (Recommended for Better Performance)
|
||||||
|
|
||||||
|
RuneLite supports GPU rendering via OpenGL, which is enabled by default in this container. For optimal performance with hardware acceleration:
|
||||||
|
|
||||||
|
**NVIDIA GPUs:**
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name runelite \
|
||||||
|
--gpus all \
|
||||||
|
-p 8181:8181 \
|
||||||
|
-v /path/to/appdata/.runelite:/config/.runelite:rw \
|
||||||
|
ghcr.io/sethwv/rune-docker:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**AMD/Intel GPUs:**
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name runelite \
|
||||||
|
--device /dev/dri:/dev/dri \
|
||||||
|
-p 8181:8181 \
|
||||||
|
-v /path/to/appdata/.runelite:/config/.runelite:rw \
|
||||||
|
ghcr.io/sethwv/rune-docker:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** GPU mode provides significantly better FPS and reduced CPU usage. Software rendering (Mesa) is used as fallback if GPU is unavailable.
|
||||||
|
|
||||||
## Access
|
## Access
|
||||||
|
|
||||||
Once the container is running, access RuneLite through your web browser:
|
Once the container is running, access RuneLite through your web browser:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<!-- RuneLite iOS WebApp Support -->
|
||||||
|
|
||||||
<!-- iOS Web App Meta Tags -->
|
<!-- iOS Web App Meta Tags -->
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
|
|||||||
12
openbox-rc.xml
Normal file
12
openbox-rc.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<openbox_config xmlns="http://openbox.org/3.4/rc">
|
||||||
|
<theme>
|
||||||
|
<name>Clearlooks</name>
|
||||||
|
</theme>
|
||||||
|
<applications>
|
||||||
|
<application class="*">
|
||||||
|
<maximized>true</maximized>
|
||||||
|
<decor>no</decor>
|
||||||
|
</application>
|
||||||
|
</applications>
|
||||||
|
</openbox_config>
|
||||||
13
runelite
13
runelite
@@ -3,5 +3,14 @@
|
|||||||
# Ensure we're using the correct home directory
|
# Ensure we're using the correct home directory
|
||||||
export HOME=/config
|
export HOME=/config
|
||||||
|
|
||||||
# Run RuneLite with proper Java options for containerized environment
|
# Set optimal Java options for RuneLite
|
||||||
exec java -jar /usr/local/bin/RuneLite.jar
|
# -Xmx: Maximum heap size (adjust based on container memory)
|
||||||
|
# -Xms: Initial heap size (match Xmx for consistent performance)
|
||||||
|
# -Dsun.java2d.opengl: Enable OpenGL acceleration for Java2D
|
||||||
|
# --mode=AUTO: RuneLite will auto-select GPU mode if available
|
||||||
|
exec java \
|
||||||
|
-Xmx1024m \
|
||||||
|
-Xms1024m \
|
||||||
|
-Dsun.java2d.opengl=true \
|
||||||
|
-jar /usr/local/bin/RuneLite.jar \
|
||||||
|
--mode=AUTO
|
||||||
Reference in New Issue
Block a user