Create Dockerfile
Browse files- Dockerfile +73 -0
Dockerfile
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 1. Base Image: WebTop (Ubuntu XFCE)
|
| 2 |
+
FROM lscr.io/linuxserver/webtop:ubuntu-xfce
|
| 3 |
+
|
| 4 |
+
# Switch to root
|
| 5 |
+
USER root
|
| 6 |
+
|
| 7 |
+
# ==========================================
|
| 8 |
+
# ⚡ NETWORK BRIDGE (Socat)
|
| 9 |
+
# ==========================================
|
| 10 |
+
RUN apt-get update && \
|
| 11 |
+
apt-get install -y socat wget jq curl && \
|
| 12 |
+
rm -rf /var/lib/apt/lists/*
|
| 13 |
+
|
| 14 |
+
RUN mkdir -p /etc/services.d/forwarder && \
|
| 15 |
+
echo '#!/usr/bin/with-contenv bash' > /etc/services.d/forwarder/run && \
|
| 16 |
+
echo 'exec socat TCP-LISTEN:7860,fork,reuseaddr TCP:127.0.0.1:3000' >> /etc/services.d/forwarder/run && \
|
| 17 |
+
chmod +x /etc/services.d/forwarder/run
|
| 18 |
+
|
| 19 |
+
# ==========================================
|
| 20 |
+
# 📦 PERMANENT PROGRAMS & AD-BLOCKER
|
| 21 |
+
# ==========================================
|
| 22 |
+
RUN apt-get update && \
|
| 23 |
+
apt-get install -y chromium-browser xz-utils && \
|
| 24 |
+
# Install UBlock Origin Policy (Critical for Bandwidth)
|
| 25 |
+
mkdir -p /etc/chromium/policies/managed && \
|
| 26 |
+
echo '{ "ExtensionSettings": { "cjpalhdlnbpafiamejdnhcphjbkeiagm": { "installation_mode": "force_installed", "update_url": "https://clients2.google.com/service/update2/crx" } } }' > /etc/chromium/policies/managed/ublock_origin.json && \
|
| 27 |
+
rm -rf /var/lib/apt/lists/*
|
| 28 |
+
|
| 29 |
+
# ==========================================
|
| 30 |
+
# 🤝 DUAL ADMIN
|
| 31 |
+
# ==========================================
|
| 32 |
+
ENV KASM_SVC_CONCURRENT_CONNECTIONS_PROMPT=true
|
| 33 |
+
|
| 34 |
+
# ==========================================
|
| 35 |
+
# 🚀 480p SPEED TUNING
|
| 36 |
+
# ==========================================
|
| 37 |
+
# Resolution: 854x480 (The Industry Standard for 16:9 480p)
|
| 38 |
+
ENV CUSTOM_RES_W=854
|
| 39 |
+
ENV CUSTOM_RES_H=480
|
| 40 |
+
|
| 41 |
+
# FPS: 24 (Cinema Standard). Smooth movie playback.
|
| 42 |
+
ENV KASM_SVC_FRAMERATE=24
|
| 43 |
+
|
| 44 |
+
# AUDIO: 64k (Optimized for movies/music)
|
| 45 |
+
ENV KASM_SVC_AUDIO_BITRATE=64000
|
| 46 |
+
|
| 47 |
+
# COMPRESSION: LOSSY WEBP (The Bandwidth Saver)
|
| 48 |
+
# This forces the stream to behave like a YouTube video (fast)
|
| 49 |
+
# instead of sending heavy raw images.
|
| 50 |
+
ENV KASM_SVC_VIDEO_QUALITY=5
|
| 51 |
+
ENV KASM_SVC_VIDEO_CRF=35
|
| 52 |
+
ENV KASM_SVC_COMPRESSION_ALGO=webp
|
| 53 |
+
ENV KASM_SVC_LOSSY_COMPRESSION=true
|
| 54 |
+
|
| 55 |
+
# Disable Compositor (Saves CPU)
|
| 56 |
+
RUN xfconf-query -c xfwm4 -p /general/use_compositing -s false || true
|
| 57 |
+
|
| 58 |
+
# ==========================================
|
| 59 |
+
# 🎨 BRANDING
|
| 60 |
+
# ==========================================
|
| 61 |
+
ENV TITLE="💻"
|
| 62 |
+
RUN wget -O /usr/share/images/desktop-base/default "https://images.unsplash.com/photo-1518173946687-a4c8892bbd9f?q=80&w=1280&auto=format&fit=crop" || true
|
| 63 |
+
|
| 64 |
+
# ==========================================
|
| 65 |
+
# 👤 CREDENTIALS
|
| 66 |
+
# ==========================================
|
| 67 |
+
ENV CUSTOM_USER="Admin"
|
| 68 |
+
ENV PASSWORD="121459"
|
| 69 |
+
ENV PUID=0
|
| 70 |
+
ENV PGID=0
|
| 71 |
+
ENV TZ="Asia/Tehran"
|
| 72 |
+
|
| 73 |
+
EXPOSE 7860
|