drop bash + clean
This commit is contained in:
parent
e0cddbc00f
commit
03a0c9f6e4
@ -14,7 +14,7 @@ ADD res/setup_10.x /tmp/
|
|||||||
RUN \
|
RUN \
|
||||||
sed -i s@http://archive\.ubuntu\.com/ubuntu/@mirror://mirrors.ubuntu.com/mirrors.txt@ /etc/apt/sources.list &&\
|
sed -i s@http://archive\.ubuntu\.com/ubuntu/@mirror://mirrors.ubuntu.com/mirrors.txt@ /etc/apt/sources.list &&\
|
||||||
apt-get update && apt-get install -y --no-install-recommends apt-utils gnupg2 &&\
|
apt-get update && apt-get install -y --no-install-recommends apt-utils gnupg2 &&\
|
||||||
cat /tmp/setup_10.x | bash - &&\
|
cat /tmp/setup_10.x | sh - &&\
|
||||||
apt-get update &&\
|
apt-get update &&\
|
||||||
apt-get install -y curl xvfb nodejs pulseaudio x11vnc xdg-utils libnss3 wget libnspr4 libcairo2 libatk1.0-0 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 libpango-1.0-0 fluxbox wmctrl chromium-browser &&\
|
apt-get install -y curl xvfb nodejs pulseaudio x11vnc xdg-utils libnss3 wget libnspr4 libcairo2 libatk1.0-0 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 libpango-1.0-0 fluxbox wmctrl chromium-browser &&\
|
||||||
apt-get clean &&\
|
apt-get clean &&\
|
||||||
@ -33,6 +33,6 @@ RUN chmod +x /*.sh
|
|||||||
USER chrome
|
USER chrome
|
||||||
EXPOSE 5900
|
EXPOSE 5900
|
||||||
|
|
||||||
# ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
|
# ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
|
||||||
|
|
||||||
ENTRYPOINT ["/chomevnc.sh"]
|
ENTRYPOINT ["/chomevnc.sh"]
|
||||||
|
44
README.md
44
README.md
@ -4,35 +4,31 @@ A multi-arch Docker chome VNC
|
|||||||
|
|
||||||
## Build Steps
|
## Build Steps
|
||||||
|
|
||||||
### Build and download dependences
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# clean old files
|
|
||||||
sudo rm -rf res; mkdir -p res;
|
|
||||||
#
|
|
||||||
docker build -f dep.Dockerfile -t urielch/build-plugin .
|
|
||||||
docker run --rm -i -v $(pwd)/res:/opt --name tmp-compiler urielch/build-plugin /dl.sh
|
|
||||||
ls -lh res
|
|
||||||
```
|
|
||||||
|
|
||||||
### Build and test images
|
### Build and test images
|
||||||
```bash
|
|
||||||
docker build -f 1.Dockerfile -t urielch/chrome-vnc:$(dpkg --print-architecture) .
|
|
||||||
docker run -p 5900:5900 --name chrome urielch/chrome-vnc:$(dpkg --print-architecture)
|
|
||||||
docker exec -it chrome bash
|
|
||||||
docker rm -f chrome
|
|
||||||
|
|
||||||
|
|
||||||
docker build -t urielch/chrome-vnc:latest .
|
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker build -f ubuntu.Dockerfile -t urielch/chrome-vnc:ubuntu-$(dpkg --print-architecture) .
|
||||||
|
docker build -f alpine.Dockerfile -t urielch/chrome-vnc:alpine-$(dpkg --print-architecture) .
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### try it on a hevy website
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker run -d --rm -p 5900:5900 -e EXTRA_CHROME_OPTION="--lang=fr-FR,fr" -e X11_W=1024 -e X11_H=768 -e LANG="fr_FR.UTF-8" -e LC_ALL="fr_FR.UTF-8" -e URL=https://maps.google.fr --name chrome-ubu urielch/chrome-vnc:ubuntu-$(dpkg --print-architecture)
|
||||||
|
docker run -d --rm -p 5901:5900 -e EXTRA_CHROME_OPTION="--lang=fr-FR,fr" -e X11_W=1024 -e X11_H=768 -e LANG="fr_FR.UTF-8" -e LC_ALL="fr_FR.UTF-8" -e URL=https://maps.google.fr --name chrome-alp urielch/chrome-vnc:alpine-$(dpkg --print-architecture)
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
xvnc4viewer 127.0.0.1:0 &
|
||||||
|
xvnc4viewer 127.0.0.1:1 &
|
||||||
|
```
|
||||||
|
|
||||||
### Upload arch images
|
### Upload arch images
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
docker login
|
docker login
|
||||||
docker push urielch/chrome-vnc:$(dpkg --print-architecture)
|
docker push urielch/chrome-vnc:ubuntu-$(dpkg --print-architecture)
|
||||||
|
docker push urielch/chrome-vnc:alpine-$(dpkg --print-architecture)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Update multiArch Docker tag
|
### Update multiArch Docker tag
|
||||||
@ -44,7 +40,7 @@ edit ~/.docker/config.json add:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
docker rmi urielch/chrome-vnc:latest
|
docker rmi urielch/chrome-vnc:latest
|
||||||
docker manifest inspect urielch/chrome-vnc:latest
|
docker manifest inspect urielch/chrome-vnc:latest
|
||||||
docker manifest create --amend urielch/chrome-vnc:latest urielch/chrome-vnc:amd64 urielch/chrome-vnc:armhf
|
docker manifest create --amend urielch/chrome-vnc:latest urielch/chrome-vnc:amd64 urielch/chrome-vnc:armhf
|
||||||
@ -53,14 +49,14 @@ docker manifest --purge push urielch/chrome-vnc:latest
|
|||||||
|
|
||||||
### Test multi arch image
|
### Test multi arch image
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
docker pull urielch/chrome-vnc:latest
|
docker pull urielch/chrome-vnc:latest
|
||||||
docker run -p 5900:5900 --name chrome urielch/chrome-vnc:latest
|
docker run -p 5900:5900 --name chrome urielch/chrome-vnc:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### Cleanup images
|
### Cleanup images
|
||||||
|
|
||||||
```bash
|
```sh
|
||||||
docker rm $(docker ps -a -q)
|
docker rm $(docker ps -a -q)
|
||||||
docker rmi $(docker images -q)
|
docker rmi $(docker images -q)
|
||||||
```
|
```
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
FROM alpine:3.9
|
FROM alpine:3.9
|
||||||
LABEL maintainer="urielCh <admin@uriel.ovh>"
|
LABEL maintainer="urielCh <admin@uriel.ovh>"
|
||||||
|
|
||||||
ENV LC_ALL="C.UTF-8" \
|
|
||||||
LANG="en_US.UTF-8" \
|
|
||||||
LANGUAGE="en_US.UTF-8"
|
|
||||||
|
|
||||||
RUN apk add --no-cache xvfb pulseaudio supervisor x11vnc xdg-utils wget chromium nodejs
|
RUN apk add --no-cache xvfb pulseaudio supervisor x11vnc xdg-utils wget chromium nodejs
|
||||||
|
|
||||||
RUN set -ex;\
|
RUN set -ex;\
|
||||||
@ -20,6 +16,7 @@ RUN chmod +x /*.sh
|
|||||||
VOLUME ["/home/chrome"]
|
VOLUME ["/home/chrome"]
|
||||||
|
|
||||||
EXPOSE 5900
|
EXPOSE 5900
|
||||||
|
USER root
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
|
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
|
||||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
# Based on: http://www.richud.com/wiki/Ubuntu_Fluxbox_GUI_with_x11vnc_and_Xvfb
|
# Based on: http://www.richud.com/wiki/Ubuntu_Fluxbox_GUI_with_x11vnc_and_Xvfb
|
||||||
|
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
echo Knowns env variables: X11_W, X11_H, EXTRA_CHROME_OPTION, URL, PASSWORD
|
||||||
|
echo Knowns secret: URL, vncpasswd
|
||||||
|
echo
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
. ./env.sh
|
. ./env.sh
|
||||||
# VNC default no password
|
# VNC default no password
|
||||||
@ -9,14 +13,14 @@ export X11VNC_AUTH="-nopw"
|
|||||||
|
|
||||||
# look for VNC password file in order (first match is used)
|
# look for VNC password file in order (first match is used)
|
||||||
for passwd_file in /home/chrome/.vnc/passwd /run/secrets/vncpasswd; do
|
for passwd_file in /home/chrome/.vnc/passwd /run/secrets/vncpasswd; do
|
||||||
if [[ -f ${passwd_file} ]]; then
|
if [ -f ${passwd_file} ]; then
|
||||||
export X11VNC_AUTH="-rfbauth ${passwd_file}"
|
export X11VNC_AUTH="-rfbauth ${passwd_file}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# override above if VNC_PASSWORD env var is set (insecure!)
|
# override above if VNC_PASSWORD env var is set (insecure!)
|
||||||
if [[ "$PASSWORD" != "" ]]; then
|
if [ "$PASSWORD" != "" ]; then
|
||||||
echo $PASSWORD > /tmp/password
|
echo $PASSWORD > /tmp/password
|
||||||
export X11VNC_AUTH="-rfbauth /tmp/password"
|
export X11VNC_AUTH="-rfbauth /tmp/password"
|
||||||
# export X11VNC_AUTH="-passwd $PASSWORD"
|
# export X11VNC_AUTH="-passwd $PASSWORD"
|
||||||
|
@ -2,32 +2,22 @@ FROM ubuntu:18.10
|
|||||||
LABEL maintainer="urielCh <admin@uriel.ovh>"
|
LABEL maintainer="urielCh <admin@uriel.ovh>"
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND="noninteractive" \
|
ENV DEBIAN_FRONTEND="noninteractive" \
|
||||||
LC_ALL="C.UTF-8" \
|
LC_ALL="C.UTF-8"
|
||||||
LANG="en_US.UTF-8" \
|
|
||||||
LANGUAGE="en_US.UTF-8"
|
|
||||||
|
|
||||||
# sed -i s@http://archive\.ubuntu\.com/ubuntu/@mirror://mirrors.ubuntu.com/mirrors.txt@ /etc/apt/sources.list;\
|
|
||||||
|
|
||||||
RUN set -ex;\
|
RUN set -ex;\
|
||||||
apt-get update;\
|
apt-get update;\
|
||||||
echo ;\
|
echo ;\
|
||||||
echo installing other packages;\
|
echo installing other packages;\
|
||||||
echo ;\
|
echo ;\
|
||||||
optsDeps="iputils-ping net-tools apt-utils";\
|
optsDeps="iputils-ping net-tools";\
|
||||||
apt-get install -y xvfb fonts-takao pulseaudio supervisor x11vnc xdg-utils libnss3 libnspr4 libcairo2 libatk1.0-0 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 libpango-1.0-0 wget $optsDeps chromium-browser;\
|
apt-get install -y xvfb pulseaudio supervisor x11vnc wget $optsDeps chromium-browser;\
|
||||||
rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;
|
rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;
|
||||||
# ca-certificates
|
# pulseaudio
|
||||||
|
# xdg-utils libnss3 libnspr4 libcairo2 libatk1.0-0 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 libpango-1.0-0 fonts-takao
|
||||||
#RUN set -ex;\
|
|
||||||
# apt-get update;\
|
|
||||||
# commonsDeps="curl wget";\
|
|
||||||
# optsDeps="iputils-ping net-tools apt-utils";\
|
|
||||||
# apt-get install -y $commonsDeps $optsDeps chromium-browser;\
|
|
||||||
# rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;
|
|
||||||
|
|
||||||
RUN set -ex;\
|
RUN set -ex;\
|
||||||
echo setup node; \
|
echo setup node; \
|
||||||
wget -qO- https://deb.nodesource.com/setup_10.x | /bin/bash -;\
|
wget -qO- https://deb.nodesource.com/setup_10.x | /bin/sh -;\
|
||||||
apt-get install -y nodejs;\
|
apt-get install -y nodejs;\
|
||||||
rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;
|
rm -rf /var/cache/* /var/log/apt/* /var/lib/apt/lists/*;
|
||||||
|
|
||||||
@ -47,6 +37,7 @@ RUN chmod +x /*.sh
|
|||||||
VOLUME ["/home/chrome"]
|
VOLUME ["/home/chrome"]
|
||||||
|
|
||||||
EXPOSE 5900
|
EXPOSE 5900
|
||||||
|
USER root
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
|
ENTRYPOINT ["/bin/sh", "/entrypoint.sh"]
|
||||||
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
|
||||||
|
Loading…
Reference in New Issue
Block a user