add cool-retro-term
This commit is contained in:
parent
685348eabc
commit
d249f6b0a6
49
cool-retro-term/Dockerfile
Normal file
49
cool-retro-term/Dockerfile
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
FROM ubuntu:xenial
|
||||||
|
MAINTAINER Andrey Arapov <andrey.arapov@nixaid.com>
|
||||||
|
|
||||||
|
# To avoid problems with Dialog and curses wizards
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get -y --no-install-recommends install ca-certificates wget git \
|
||||||
|
openssh-client sudo libpulse0 \
|
||||||
|
build-essential qmlscene \
|
||||||
|
qt5-qmake qt5-default qtdeclarative5-dev qtdeclarative5-controls-plugin \
|
||||||
|
qtdeclarative5-qtquick2-plugin libqt5qml-graphicaleffects \
|
||||||
|
qtdeclarative5-dialogs-plugin qtdeclarative5-localstorage-plugin \
|
||||||
|
qtdeclarative5-window-plugin && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
ENV DUSER user
|
||||||
|
ENV DGROUPS video,audio
|
||||||
|
ENV DUID 1000
|
||||||
|
ENV DHOME /home/$DUSER
|
||||||
|
ENV APPDIR /opt/cool-retro-term
|
||||||
|
|
||||||
|
RUN useradd -u $DUID -m -d $DHOME -s /usr/sbin/nologin -G $DGROUPS $DUSER && \
|
||||||
|
mkdir -p $APPDIR && \
|
||||||
|
chown -Rh $DUSER:$DUSER $APPDIR
|
||||||
|
|
||||||
|
WORKDIR $DHOME
|
||||||
|
USER $DUSER
|
||||||
|
|
||||||
|
RUN git clone --recursive https://github.com/Swordfish90/cool-retro-term.git $APPDIR
|
||||||
|
RUN cd $APPDIR && \
|
||||||
|
qmake && \
|
||||||
|
make -j $(nproc)
|
||||||
|
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# You can install more apps you need here
|
||||||
|
# E.g.:
|
||||||
|
# RUN apt-get update && apt -y install pulseaudio-utils alsa-utils mplayer
|
||||||
|
|
||||||
|
# Workaround: pulseaudio client library likes to remove /dev/shm/pulse-shm-*
|
||||||
|
# files created by the host, causing sound to stop working.
|
||||||
|
# To fix this, we either want to disable the shm or mount /dev/shm
|
||||||
|
# in read-only mode when starting the container.
|
||||||
|
RUN echo "enable-shm = no" | sudo tee -a /etc/pulse/client.conf
|
||||||
|
|
||||||
|
COPY launch /launch
|
||||||
|
ENTRYPOINT [ "bash", "/launch" ]
|
25
cool-retro-term/docker-compose.yml
Normal file
25
cool-retro-term/docker-compose.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
cool-retro-term:
|
||||||
|
image: andrey01/cool-retro-term
|
||||||
|
network_mode: bridge
|
||||||
|
devices:
|
||||||
|
- /dev/dri
|
||||||
|
# - /dev/video0
|
||||||
|
volumes:
|
||||||
|
- /tmp/.X11-unix:/tmp/.X11-unix:ro
|
||||||
|
- $XDG_RUNTIME_DIR/pulse:/run/user/1000/pulse:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- $HOME:/home/$USER
|
||||||
|
- /etc/machine-id:/etc/machine-id:ro
|
||||||
|
environment:
|
||||||
|
- DISPLAY=unix$DISPLAY
|
||||||
|
- PULSE_SERVER=unix:$XDG_RUNTIME_DIR/pulse/native
|
||||||
|
- REALUSER=$USER
|
||||||
|
shm_size: 16M
|
||||||
|
# For the mplayer to work, you need to share IPC between host and the container
|
||||||
|
# otherwise you gonna get errors like:
|
||||||
|
# - X11 error: BadAccess (attempt to access private resource denied)
|
||||||
|
# - X11 error: BadShmSeg (invalid shared segment parameter)
|
||||||
|
ipc: host
|
14
cool-retro-term/launch
Normal file
14
cool-retro-term/launch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
export OLDUSER=${DUSER:-user}
|
||||||
|
export USER=${REALUSER:?}
|
||||||
|
|
||||||
|
groupmod --new-name $USER $(id -gn $OLDUSER)
|
||||||
|
usermod --home /home/$USER $OLDUSER
|
||||||
|
usermod --login $USER $OLDUSER
|
||||||
|
echo "$USER ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/$USER
|
||||||
|
|
||||||
|
sudo PULSE_SERVER=${PULSE_SERVER:?} su -s /bin/bash -c /opt/cool-retro-term/cool-retro-term $USER
|
||||||
|
|
||||||
|
# QT_X11_NO_MITSHM - stops Qt form using the MIT-SHM X11 extension
|
||||||
|
# sudo QT_X11_NO_MITSHM=${QT_X11_NO_MITSHM:-1} PULSE_SERVER=${PULSE_SERVER:?} su -s /bin/bash -c /opt/cool-retro-term/cool-retro-term $USER
|
Loading…
Reference in New Issue
Block a user