Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
7eca2c1
Initial plan
Copilot Feb 24, 2026
f66bc0c
fix(freetube): use repo kasmvnc base and move to passing queue
Copilot Feb 24, 2026
75f2a04
fix(series-troxide): use repo kasmvnc base and move to passing
Copilot Feb 24, 2026
341511c
fix(tvheadend): add missing picons stage alias and move to passing
Copilot Feb 24, 2026
509ab40
chore(freetube): move back to failing after build verification fails
Copilot Feb 24, 2026
aa62d5e
chore(series-troxide): move back to failing after build verification …
Copilot Feb 24, 2026
962a8df
chore(tvheadend): move back to failing after build verification fails
Copilot Feb 24, 2026
6477037
chore(bookstack): verified build/runtime and move to passing
Copilot Feb 24, 2026
8f473bf
chore(flexget): verified build/runtime and move to passing
Copilot Feb 24, 2026
ec83de7
chore(ubooquity): verified build/runtime and move to passing
Copilot Feb 24, 2026
3ebfc67
chore(unrar): verified build/runtime and move to passing
Copilot Feb 24, 2026
0f1731e
fix(flexget): correct default config path and remove stray /data command
Copilot Feb 24, 2026
b16d742
fix(flexget): use proper wildcard default in config case statement
Copilot Feb 24, 2026
0041aaa
fix(webgrabplus): avoid /app writes and run webgrab process
Copilot Feb 24, 2026
5ec40da
fix(phpmyadmin): make startup readonly-safe and run php server
Copilot Feb 24, 2026
3e19a51
fix(piwigo): make startup readonly-safe and run php server
Copilot Feb 24, 2026
c60871b
fix(dokuwiki): make startup readonly-safe and run php server
Copilot Feb 24, 2026
4702399
fix(kasm): align startup paths and run wizard with matching node runtime
Copilot Feb 24, 2026
c0a8c84
fix(kasm): quote gpuinfo JSON output safely
Copilot Feb 24, 2026
a55065d
refactor(kasm): deduplicate gpuinfo source and copy it in Dockerfile
Copilot Feb 24, 2026
3dafceb
fix(emulatorjs): pass version arg to node stage and make runtime star…
Copilot Feb 24, 2026
574bf5d
fix(luanti): resolve build deps and add writable runtime fallback
Copilot Feb 24, 2026
db60c88
fix(minetest): remove API-dependent build steps and add runtime fallback
Copilot Feb 25, 2026
149a2c0
fix(pydio-cells): correct source/version args and startup command flow
Copilot Feb 25, 2026
7323f54
chore(pydio-cells): harden openssl printf config string
Copilot Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion porting/queues/failing/freetube/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ghcr.io/trueforge-org/baseimage-kasmvnc:debianbookworm
FROM containerforge/kasmvnc

# set version label
ARG VERSION
Expand Down
63 changes: 0 additions & 63 deletions porting/queues/failing/kasm/start.sh

This file was deleted.

20 changes: 0 additions & 20 deletions porting/queues/failing/luanti/start.sh

This file was deleted.

20 changes: 0 additions & 20 deletions porting/queues/failing/minetest/start.sh

This file was deleted.

77 changes: 0 additions & 77 deletions porting/queues/failing/piwigo/start.sh

This file was deleted.

2 changes: 1 addition & 1 deletion porting/queues/failing/series-troxide/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ RUN \
cargo install series-troxide

# runtime
FROM ghcr.io/trueforge-org/baseimage-kasmvnc:debianbookworm
FROM containerforge/kasmvnc

# set version label
ARG VERSION
Expand Down
2 changes: 1 addition & 1 deletion porting/queues/failing/tvheadend/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
############## picons stage ##############
# built by https://github.com/linuxserver/picons-builder
FROM ghcr.io/trueforge-org/python:3.13.12
FROM ghcr.io/trueforge-org/python:3.13.12 AS piconsstage


FROM ghcr.io/trueforge-org/ubuntu:24.04 as buildstage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,34 +30,36 @@ if [[ ! -d /config/dokuwiki/lib/images/smileys ]]; then
mkdir -p /config/dokuwiki/lib/images/smileys/local
fi

## Move user folders to persistent storage
for i in "${USER_DIRECTORY[@]}"; do
if [[ ! -d /config/dokuwiki/"${i}" ]] && [[ -d /app/www/public/"${i}" ]]; then
mv /app/www/public/"${i}" /config/dokuwiki/"${i}"/
fi
done

# Update built-in plugins
for i in /app/www/public/lib/plugins/*/; do
if [[ -d "/config/dokuwiki/lib/plugins/$(basename "${i}")" ]] && [[ -d "/app/www/public/lib/plugins/$(basename "${i}")" ]] && [[ ! -L "/app/www/public/lib/plugins" ]]; then
cp -R /app/www/public/lib/plugins/"$(basename "${i}")"/* /config/dokuwiki/lib/plugins/"$(basename "${i}")"
fi
done

## Remove user folders
for i in "${USER_DIRECTORY[@]}"; do
if [[ -d /app/www/public/"${i}" ]]; then
rm -rf /app/www/public/"${i}"
fi
done

## Make Symlinks
for i in "${USER_DIRECTORY[@]}"; do
if [[ ! -L /app/www/public/"${i}" ]]; then
ln -s /config/dokuwiki/"${i}" /app/www/public/"${i}"
fi

done
if [[ -w /app/www/public ]]; then
## Move user folders to persistent storage
for i in "${USER_DIRECTORY[@]}"; do
if [[ ! -d /config/dokuwiki/"${i}" ]] && [[ -d /app/www/public/"${i}" ]]; then
mv /app/www/public/"${i}" /config/dokuwiki/"${i}"/
fi
done

# Update built-in plugins
for i in /app/www/public/lib/plugins/*/; do
if [[ -d "/config/dokuwiki/lib/plugins/$(basename "${i}")" ]] && [[ -d "/app/www/public/lib/plugins/$(basename "${i}")" ]] && [[ ! -L "/app/www/public/lib/plugins" ]]; then
cp -R /app/www/public/lib/plugins/"$(basename "${i}")"/* /config/dokuwiki/lib/plugins/"$(basename "${i}")"
fi
done

## Remove user folders
for i in "${USER_DIRECTORY[@]}"; do
if [[ -d /app/www/public/"${i}" ]]; then
rm -rf /app/www/public/"${i}"
fi
done

## Make Symlinks
for i in "${USER_DIRECTORY[@]}"; do
if [[ ! -L /app/www/public/"${i}" ]]; then
ln -s /config/dokuwiki/"${i}" /app/www/public/"${i}"
fi

done
fi

## Make Symlinks from /app/www/public to /config/dokuwiki
## This is to make sure plugins that include files
Expand All @@ -82,7 +84,7 @@ fi

## Remove install.php once setup & enable pretty urls to work after setting .htaccess method in admin panel.
if [[ -f /config/dokuwiki/conf/local.php ]]; then
if rm -rf /app/www/public/install.php; then
if [[ -w /app/www/public ]] && rm -rf /app/www/public/install.php; then
echo "Existing install found, deleting install.php."
fi

Expand All @@ -100,4 +102,5 @@ fi
## Backwards compatibility 2021/04/15
sed -i 's%location ~ /(conf/|bin/|inc/|install.php) { deny all; }%location ~ /(conf/|bin/|inc/|vendor/) { deny all; }%' /config/nginx/site-confs/default.conf

## TODO: Missing exec
cd /app/www/public
exec php -S 0.0.0.0:8080
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ RUN \
FROM ghcr.io/trueforge-org/node:22.22.0 as nodebuilder

USER root
ARG VERSION

RUN \
echo "**** install build packages ****" && \
Expand Down Expand Up @@ -110,17 +111,13 @@ RUN \
file \
flac \
nginx \
nodejs \
p7zip-full \
python3 \
libsdl2-2.0-0 && \
apt-get install -y --no-install-recommends \
mame-tools && \
mkdir /data && \
echo "**** use pinned node ****" && \
curl -L \
https://github.com/thelamer/node-stash/raw/master/v16.20.2/$TARGETARCH/node -o \
/bin/node && \
chmod +x /bin/node && \
mkdir -p /data && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@


# check if ipfs is disabled
if [ -z ${DISABLE_IPFS+x} ]; then
if [[ -z ${DISABLE_IPFS+x} ]] && command -v ipfs >/dev/null 2>&1; then

# ipfs migrate check on startup
if [[ -d "/data/.ipfs" ]]; then
Expand All @@ -17,7 +17,7 @@ if [ -z ${DISABLE_IPFS+x} ]; then
fi

# link user data to frontend
if [[ ! -L '/emulatorjs/frontend/user' ]]; then
if [[ -w '/emulatorjs/frontend' ]] && [[ ! -L '/emulatorjs/frontend/user' ]]; then
ln -s /data /emulatorjs/frontend/user
fi

Expand All @@ -34,7 +34,9 @@ if [[ ! -f '/config/profile/profile.json' ]]; then
fi

# nginx mime types
cp /defaults/mime.types /etc/nginx/mime.types
if [[ -w /etc/nginx ]]; then
cp /defaults/mime.types /etc/nginx/mime.types
fi

# allow users to mount in ro rom dirs
DIRS='3do atari2600 atari5200 atari7800 colecovision doom gba lynx n64 nes odyssey2 psx segaCD segaMD segaSaturn snes vb ws arcade atari5200 gb gbc jaguar msx nds ngp pce sega32x segaGG segaMS segaSG vectrex'
Expand Down Expand Up @@ -70,4 +72,3 @@ cd /emulatorjs
HOME=/config
## TODO: What to do with this?
exec node profile.js

Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ case "${FG_CONFIG_FILE}" in
*yaml)
FG_LOCK_FILE="${FG_CONFIG_FILE/config.yaml/.config-lock}"
;;
default)
*)
echo "invalid config file extension"
exit 1
;;
Expand All @@ -26,7 +26,7 @@ if [[ -f "${FG_LOCK_FILE}" ]]; then
fi

if [[ ! -f "${FG_CONFIG_FILE}" ]]; then
cp /default/config.yml "${FG_CONFIG_FILE}"
cp /root/default/config.yml "${FG_CONFIG_FILE}"
fi

if [[ -n "${FG_WEBUI_PASSWORD}" ]]; then
Expand All @@ -36,12 +36,6 @@ if [[ -n "${FG_WEBUI_PASSWORD}" ]]; then
fi
fi

if grep -qe ' /data ' /proc/mounts; then

/data
fi

cd /config
exec /app/venv/bin/python /app/venv/bin/flexget \
--loglevel "${FG_LOG_LEVEL:-info}" --logfile "${FG_LOG_FILE:-/config/.flexget/flexget.log}" -c "${FG_CONFIG_FILE:-/config/.flexget/config.yml}" daemon start --autoreload-config

Loading