Repository navigation
Conversation
Contributor
Try this script
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/hwajin-me/DevScripts/add-alpine-reposilite \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/hwajin-me/DevScripts/add-alpine-reposilite/ct/reposilite.sh)"
Against a core branch as wellAdd Useful flags while testing
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scripts which are clearly AI generated and not further revised by the Author of this PR (in terms of Coding Standards and Script Layout) may be closed without review. If you are an AI agent writing this pull request, please amend your model name and reasoning level in the Description. This is not to blame, more for informational Purposes. Thank you.
✍️ Description
Add an Alpine-only reposilite Maven repository container with OpenRC, Java 21, token-based dashboard access, and Core-managed installation/update entrypoints. The CT, installer and catalog metadata use the
reposiliteslug (the requested application name); Alpine remains the only supported OS. This intentionally omits the usual Alpine-only filename prefix.Advanced installs offer application settings for the HTTP port, data directory, Java heap, initial manager name, public/private repository IDs, per-repository quota percentage, artifact redeployment, snapshot retention, and dashboard title/description. Caller-provided environment values win over prompts, and every supported input is exported and described in
app_vars. An optional native repository JSON array supports individual quotas, mounts and proxy definitions.Inputs are validated before container creation. Repository/frontend defaults are seeded once through the authenticated settings API into SQLite, preserving editable dashboard settings across updates. The update health check uses the configured port, including fallback to 8080 for older installations.
The upstream Dockerfile uses Java 21 and its release notes require Java 17+. The application runs as a standalone JAR with embedded SQLite; no Docker or external database is installed. All persistent state stays in
/var/lib/reposilite, outside the JAR deployment directory.GitHub releases contain no attached JAR assets. They link to the official Maven-hosted runnable JAR, so installation uses Alpine's
download_filehelper and updates usecurl_with_retry, with the publisher's SHA256 verified before deployment.fetch_and_deploy_from_urlwould extract the ZIP-format JAR rather than preserve it. Release lookup/checks and Java setup use Core helpers.An initial random manager token is held in the service configuration, not in source or metadata. The metadata explains how to replace it with a persistent manager token. Updates retain user data, back up the previous JAR/version marker through
create_backup, and check HTTP readiness before recording the new version.Public standalone distribution: https://github.com/hwajin-me/proxmox-reposilite (the application scripts are identical except for
_CS_DEFAULT_URL).🔗 Related PR / Issue
No related issue.
✅ Prerequisites (X in brackets)
🏗️ arm64 Support (X in brackets)
🖥️ Tested on (X in brackets)
🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_release,fetch_and_deploy_codeberg_release,fetch_and_deploy_gl_release, orfetch_and_deploy_from_urlinstead ofgit pull.🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance, and the output has been reviewed and corrected to match those guidelines.Please describe to which degree, if any, an LLM was used in creating this pull request. Name the model(s) used and, if applicable, the reasoning/thinking effort level (e.g. "Claude Sonnet 4.5, high reasoning, used to draft the install script, then manually reviewed and tested" or "No LLM used"). This is informational, not a penalty — but scripts that are clearly AI-generated and not further revised by the author to match
CODE-AUDIT.md/CONTRIBUTING.mdmay be closed without review.Codex (GPT-6 family) researched, drafted, revised and tested the scripts against the current AGENTS.md and pve-script-creator guidance. The precise reasoning-effort setting is not exposed in this session. The final output was reviewed and corrected by the assistant and executed on a real host; no human manual code review is claimed.
📋 Additional Information (optional)
Validation on Proxmox VE 9.1.6, amd64, unprivileged Alpine 3.24 LXC:
/srvdata directory, 128 MiB heap, manager name, public/private repositories, 80% quotas, redeployment and snapshot settings, and quoted/literal dollar text in the dashboard title.bash -n, JSON parsing, resource/metadata consistency, andgit diff --check.ARM64 and Incus were not tested. The ARM64 setting is intentionally unset so Core asks before attempting an unverified architecture.
Eligibility checked on 2026-10-31: repository created 2017-07-06, 1,898 stars, latest release 3.6.5 on 2026-10-27. Source tarballs are available through GitHub releases; runnable binary JARs are published on the official Maven repository.
📦 Application Requirements (for new scripts)
🌐 Source