mirror of
https://github.com/DCsunset/docker-archlinux-vnc
synced 2025-12-06 17:04:58 +01:00
feat!: migrate to archlinux
This commit is contained in:
parent
fe97c557da
commit
9ba1dce00e
7 changed files with 35 additions and 87 deletions
30
Dockerfile
30
Dockerfile
|
|
@ -1,34 +1,30 @@
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
|
||||||
FROM ubuntu:${VERSION:-latest}
|
FROM archlinux:${VERSION:-latest}
|
||||||
LABEL MAINTAINER="DCsunset"
|
LABEL MAINTAINER="DCsunset"
|
||||||
|
|
||||||
ENV noVNC_version=1.1.0
|
ENV noVNC_version=1.1.0
|
||||||
ENV websockify_version=0.9.0
|
ENV websockify_version=0.9.0
|
||||||
ENV tigervnc_version=1.10.1
|
|
||||||
|
|
||||||
# Local debug
|
# Local debug
|
||||||
#COPY ./sources.list /etc/apt/
|
RUN echo "Server = https://mirrors.ustc.edu.cn/archlinux/\$repo/os/\$arch" > /etc/pacman.d/mirrorlist
|
||||||
#COPY ./websockify-${websockify_version}.tar.gz /websockify.tar.gz
|
RUN echo "Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/\$repo/os/\$arch" >> /etc/pacman.d/mirrorlist
|
||||||
#COPY ./noVNC-${noVNC_version}.tar.gz /noVNC.tar.gz
|
COPY ./websockify-${websockify_version}.tar.gz /websockify.tar.gz
|
||||||
|
COPY ./noVNC-${noVNC_version}.tar.gz /noVNC.tar.gz
|
||||||
|
|
||||||
# Install apps
|
# Install apps
|
||||||
RUN apt-get update \
|
RUN pacman -Sy --noconfirm xfce4 xfce4-goodies \
|
||||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -yq xfce4 xfce4-goodies \
|
chromium vim wget tigervnc \
|
||||||
chromium-browser vim wget \
|
python-numpy python-setuptools
|
||||||
python3-numpy python3-setuptools \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Install TigerVNC and noVNC
|
RUN pacman -Scc \
|
||||||
RUN wget "https://bintray.com/tigervnc/stable/download_file?file_path=tigervnc-${tigervnc_version}.x86_64.tar.gz" -O /tigervnc.tar.gz \
|
# Install noVNC
|
||||||
&& tar -xvf /tigervnc.tar.gz -C / \
|
# && wget https://github.com/novnc/websockify/archive/v${websockify_version}.tar.gz -O /websockify.tar.gz \
|
||||||
&& rm /tigervnc.tar.gz \
|
|
||||||
&& wget https://github.com/novnc/websockify/archive/v${websockify_version}.tar.gz -O /websockify.tar.gz \
|
|
||||||
&& tar -xvf /websockify.tar.gz -C / \
|
&& tar -xvf /websockify.tar.gz -C / \
|
||||||
&& cd /websockify-${websockify_version} \
|
&& cd /websockify-${websockify_version} \
|
||||||
&& python3 setup.py install \
|
&& python setup.py install \
|
||||||
&& cd / && rm -r /websockify.tar.gz /websockify-${websockify_version} \
|
&& cd / && rm -r /websockify.tar.gz /websockify-${websockify_version} \
|
||||||
&& wget https://github.com/novnc/noVNC/archive/v${noVNC_version}.tar.gz -O /noVNC.tar.gz \
|
# && wget https://github.com/novnc/noVNC/archive/v${noVNC_version}.tar.gz -O /noVNC.tar.gz \
|
||||||
&& tar -xvf /noVNC.tar.gz -C / \
|
&& tar -xvf /noVNC.tar.gz -C / \
|
||||||
&& cd /noVNC-${noVNC_version} \
|
&& cd /noVNC-${noVNC_version} \
|
||||||
&& ln -s vnc.html index.html \
|
&& ln -s vnc.html index.html \
|
||||||
|
|
|
||||||
45
README.md
45
README.md
|
|
@ -1,9 +1,9 @@
|
||||||
# docker-ubuntu-vnc
|
# docker-archlinux-vnc
|
||||||
|
|
||||||
[](https://hub.docker.com/r/dcsunset/ubuntu-vnc)
|
[](https://hub.docker.com/r/dcsunset/archlinux-vnc)
|
||||||
[](https://hub.docker.com/r/dcsunset/ubuntu-vnc)
|
[](https://hub.docker.com/r/dcsunset/archlinux-vnc)
|
||||||
|
|
||||||
A docker image of Ubuntu with Xfce desktop and VNC support.
|
A docker image of Arch Linux with Xfce desktop and VNC support.
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
|
@ -11,20 +11,11 @@ A docker image of Ubuntu with Xfce desktop and VNC support.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Tags
|
|
||||||
|
|
||||||
Different tags of this image are based on different versions of ubuntu.
|
|
||||||
|
|
||||||
Currently available tags:
|
|
||||||
|
|
||||||
* latest: based on ubuntu:lastest
|
|
||||||
* 18.04: based on ubuntu:18.04
|
|
||||||
* 16.04: based on ubuntu:16.04
|
|
||||||
|
|
||||||
## Pull image
|
## Pull image
|
||||||
|
|
||||||
```
|
```
|
||||||
docker pull dcsunset/ubuntu-vnc:<tag>
|
docker pull dcsunset/archlinux-vnc
|
||||||
```
|
```
|
||||||
|
|
||||||
The tag can be one of those listed above.
|
The tag can be one of those listed above.
|
||||||
|
|
@ -34,7 +25,7 @@ The tag can be one of those listed above.
|
||||||
Simple usage:
|
Simple usage:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -d -p 5900:5900 -p 6080:6080 -e VNC_PASSWD=password dcsunset/ubuntu-vnc
|
docker run -d -p 5900:5900 -p 6080:6080 -e VNC_PASSWD=password dcsunset/archlinux-vnc
|
||||||
```
|
```
|
||||||
|
|
||||||
Then visit <http://localhost:6080> to visit noVNC UI.
|
Then visit <http://localhost:6080> to visit noVNC UI.
|
||||||
|
|
@ -55,27 +46,19 @@ it is **insecure** when exposing the container on the Internet.
|
||||||
To make the image lightweight,
|
To make the image lightweight,
|
||||||
only the following applications are installed by default:
|
only the following applications are installed by default:
|
||||||
|
|
||||||
* Xfce desktop
|
* xfce4
|
||||||
* TigerVNC server
|
* tigervnc
|
||||||
* noVNC
|
* noVNC
|
||||||
* wget
|
* wget
|
||||||
* Python3
|
* vim
|
||||||
* Vim
|
* chromium
|
||||||
* Chromium browser
|
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
To use the latest Ubuntu image:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
docker build -t ubuntu-vnc .
|
docker build -t archlinux-vnc .
|
||||||
```
|
```
|
||||||
|
|
||||||
Or specify a version:
|
|
||||||
|
|
||||||
```
|
|
||||||
docker build --build-arg VERSION=18.04 -t ubuntu-vnc .
|
|
||||||
```
|
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
|
@ -87,19 +70,19 @@ install the font packs based on your needs.
|
||||||
To install the Indian font pack:
|
To install the Indian font pack:
|
||||||
|
|
||||||
```
|
```
|
||||||
apt-get install fonts-indic
|
pacman -Sy fonts-indic
|
||||||
```
|
```
|
||||||
|
|
||||||
To install the CJK font pack:
|
To install the CJK font pack:
|
||||||
|
|
||||||
```
|
```
|
||||||
apt-get install fonts-noto-cjk
|
pacman -Sy fonts-noto-cjk
|
||||||
```
|
```
|
||||||
|
|
||||||
To install the international font pack:
|
To install the international font pack:
|
||||||
|
|
||||||
```
|
```
|
||||||
apt-get install fonts-noto
|
pacman -Sy fonts-noto
|
||||||
```
|
```
|
||||||
|
|
||||||
### Scaling
|
### Scaling
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ Version=1.0
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Type=X-XFCE-Helper
|
Type=X-XFCE-Helper
|
||||||
X-XFCE-Category=WebBrowser
|
X-XFCE-Category=WebBrowser
|
||||||
X-XFCE-CommandsWithParameter=chromium-browser --no-sandbox "%s"
|
X-XFCE-CommandsWithParameter=chromium --no-sandbox "%s"
|
||||||
Icon=chromium-browser
|
Icon=chromium
|
||||||
Name=chromium-browser
|
Name=chromium
|
||||||
X-XFCE-Commands=chromium-browser --no-sandbox
|
X-XFCE-Commands=chromium --no-sandbox
|
||||||
|
|
|
||||||
13
hooks/build
13
hooks/build
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# original docker build command
|
|
||||||
echo "overwriting docker build -f $DOCKERFILE_PATH -t $IMAGE_NAME ."
|
|
||||||
|
|
||||||
cat "versions.txt" | while read VERSION
|
|
||||||
do
|
|
||||||
# The new image tag will include the version of ubuntu
|
|
||||||
IMAGE_TAG="${DOCKER_REPO}:${VERSION}"
|
|
||||||
|
|
||||||
echo "docker build -f Dockerfile --build-arg VERSION=${VERSION} -t ${IMAGE_TAG} ."
|
|
||||||
docker build -f Dockerfile --build-arg VERSION=${VERSION} -t ${IMAGE_TAG} .
|
|
||||||
done
|
|
||||||
13
hooks/push
13
hooks/push
|
|
@ -1,13 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# original docker push command
|
|
||||||
echo "overwriting docker push $IMAGE_NAME"
|
|
||||||
|
|
||||||
cat "versions.txt" | while read VERSION
|
|
||||||
do
|
|
||||||
# The new image tag will include the version of ubuntu
|
|
||||||
IMAGE_TAG="${DOCKER_REPO}:${VERSION}"
|
|
||||||
|
|
||||||
echo "docker push ${IMAGE_TAG}"
|
|
||||||
docker push ${IMAGE_TAG}
|
|
||||||
done
|
|
||||||
10
start.sh
10
start.sh
|
|
@ -4,15 +4,13 @@ umask 0077 # use safe default permissions
|
||||||
mkdir -p "$HOME/.vnc" # create config directory
|
mkdir -p "$HOME/.vnc" # create config directory
|
||||||
chmod go-rwx "$HOME/.vnc" # enforce safe permissions
|
chmod go-rwx "$HOME/.vnc" # enforce safe permissions
|
||||||
|
|
||||||
tigervnc_path="/tigervnc-${tigervnc_version}.x86_64/usr/bin"
|
|
||||||
|
|
||||||
# Start TigerVNC
|
# Start TigerVNC
|
||||||
if [ ! -z $VNC_PASSWD ]; then
|
if [ ! -z $VNC_PASSWD ]; then
|
||||||
${tigervnc_path}/vncpasswd -f <<< "$VNC_PASSWD" > "$HOME/.vnc/passwd"
|
vncpasswd -f <<< "$VNC_PASSWD" > "$HOME/.vnc/passwd"
|
||||||
${tigervnc_path}/vncserver -rfbport 5900
|
vncserver -rfbport 5900
|
||||||
else
|
else
|
||||||
${tigervnc_path}/vncpasswd -f <<< "" > "$HOME/.vnc/passwd"
|
vncpasswd -f <<< "" > "$HOME/.vnc/passwd"
|
||||||
${tigervnc_path}/vncserver -rfbport 5900 -SecurityTypes None
|
vncserver -rfbport 5900 -SecurityTypes None
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start noVNC
|
# Start noVNC
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
latest
|
|
||||||
18.04
|
|
||||||
16.04
|
|
||||||
Loading…
Reference in a new issue