diff --git a/.github/workflows/external_trigger.yml b/.github/workflows/external_trigger.yml
index 863ff4f..827b9e7 100644
--- a/.github/workflows/external_trigger.yml
+++ b/.github/workflows/external_trigger.yml
@@ -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_FILEZILLA_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:'"filezilla"'$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://')
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
diff --git a/Dockerfile b/Dockerfile
index c6731b8..40289dd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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,18 +9,15 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
- apk add --no-cache --virtual=build-dependencies \
- curl && \
if [ -z ${FILEZILLA_VERSION+x} ]; then \
- FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
+ FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:filezilla$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
filezilla==${FILEZILLA_VERSION} \
filezilla-lang && \
+ sed -i 's|| \n yes\n \n|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
- apk del --purge \
- build-dependencies && \
rm -rf \
/tmp/*
@@ -29,4 +26,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
+
VOLUME /config
diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64
index 0ff60a9..2eef100 100644
--- a/Dockerfile.aarch64
+++ b/Dockerfile.aarch64
@@ -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,18 +9,15 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
- apk add --no-cache --virtual=build-dependencies \
- curl && \
if [ -z ${FILEZILLA_VERSION+x} ]; then \
- FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
+ FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:filezilla$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
filezilla==${FILEZILLA_VERSION} \
filezilla-lang && \
+ sed -i 's|| \n yes\n \n|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
- apk del --purge \
- build-dependencies && \
rm -rf \
/tmp/*
@@ -29,4 +26,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
+
VOLUME /config
diff --git a/Dockerfile.armhf b/Dockerfile.armhf
index d810c80..d7e61e6 100644
--- a/Dockerfile.armhf
+++ b/Dockerfile.armhf
@@ -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,18 +9,15 @@ LABEL maintainer="thelamer"
RUN \
echo "**** install packages ****" && \
- apk add --no-cache --virtual=build-dependencies \
- curl && \
if [ -z ${FILEZILLA_VERSION+x} ]; then \
- FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
+ FILEZILLA_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:filezilla$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
filezilla==${FILEZILLA_VERSION} \
filezilla-lang && \
+ sed -i 's|| \n yes\n \n|' /etc/xdg/openbox/rc.xml && \
echo "**** cleanup ****" && \
- apk del --purge \
- build-dependencies && \
rm -rf \
/tmp/*
@@ -29,4 +26,5 @@ COPY /root /
# ports and volumes
EXPOSE 3000
+
VOLUME /config
diff --git a/Jenkinsfile b/Jenkinsfile
index cf3d753..5024263 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -25,8 +25,8 @@ pipeline {
DEV_DOCKERHUB_IMAGE = 'lsiodev/filezilla'
PR_DOCKERHUB_IMAGE = 'lspipepr/filezilla'
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 = 'filezilla'
MULTIARCH = 'true'
CI = 'true'
diff --git a/README.md b/README.md
index 7f18400..349ca8d 100644
--- a/README.md
+++ b/README.md
@@ -81,6 +81,8 @@ services:
filezilla:
image: lscr.io/linuxserver/filezilla:latest
container_name: filezilla
+ security_opt:
+ - seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
@@ -97,6 +99,7 @@ services:
```bash
docker run -d \
--name=filezilla \
+ --security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
@@ -117,6 +120,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-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 |
+| `--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)
@@ -227,6 +231,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.
* **26.09.21:** - Rebase to Alpine 3.14.
* **18.04.21:** - Initial release.
diff --git a/jenkins-vars.yml b/jenkins-vars.yml
index af380e9..cb69b35 100644
--- a/jenkins-vars.yml
+++ b/jenkins-vars.yml
@@ -15,8 +15,8 @@ repo_vars:
- DEV_DOCKERHUB_IMAGE = 'lsiodev/filezilla'
- PR_DOCKERHUB_IMAGE = 'lspipepr/filezilla'
- 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 = 'filezilla'
- MULTIARCH = 'true'
- CI = 'true'
diff --git a/readme-vars.yml b/readme-vars.yml
index fda53c2..af808f3 100644
--- a/readme-vars.yml
+++ b/readme-vars.yml
@@ -29,6 +29,9 @@ param_volumes:
param_usage_include_ports: true
param_ports:
- { external_port: "3000", internal_port: "3000", port_desc: "FileZilla desktop gui." }
+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 on older hosts as syscalls are unknown to Docker." }
# application setup block
app_setup_block_enabled: true
@@ -43,6 +46,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." }
- { date: "26.09.21:", desc: "Rebase to Alpine 3.14." }
- { date: "18.04.21:", desc: "Initial release." }
diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-openboxcopy b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-openboxcopy
new file mode 100644
index 0000000..e69de29
diff --git a/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/dependencies.d/init-config b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/dependencies.d/init-config
new file mode 100644
index 0000000..e69de29
diff --git a/root/etc/cont-init.d/56-openboxcopy b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/run
old mode 100644
new mode 100755
similarity index 78%
rename from root/etc/cont-init.d/56-openboxcopy
rename to root/etc/s6-overlay/s6-rc.d/init-openboxcopy/run
index f22df65..e7504d5
--- a/root/etc/cont-init.d/56-openboxcopy
+++ b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/run
@@ -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
diff --git a/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/type b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/type
new file mode 100644
index 0000000..3d92b15
--- /dev/null
+++ b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/type
@@ -0,0 +1 @@
+oneshot
\ No newline at end of file
diff --git a/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/up b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/up
new file mode 100644
index 0000000..c5a506f
--- /dev/null
+++ b/root/etc/s6-overlay/s6-rc.d/init-openboxcopy/up
@@ -0,0 +1 @@
+/etc/s6-overlay/s6-rc.d/init-openboxcopy/run
\ No newline at end of file
diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-openboxcopy b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-openboxcopy
new file mode 100644
index 0000000..e69de29