39 lines
901 B
Docker
39 lines
901 B
Docker
FROM alpine:3.21
|
|
|
|
RUN apk add --no-cache \
|
|
xrdp \
|
|
xorgxrdp \
|
|
openbox \
|
|
xorg-server \
|
|
xf86-video-dummy \
|
|
font-noto \
|
|
dbus \
|
|
firefox \
|
|
mesa-dri-gallium \
|
|
ttf-freefont \
|
|
openssl \
|
|
&& rm -rf /var/cache/apk/*
|
|
|
|
# Create rdpuser
|
|
RUN adduser -D -s /bin/sh rdpuser \
|
|
&& adduser rdpuser wheel
|
|
|
|
# Configure xrdp to use Xorg
|
|
RUN sed -i 's/^#\?security_layer=.*/security_layer=tls/' /etc/xrdp/xrdp.ini \
|
|
&& sed -i 's/^#\?crypt_level=.*/crypt_level=high/' /etc/xrdp/xrdp.ini \
|
|
&& sed -i 's|^#\?param=Xorg|param=Xorg|' /etc/xrdp/sesman.ini
|
|
|
|
# Xorg wrapper for xrdp sessions
|
|
COPY config/startwm.sh /etc/xrdp/startwm.sh
|
|
RUN chmod +x /etc/xrdp/startwm.sh
|
|
|
|
# Openbox config for rdpuser
|
|
COPY config/openbox/ /home/rdpuser/.config/openbox/
|
|
RUN chown -R rdpuser:rdpuser /home/rdpuser
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
|
|
EXPOSE 3389
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|