diff --git a/.github/workflows/build-on-commit.yml b/.github/workflows/build-on-commit.yml index 1b4d1190..62d0e506 100644 --- a/.github/workflows/build-on-commit.yml +++ b/.github/workflows/build-on-commit.yml @@ -71,6 +71,8 @@ jobs: arch: linux/amd64,linux/arm64 - name: audacity arch: linux/amd64 + - name: beekeeperstudio + arch: linux/amd64,linux/arm64 - name: bitwarden arch: linux/amd64 - name: blender diff --git a/.github/workflows/package-check.yml b/.github/workflows/package-check.yml index c73a5d77..0821af19 100644 --- a/.github/workflows/package-check.yml +++ b/.github/workflows/package-check.yml @@ -28,6 +28,7 @@ jobs: - name: anydesk - name: ardour - name: audacity + - name: beekeeperstudio - name: bitwarden - name: blender - name: brave diff --git a/apps/beekeeperstudio/Dockerfile b/apps/beekeeperstudio/Dockerfile new file mode 100644 index 00000000..1aa3b773 --- /dev/null +++ b/apps/beekeeperstudio/Dockerfile @@ -0,0 +1,43 @@ +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 \ + openssh-client && \ + ARCH=$(uname -m| sed 's/x86_64/amd64/g'| sed 's/aarch64/arm64/') && \ + BEE_VERSION=$(curl -sX GET "https://api.github.com/repos/beekeeper-studio/beekeeper-studio/releases/latest" \ + | awk '/tag_name/{print $4;exit}' FS='[""]') && \ + curl -o \ + /tmp/bee.deb -L \ + "https://github.com/beekeeper-studio/beekeeper-studio/releases/download/${BEE_VERSION}/beekeeper-studio_$(echo $BEE_VERSION| sed 's/^v//g')_${ARCH}.deb" && \ + apt install -y --no-install-recommends \ + /tmp/bee.deb && \ + echo "**** customize desktop file ****" && \ + sed -i \ + -e "/^Exec=/c Exec=/bin/sh -c \"\$HOME\/.local\/bin\/proot-apps run ghcr.io/${REPO}:beekeeperstudio %U\"" \ + -e "s/Name=Beekeeper Studio/Name=Beekeeper Studio PA/g" \ + -e '/^TryExec=/d' \ + /usr/share/applications/beekeeper-studio.desktop && \ + mv \ + /usr/share/applications/beekeeper-studio.desktop \ + /usr/share/applications/beekeeperstudio-pa.desktop && \ + echo "**** set bin name ****" && \ + echo "beekeeperstudio-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 / / diff --git a/apps/beekeeperstudio/entrypoint b/apps/beekeeperstudio/entrypoint new file mode 100755 index 00000000..2d9168c4 --- /dev/null +++ b/apps/beekeeperstudio/entrypoint @@ -0,0 +1,4 @@ +#!/bin/bash + +# Start Beekeeper Studio +beekeeper-studio --no-sandbox "$@" diff --git a/apps/beekeeperstudio/install b/apps/beekeeperstudio/install new file mode 100755 index 00000000..371d5689 --- /dev/null +++ b/apps/beekeeperstudio/install @@ -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/256x256/apps/beekeeper-studio.png \ + $HOME/.local/share/icons/hicolor/scalable/apps/ +echo "Adding start menu entry" +mkdir -p $HOME/.local/share/applications/ +cp \ + /usr/share/applications/beekeeperstudio-pa.desktop \ + $HOME/.local/share/applications/ +echo "Adding desktop shortcut" +mkdir -p $HOME/Desktop +cp \ + /usr/share/applications/beekeeperstudio-pa.desktop \ + $HOME/Desktop/ +chmod +x $HOME/Desktop/beekeeperstudio-pa.desktop diff --git a/apps/beekeeperstudio/remove b/apps/beekeeperstudio/remove new file mode 100755 index 00000000..7cabfb49 --- /dev/null +++ b/apps/beekeeperstudio/remove @@ -0,0 +1,7 @@ +#!/bin/bash +echo "Removing icon" +rm -f $HOME/.local/share/icons/hicolor/scalable/apps/beekeeper-studio.png +echo "Removing start menu entry" +rm -f $HOME/.local/share/applications/beekeeperstudio-pa.desktop +echo "Removing desktop shortcut" +rm -f $HOME/Desktop/beekeeperstudio-pa.desktop diff --git a/ci-scripts/README.template b/ci-scripts/README.template index 3a6c64e7..47270d75 100644 --- a/ci-scripts/README.template +++ b/ci-scripts/README.template @@ -69,7 +69,8 @@ proot-apps update firefox | anydesk | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:anydesk | amd64 | AnyDesk ensures secure and reliable remote desktop connections for IT professionals and on-the-go individuals alike.| | ardour | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:ardour | amd64,arm64 | Ardour is an open source, collaborative effort of a worldwide team including musicians, programmers, and professional recording engineers.| | audacity | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:audacity | amd64 | Audacity is an easy-to-use, multi-track audio editor and recorder. Developed by a group of volunteers as open source.| -| bitwarden | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:bitwarden | amd64 | Bitwarden is a secure and free password manager for all of your devices| +| beekeeperstudio | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:beekeeperstudio | amd64,arm64 | Use Beekeeper Studio to query and manage your relational databases, like MySQL, Postgres, SQLite, and SQL Server.| +| bitwarden | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:bitwarden | amd64 | Bitwarden is a secure and free password manager for all of your devices.| | blender | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:blender | amd64,arm64 | Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games.| | brave | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:brave | amd64,arm64 | Brave is a free and open-source web browser developed by Brave Software, Inc. based on the Chromium web browser. Brave is a privacy-focused browser, which automatically blocks most advertisements and website trackers in its default settings.| | calibre | ghcr.io/{{ env['GITHUB_REPOSITORY'] }}:calibre | amd64,arm64 | Calibre is a powerful and easy to use e-book manager. Users say it's outstanding and a must-have. It'll allow you to do nearly everything and it takes things a step beyond normal e-book software. It's also completely free and open source and great for both casual users and computer experts.|