Skip to content

Commit

Permalink
add doublecmd zotero and mumble
Browse files Browse the repository at this point in the history
  • Loading branch information
thelamer committed Apr 17, 2024
1 parent cdee207 commit f173846
Show file tree
Hide file tree
Showing 16 changed files with 225 additions and 1 deletion.
6 changes: 6 additions & 0 deletions .github/workflows/build-on-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ jobs:
arch: linux/amd64,linux/arm64
- name: digikam
arch: linux/amd64,linux/arm64
- name: doublecmd
arch: linux/amd64,linux/arm64
- name: earth
arch: linux/amd64
- name: edge
Expand Down Expand Up @@ -127,6 +129,8 @@ jobs:
arch: linux/amd64,linux/arm64
- name: moonlight
arch: linux/amd64,linux/arm64
- name: mumble
arch: linux/amd64,linux/arm64
- name: nextcloud
arch: linux/amd64
- name: obs
Expand Down Expand Up @@ -177,3 +181,5 @@ jobs:
arch: linux/amd64
- name: zoom
arch: linux/amd64
- name: zotero
arch: linux/amd64
3 changes: 3 additions & 0 deletions .github/workflows/package-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ jobs:
- name: chromium
- name: deluge
- name: digikam
- name: doublecmd
- name: earth
- name: edge
- name: filezilla
Expand All @@ -57,6 +58,7 @@ jobs:
- name: librewolf
- name: nextcloud
- name: moonlight
- name: mumble
- name: obs
- name: obsidian
- name: onlyoffice
Expand All @@ -81,6 +83,7 @@ jobs:
- name: webcord
- name: yandex
- name: zoom
- name: zotero
pcommit:
runs-on: ubuntu-latest
if: success() || failure()
Expand Down
2 changes: 1 addition & 1 deletion apps/calibre/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG REPO
FROM ghcr.io/${REPO}:alpine-319-av as rootfs
FROM ghcr.io/${REPO}:alpine-edge-av as rootfs
ARG REPO

# Install packages
Expand Down
44 changes: 44 additions & 0 deletions apps/doublecmd/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
ARG REPO
FROM ghcr.io/${REPO}:debian-bookworm-av as rootfs
ARG REPO

# Install packages
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
libqt5printsupport5 \
libqt5x11extras5 \
xz-utils && \
DOUBLECMD_VERSION=$(curl -sX GET "https://api.github.com/repos/doublecmd/doublecmd/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
curl -o \
/tmp/doublecmd.tar.xz -L \
"https://github.com/doublecmd/doublecmd/releases/download/${DOUBLECMD_VERSION}/doublecmd-$(echo $DOUBLECMD_VERSION| sed 's/^v//g').qt.$(uname -m).tar.xz" && \
mkdir /opt/doublecmd && \
tar -xf \
/tmp/doublecmd.tar.xz -C \
/opt/doublecmd --strip-components=1 && \
echo "**** desktop file ****" && \
DESKTOP_FILE=/usr/share/applications/doublecmd-pa.desktop && \
echo '[Desktop Entry]' > ${DESKTOP_FILE} && \
echo 'Type=Application' >> ${DESKTOP_FILE} && \
echo 'Name=Double Commander PA' >> ${DESKTOP_FILE} && \
echo 'Icon=doublecmd' >> ${DESKTOP_FILE} && \
echo 'Exec=/bin/sh -c "$HOME/.local/bin/proot-apps run ghcr.io/'${REPO}':doublecmd %U"' >> ${DESKTOP_FILE} && \
echo "**** set bin name ****" && \
echo "doublecmd-pa" > /bin-name && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/root/.cache \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*

COPY ./entrypoint /entrypoint
COPY ./install /install
COPY ./remove /remove

FROM scratch
COPY --from=rootfs / /
4 changes: 4 additions & 0 deletions apps/doublecmd/entrypoint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

# Start Double Commander
/opt/doublecmd/doublecmd "$@"
19 changes: 19 additions & 0 deletions apps/doublecmd/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

## Desktop and icons install ##
echo "Adding icon"
mkdir -p $HOME/.local/share/icons/hicolor/scalable/apps/
cp \
/opt/doublecmd/doublecmd.png \
$HOME/.local/share/icons/hicolor/scalable/apps/
echo "Adding start menu entry"
mkdir -p $HOME/.local/share/applications/
cp \
/usr/share/applications/doublecmd-pa.desktop \
$HOME/.local/share/applications/
echo "Adding desktop shortcut"
mkdir -p $HOME/Desktop
cp \
/usr/share/applications/doublecmd-pa.desktop \
$HOME/Desktop/
chmod +x $HOME/Desktop/doublecmd-pa.desktop
7 changes: 7 additions & 0 deletions apps/doublecmd/remove
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
echo "Removing icon"
rm -f $HOME/.local/share/icons/hicolor/scalable/apps/doublecmd.png
echo "Removing start menu entry"
rm -f $HOME/.local/share/applications/doublecmd-pa.desktop
echo "Removing desktop shortcut"
rm -f $HOME/Desktop/doublecmd-pa.desktop
30 changes: 30 additions & 0 deletions apps/mumble/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
ARG REPO
FROM ghcr.io/${REPO}:alpine-319-av as rootfs
ARG REPO

# Install packages
RUN \
echo "**** install packages ****" && \
apk add --no-cache \
mumble && \
echo "**** customize desktop file ****" && \
sed -i \
-e "/^Exec=/c Exec=/bin/sh -c \"\$HOME\/.local\/bin\/proot-apps run ghcr.io/${REPO}:mumble %U\"" \
-e "s/Name=Mumble/Name=Mumble PA/g" \
-e '/^TryExec=/d' \
/usr/share/applications/info.mumble.Mumble.desktop && \
mv \
/usr/share/applications/info.mumble.Mumble.desktop \
/usr/share/applications/mumble-pa.desktop && \
echo "**** set bin name ****" && \
echo "mumble-pa" > /bin-name && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*

COPY ./entrypoint /entrypoint
COPY ./install /install
COPY ./remove /remove

FROM scratch
COPY --from=rootfs / /
4 changes: 4 additions & 0 deletions apps/mumble/entrypoint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

# Start Mumble
mumble "$@"
19 changes: 19 additions & 0 deletions apps/mumble/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

## Desktop and icons install ##
echo "Adding icon"
mkdir -p $HOME/.local/share/icons/hicolor/scalable/apps/
cp \
/usr/share/icons/hicolor/scalable/apps/mumble.svg \
$HOME/.local/share/icons/hicolor/scalable/apps/
echo "Adding start menu entry"
mkdir -p $HOME/.local/share/applications/
cp \
/usr/share/applications/mumble-pa.desktop \
$HOME/.local/share/applications/
echo "Adding desktop shortcut"
mkdir -p $HOME/Desktop
cp \
/usr/share/applications/mumble-pa.desktop \
$HOME/Desktop/
chmod +x $HOME/Desktop/mumble-pa.desktop
7 changes: 7 additions & 0 deletions apps/mumble/remove
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
echo "Removing icon"
rm -f $HOME/.local/share/icons/hicolor/scalable/apps/mumble.svg
echo "Removing start menu entry"
rm -f $HOME/.local/share/applications/mumble-pa.desktop
echo "Removing desktop shortcut"
rm -f $HOME/Desktop/mumble-pa.desktop
48 changes: 48 additions & 0 deletions apps/zotero/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
ARG REPO
FROM ghcr.io/${REPO}:debian-bookworm-av as rootfs
ARG REPO

# Install packages
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y --no-install-recommends \
lbzip2 \
libdbus-glib-1-2 \
libgtk-3-0 && \
ZOTERO_VERSION=$(curl -sL https://www.zotero.org/download/ \
|awk -F'linux-x86_64' '/linux-x86_64/ {print $2}' \
| awk -F'"' '{print $3}') && \
curl -o \
/tmp/zotero.tar.bz2 -L \
"https://download.zotero.org/client/release/${ZOTERO_VERSION}/Zotero-${ZOTERO_VERSION}_linux-x86_64.tar.bz2" && \
mkdir /opt/zotero && \
tar xf \
/tmp/zotero.tar.bz2 -C \
/opt/zotero/ --strip-components=1 && \
echo "**** customize desktop file ****" && \
sed -i \
-e "/^Exec=/c Exec=/bin/sh -c \"\$HOME\/.local\/bin\/proot-apps run ghcr.io/${REPO}:zotero %U\"" \
-e "s/Name=Zotero/Name=Zotero PA/g" \
-e 's:Icon=zotero.ico:Icon=zotero:g' \
-e '/^TryExec=/d' \
/opt/zotero/zotero.desktop && \
mv \
/opt/zotero/zotero.desktop \
/usr/share/applications/zotero-pa.desktop && \
echo "**** set bin name ****" && \
echo "zotero-pa" > /bin-name && \
echo "**** cleanup ****" && \
apt-get autoclean && \
rm -rf \
/root/.cache \
/var/lib/apt/lists/* \
/var/tmp/* \
/tmp/*

COPY ./entrypoint /entrypoint
COPY ./install /install
COPY ./remove /remove

FROM scratch
COPY --from=rootfs / /
4 changes: 4 additions & 0 deletions apps/zotero/entrypoint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

# Start Zotero
/opt/zotero/zotero "$@"
19 changes: 19 additions & 0 deletions apps/zotero/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

## Desktop and icons install ##
echo "Adding icon"
mkdir -p $HOME/.local/share/icons/hicolor/scalable/apps/
cp \
/opt/zotero/chrome/icons/default/default256.png \
$HOME/.local/share/icons/hicolor/scalable/apps/zotero.png
echo "Adding start menu entry"
mkdir -p $HOME/.local/share/applications/
cp \
/usr/share/applications/zotero-pa.desktop \
$HOME/.local/share/applications/
echo "Adding desktop shortcut"
mkdir -p $HOME/Desktop
cp \
/usr/share/applications/zotero-pa.desktop \
$HOME/Desktop/
chmod +x $HOME/Desktop/zotero-pa.desktop
7 changes: 7 additions & 0 deletions apps/zotero/remove
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
echo "Removing icon"
rm -f $HOME/.local/share/icons/hicolor/scalable/apps/zotero.png
echo "Removing start menu entry"
rm -f $HOME/.local/share/applications/zotero-pa.desktop
echo "Removing desktop shortcut"
rm -f $HOME/Desktop/zotero-pa.desktop
3 changes: 3 additions & 0 deletions ci-scripts/README.template
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ proot-apps update firefox
| chromium | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:chromium | amd64,arm64 | Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web. |
| deluge | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:deluge | amd64,arm64 | Deluge is a lightweight, Free Software, cross-platform BitTorrent client.|
| digikam | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:digikam | amd64,arm64 | Professional Photo Management with the Power of Open Source.|
| doublecmd | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:doublecmd | amd64,arm64 | Double Commander is a free cross-platform open source file manager with two panels side by side (or one above the other). It is inspired by Total Commander and features some innovative new ideas.|
| earth | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:earth | amd64 | Google Earth Pro on desktop is free for users with advanced feature needs. Import and export GIS data, and go back in time with historical imagery.|
| filezilla | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:filezilla | amd64,arm64 | FileZilla Client is a fast and reliable cross-platform FTP, FTPS and SFTP client with lots of useful features and an intuitive graphical user interface.|
| firefox-dev | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:firefox-dev | amd64,arm64 | The browser made for developers, all the latest developer tools in beta in addition to features like the Multi-line Console Editor and WebSocket Inspector. A separate profile and path so you can easily run it alongside Release or Beta Firefox. Preferences tailored for web developers: Browser and remote debugging are enabled by default, as are the dark theme and developer toolbar button.|
Expand All @@ -94,6 +95,7 @@ proot-apps update firefox
| libreoffice | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:libreoffice | amd64,arm64 | LibreOffice is a free and powerful office suite, and a successor to OpenOffice.org (commonly known as OpenOffice). Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity.|
| librewolf | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:librewolf | amd64,arm64 | This project is an independent fork of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to LibreFox.|
| moonlight | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:moonlight | amd64,arm64 | Moonlight allows you to play your PC games on almost any device, whether you're in another room or miles away from your gaming rig.|
| mumble | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:mumble | amd64,arm64 | Mumble is a free, open source, low latency, high quality voice chat application.|
| nextcloud | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:nextcloud | amd64 | The Nextcloud desktop client keeps photos and documents always up to date, enabling you to work like you always did.|
| obs | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:obs | amd64,arm64 | OBS Studio is a free and open-source, cross-platform screencasting and streaming app.|
| obsidian | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:obsidian | amd64 | Obsidian is a note-taking app that lets you create, link, and organize your notes on your device, with hundreds of plugins and themes to customize your workflow.|
Expand All @@ -117,6 +119,7 @@ proot-apps update firefox
| webcord | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:webcord | amd64,arm64 | WebCord can be summarized as a pack of security and privacy hardenings, Discord features reimplementations, Electron / Chromium / Discord bugs workarounds, stylesheets, internal pages and wrapped https://discord.com page, designed to conform with ToS as much as it is possible (or hide the changes that might violate it from Discord's eyes).|
| yandex | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:yandex | amd64 | Yandex Browser is a freeware web browser developed by the Russian technology corporation Yandex that uses the Blink web browser.|
| zoom | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:zoom | amd64 | Zoom is a proprietary videotelephony software program developed by Zoom Video Communications.|
| zotero | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:zotero | amd64 | Zotero is a free, easy-to-use tool to help you collect, organize, annotate, cite, and share research.|

# For Developers

Expand Down

0 comments on commit f173846

Please sign in to comment.