Migrate to s6v3

This commit is contained in:
TheSpad 2022-10-21 09:37:29 +01:00
parent c3d48e2730
commit e10864a9ba
No known key found for this signature in database
GPG Key ID: 08F06191F4587860
14 changed files with 30 additions and 24 deletions

View File

@ -18,7 +18,7 @@ jobs:
fi
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_FIREFOX_MASTER\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
EXT_RELEASE=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:'"firefox"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"

View File

@ -1,4 +1,4 @@
FROM lsiobase/rdesktop-web:alpine
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:3.16
# set version label
ARG BUILD_DATE
@ -9,17 +9,14 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl && \
if [ -z ${FIREFOX_VERSION+x} ]; then \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:firefox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
firefox==${FIREFOX_VERSION} && \
sed -i 's|</applications>| <application title="Mozilla Firefox" type="normal">\n <maximized>yes</maximized>\n </application>\n</applications>|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
@ -28,4 +25,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config

View File

@ -1,4 +1,4 @@
FROM lsiobase/rdesktop-web:arm64v8-alpine
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm64v8-3.16
# set version label
ARG BUILD_DATE
@ -9,17 +9,14 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl && \
if [ -z ${FIREFOX_VERSION+x} ]; then \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:firefox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
firefox==${FIREFOX_VERSION} && \
sed -i 's|</applications>| <application title="Mozilla Firefox" type="normal">\n <maximized>yes</maximized>\n </application>\n</applications>|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
@ -28,4 +25,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config

View File

@ -1,4 +1,4 @@
FROM lsiobase/rdesktop-web:arm32v7-alpine
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm32v7-3.16
# set version label
ARG BUILD_DATE
@ -9,17 +9,14 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
apk add --no-cache --virtual=build-dependencies \
curl && \
if [ -z ${FIREFOX_VERSION+x} ]; then \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
FIREFOX_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:firefox$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
firefox==${FIREFOX_VERSION} && \
sed -i 's|</applications>| <application title="Mozilla Firefox" type="normal">\n <maximized>yes</maximized>\n </application>\n</applications>|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/*
@ -28,4 +25,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config

4
Jenkinsfile vendored
View File

@ -25,8 +25,8 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/firefox'
PR_DOCKERHUB_IMAGE = 'lspipepr/firefox'
DIST_IMAGE = 'alpine'
DIST_TAG = '3.15'
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.15/community/'
DIST_TAG = '3.16'
DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.16/community/'
DIST_REPO_PACKAGES = 'firefox'
MULTIARCH = 'true'
CI = 'true'

View File

@ -81,6 +81,8 @@ services:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
@ -98,6 +100,7 @@ services:
```bash
docker run -d \
--name=firefox \
--security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
@ -120,6 +123,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
| `-v /config` | Users home directory in the container, stores local files and settings |
| `--shm-size=` | This is needed for any modern website to function like youtube. |
| `--security-opt seccomp=unconfined` | For Docker Engine only, many modern gui apps need this to function as syscalls are unkown to Docker. |
## Environment variables from files (Docker secrets)
@ -230,6 +234,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **21.10.22:** - Rebase to Alpine 3.16, migrate to s6v3.
* **23.12.21:** - Rebase to Alpine 3.15, stop using ESR.
* **26.09.21:** - Rebase to Alpine 3.14.
* **19.04.21:** - Initial release.

View File

@ -15,8 +15,8 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/firefox'
- PR_DOCKERHUB_IMAGE = 'lspipepr/firefox'
- DIST_IMAGE = 'alpine'
- DIST_TAG = '3.15'
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.15/community/'
- DIST_TAG = '3.16'
- DIST_REPO = 'http://dl-cdn.alpinelinux.org/alpine/v3.16/community/'
- DIST_REPO_PACKAGES = 'firefox'
- MULTIARCH = 'true'
- CI = 'true'

View File

@ -31,6 +31,9 @@ param_ports:
- { external_port: "3000", internal_port: "3000", port_desc: "Firefox desktop gui." }
custom_params:
- { name: "shm-size", name_compose: "shm_size", value: "1gb",desc: "This is needed for any modern website to function like youtube." }
opt_security_opt_param: true
opt_security_opt_param_vars:
- { run_var: "seccomp=unconfined", compose_var: "seccomp:unconfined", desc: "For Docker Engine only, many modern gui apps need this to function as syscalls are unkown to Docker." }
# application setup block
app_setup_block_enabled: true
@ -45,6 +48,7 @@ app_setup_block: |
# changelog
changelogs:
- { date: "21.10.22:", desc: "Rebase to Alpine 3.16, migrate to s6v3." }
- { date: "23.12.21:", desc: "Rebase to Alpine 3.15, stop using ESR." }
- { date: "26.09.21:", desc: "Rebase to Alpine 3.14." }
- { date: "19.04.21:", desc: "Initial release." }

View File

@ -1,7 +1,8 @@
#!/usr/bin/with-contenv bash
# default file copies first run
[[ ! -f /config/.config/openbox/menu.xml ]] && \
if [[ ! -f /config/.config/openbox/menu.xml ]]; then
mkdir -p /config/.config/openbox && \
cp /defaults/menu.xml /config/.config/openbox/menu.xml && \
chown -R abc:abc /config/.config
fi

View File

@ -0,0 +1 @@
oneshot

View File

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-openboxcopy/run