Create a gist now

Instantly share code, notes, and snippets.

Example of setting up a docker image that will expose Audacity UI via a browser using guacamole remote desktop application.

Attempt to expose Audacity in a web browser using a docker container enhanced with guacamole...

To build the container, run something like:

docker build -t psychemedia/audacitygui .
docker run -d -p 8080:8080 -p 3389:3389 -e "TZ=Europe/London" --name AudacityGui   psychemedia/audacitygui
#via https://github.com/linuxserver/dockergui
# Builds a docker gui image
#FROM hurricane/dockergui:xvnc
FROM hurricane/dockergui:x11rdp1.3
#Use an updated build
#FROM psychemedia/dockergui
#########################################
## ENVIRONMENTAL CONFIG ##
#########################################
# Set environment variables
# User/Group Id gui app will be executed as default are 99 and 100
ENV USER_ID=99
ENV GROUP_ID=100
# Gui App Name default is "GUI_APPLICATION"
ENV APP_NAME="Audacity"
# Default resolution, change if you like
ENV WIDTH=1280
ENV HEIGHT=720
# Use baseimage-docker's init system
CMD ["/sbin/my_init"]
#########################################
## REPOSITORIES AND DEPENDENCIES ##
#########################################
#echo 'deb http://archive.ubuntu.com/ubuntu trusty main universe restricted' > #/etc/apt/sources.list
#echo 'deb http://archive.ubuntu.com/ubuntu trusty-updates main universe restricted' >> #/etc/apt/sources.list
# Install packages needed for app
#########################################
## GUI APP INSTALL ##
#########################################
# Install steps for X app
RUN apt-get update && apt-get install -y \
audacity
# Copy X app start script to right location
COPY startapp.sh /startapp.sh
#########################################
## EXPORTS AND VOLUMES ##
#########################################
# Place whater volumes and ports you want exposed here:
#Trying to expose /nobody and running with -v "${PWD}/files":/nobody doesn't seem to work?
RUN mkdir -p /share
VOLUME /share
EXPOSE 3389 8080
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment