Skip to content

katakombi/udocker-uberspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

udocker-uberspace

This manual shows the use of custom-created docker containers on uberspace. The provided example runs a Qt5-based web service.

Installation

mkdir -p ~/.udocker
wget https://raw.githubusercontent.com/indigo-dc/udocker/019e4d663d226aaa0caa3b173da6d1ce8264a0ab/udocker.py -O ~/.udocker/udocker.py
chmod u+x ~/.udocker/udocker.py
ln -sf ~/.udocker/udocker.py ~/bin/udocker

Install Ubuntu 18:04 with Qt5

udocker pull ubuntu:bionic
udocker create --name=Ubuntu_Qt5 ubuntu:bionic

cat << EOF > ~/install.sh
#!/bin/bash
apt-get update && apt-get -y upgrade
apt-mark hold dbus # dbus creates new groups upon installation which is not possible in udocker
apt-get install -y vim make g++ qt5-default
EOF
chmod a+x ~/install.sh

udocker run --user=root -v ~/install.sh -i -t Ubuntu_Qt5 ~/install.sh

Setup Qt5 WebApp

wget http://stefanfrings.de/qtwebapp/QtWebApp.zip -O ~/QtWebApp.zip
cd ~ && unzip ./QtWebApp.zip

Find free local port

WWW_PORT=$(( $RANDOM % 4535 + 61000)); netstat -tulpen | grep $WWW_PORT && echo "try again"
sed -i 's/^port=8080/port='$WWW_PORT'/' ~/QtWebApp/Demo1/etc/Demo1.ini
cat << EOF > ~/html/.htaccess
RewriteEngine On
RewriteRule ^(.*)$ http://localhost:$WWW_PORT/$1 [P]
EOF

Compile

udocker run --user=$USER --hostauth --hostenv --bindhome -i -t Ubuntu_Qt5 /bin/sh -c 'cd ~/QtWebApp/Demo1/ && qmake && make'

Run

udocker run --user=$USER --hostauth --hostenv --bindhome Ubuntu_Qt5 /bin/sh -c 'cd ~/QtWebApp/Demo1/ && ./Demo1'&

Test

firefox https://udocker.uber.space

About

Custom containers on uberspace

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published