Compare commits
2 commits
82e840fccb
...
8ecfade5c4
Author | SHA1 | Date | |
---|---|---|---|
8ecfade5c4 | |||
0baefc7edc |
3 changed files with 35 additions and 1 deletions
12
apps/itchio/Containerfile
Normal file
12
apps/itchio/Containerfile
Normal file
|
@ -0,0 +1,12 @@
|
|||
FROM dobu/deps-base-ubuntu-jammy:latest
|
||||
|
||||
RUN apt-get -y update && apt-get -y install libgtk-3-0 curl libnss3
|
||||
|
||||
COPY ./itch-wrapper.sh /usr/bin/itch-wrapper.sh
|
||||
|
||||
RUN curl -Lo /usr/bin/itch-setup 'https://itch.io/app/download?platform=linux' && \
|
||||
chmod +x /usr/bin/itch-setup && chmod +x /usr/bin/itch-wrapper.sh
|
||||
|
||||
USER user
|
||||
|
||||
ENTRYPOINT [ "/usr/bin/itch-wrapper.sh" ]
|
17
apps/itchio/itch-wrapper.sh
Normal file
17
apps/itchio/itch-wrapper.sh
Normal file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
itch-setup --prefer-launch -- --no-sandbox
|
||||
|
||||
sleep 10
|
||||
|
||||
# Wait until the real itch.io process exits
|
||||
# Because whoever designed the client thought it is a good idea to unconditionally daemonize
|
||||
for pid in $(pgrep itch); do
|
||||
ppid=$(ps -o ppid= -p $pid | xargs)
|
||||
if [ "$ppid" == "1" ]; then
|
||||
while [ -d /proc/$pid ]; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
|
@ -93,7 +93,12 @@ container_entrypoint() {
|
|||
ensure_sommelier() {
|
||||
assert_image_exists dobu/deps-sommelier
|
||||
remove_stale_container dobu-deps-sommelier
|
||||
container_exists dobu-deps-sommelier && return
|
||||
if container_exists dobu-deps-sommelier; then
|
||||
[ -S "$DOBU_TMP/X11-unix/X1" ] && [ -S "$DOBU_TMP/xdg_runtime/wayland-1" ] && return
|
||||
log "Killing non-functional Sommelier container"
|
||||
podman kill dobu-deps-sommelier
|
||||
podman rm -f dobu-deps-sommelier
|
||||
fi
|
||||
|
||||
rm -rf "$DOBU_TMP/xdg_runtime" || true
|
||||
rm -rf "$DOBU_TMP/X11-unix" || true
|
||||
|
|
Loading…
Add table
Reference in a new issue