docker-documentation/images/docker-baseimage-gui.md

3.3 KiB
Executable File

title
baseimage-gui

linuxserver.io

Contact information:

Type Address/Details
Discord Discord
IRC freenode at #linuxserver.io more information at:- IRC
Forum LinuxServer.io forum

 

linuxserver/docker-baseimage-gui

A custom graphical base image built with:

Supported Architectures

Our images support multiple architectures such as x86-64, arm64 and armhf. We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.

Simply pulling lsiobase/nginx should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

Architecture Tag
x86-64 amd64-latest
arm64 arm64v8-latest
armhf arm32v7-latest

Usage

Here is an example to help you get started creating a graphical container.

Dockerfile

#Firefox via RDP
FROM lsiobase/ubuntu-gui:amd64-latest

#########################################
##        ENVIRONMENTAL CONFIG         ##
#########################################
# Set correct environment variables
ENV TERM="xterm" APPNAME="firefox"
ARG DEBIAN_FRONTEND=noninteractive

#########################################
##         INSTALL DEPENDENCIES        ##
#########################################
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get install -qy --no-install-recommends \
   firefox \
&& apt-get clean -y \
&& apt-get autoremove -y \
&& rm -rf /tmp/* /var/tmp/* \
&& rm -rf /var/lib/apt/lists/*

COPY root /

servicefile

#!/bin/execlineb -P
# ./root/etc/service.d/firefox/run

# Redirect stderr to stdout.
fdmove -c 2 1

# Wait until openbox is running
if { s6-svwait -t 10000 -U /var/run/s6/services/openbox/ }

# Drop privileges and set env
s6-setuidgid abc
s6-env DISPLAY=:1 HOME=/config

# Execute Firefox
/usr/bin/firefox

Access the Graphical Interface

Use an RDP client such as:

  • Remmina
  • Microsoft Remote Deskotp Client

The following line is only in this repo for loop testing:

  • { date: "01.01.50:", desc: "I am the release message for this internal repo." }