Skip to content

New Script: Bindery LXC - #2513

Closed
vavallee wants to merge 1 commit into
community-scripts:mainfrom
vavallee:feat/bindery
Closed

vavallee wants to merge 1 commit into
community-scripts:mainfrom
vavallee:feat/bindery

Conversation

@vavallee

@vavallee vavallee commented Nov 9, 2026 •

Copy link
Copy Markdown

✍️ Description

Adds Bindery, a self-hosted book and audiobook manager (MIT, Go), as a Debian 13 LXC. The install script deploys the prebuilt linux_amd64 or linux_arm64 release archive with fetch_and_deploy_gh_release (steps taken from the upstream .goreleaser.yaml and docs/DEPLOYMENT.md, since the Dockerfile only copies that archive), keeps its settings in /opt/bindery_data/.env outside the deploy directory, and runs it as a systemd service on port 8787. Tested on a nested Proxmox VE 9.2.2: a default install gives a running service with /setup answering 200, and update from a recorded 1.45.0 to 1.49.1 restarts it and keeps the database.

🔗 Related PR / Issue

Link: none

✅ Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No breaking changes – Existing functionality remains intact.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🏗️ arm64 Support (X in brackets)

  • arm64 supported - Tested and supported on arm64.
  • arm64 not tested - Assumed to work on arm64, but testing has not been done.
  • arm64 not supported - Confirmed upstream dependencies or binaries do not support arm64.

Upstream publishes a linux_arm64 archive built with CGO_ENABLED=0, so var_arm64 is left unset and the user is asked.


🖥️ Tested on (X in brackets)

  • Proxmox VE – Created on a Proxmox VE host and the app works.
  • Incus – Created on an Incus host and the app works.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • ✨ New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔍 Code & Security Review (X in brackets)

  • Follows CODE-AUDIT.md & CONTRIBUTING.md guidelines
  • Uses correct script structure (AppName.sh, AppName-install.sh, AppName.json)
  • No hardcoded credentials
  • No Docker / Docker Compose – The application is installed bare-metal; Docker is not used.
  • No git pull – Updates use fetch_and_deploy_gh_release, fetch_and_deploy_codeberg_release, fetch_and_deploy_gl_release, or fetch_and_deploy_from_url instead of git pull.

📋 Additional Information (optional)

Not covered by the test: the update command inside the container (it fetches ct/bindery.sh from DevScripts main, so I ran the update function from a pushed copy of the script). I have not run shellcheck.


📦 Application Requirements (for new scripts)

⚠️ Do not remove this section.
It is used by automated PR validation checks.
If this PR is not a new script submission, leave the checkboxes unchecked.

Required for 🆕 New script submissions.
Pull requests that do not meet these requirements may be closed without review.

  • The application is at least 6 months old
  • The application is actively maintained
  • The application has 1,000+ GitHub stars
  • Official release tarballs are published
  • I understand that not all scripts will be accepted due to various reasons and criteria by the community-scripts ORG

The star box is unchecked on purpose: vavallee/bindery has 560 stars today (created 2026-04-11, releases several times a month). I am submitting anyway so a maintainer can decide whether to keep it open or wait.

🌐 Source

https://github.com/vavallee/bindery (release archives: https://github.com/vavallee/bindery/releases)


🤖 AI Assistance (X in brackets)

  • No AI used – Scripts were written without AI assistance.
  • AI was used – I confirm the scripts were built using AGENTS.md and .github/agents/pve-script-creator.agent.md as guidance, and the output has been reviewed and corrected to match those guidelines.

Claude Sonnet 5.5, low reasoning effort, drafted all three files from those two guides and the upstream release config, then ran them on a nested Proxmox VE 9.2.2 (install and update). The maintainer of Bindery is submitting it. The eligibility check in the agent guide (stars) came back short, see above.

Book and audiobook manager in the *arr style. Installs the prebuilt release
archive from vavallee/bindery and runs it as a systemd service on port 8787.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: vavallee <vavallee@protonmail.com>
@vavallee
vavallee requested a review from a team as a code owner November 9, 2026 06:52
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ Not ready for review yet

@vavallee, this pull request is missing the following:

  • The application has 1,000+ GitHub stars

Edit the PR description to fix it — no new PR needed. This check runs again on every edit and clears itself once everything is in place.

Until then the PR is marked stale and will be closed in 7 days.


@community-scripts/contributor please take a look: close it, comment, or set keep-open to keep it.

@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Try this script

ct/bindery.sh, run in the Proxmox VE shell or on an Incus host:

COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/vavallee/DevScripts/feat/bindery \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/vavallee/DevScripts/feat/bindery/ct/bindery.sh)"

COMMUNITY_SCRIPTS_URL is not optional for ct/. Fetching the ct/ script from a
branch does not tell the engine where that branch is — with bash -c "$(curl …)"
there is no file on disk for the scripts root to be derived from, so it would fall
back to upstream main and look for the install script there.

Against a core branch as well

Add COMMUNITY_SCRIPTS_CORE_URL=https://raw.githubusercontent.com/OWNER/core/BRANCH
to test an engine change at the same time. The two resolve independently.

Useful flags while testing

dev_mode=net logs every fetch with status and duration, so you can confirm the
branch is really being used. dev_mode=keep stops a failed build from deleting
the container along with the evidence.

@github-actions github-actions Bot added requirements missing PR description misses template items; closes after 7 days unless fixed or keep-open stale new script labels Nov 9, 2026
@michelroegl-brunner

Copy link
Copy Markdown
Member

Dose not have 1000 Starts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new script requirements missing PR description misses template items; closes after 7 days unless fixed or keep-open stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants