docs: add fork README, deployment guide and Docker CI workflow#2
Merged
Merged
Conversation
- .github/workflows/docker.yml: build and publish a multi-arch container image (linux/amd64 + linux/arm64) to GHCR on every push to main, on v* tags and on PRs (PR builds are verified but not pushed). Uses the workflow-scoped GITHUB_TOKEN, no extra secrets. - README.md: rewrite to clearly mark this as the enclave-projects fork of opencloud-eu/opencloud, document the added video thumbnails feature, and point at the new deployment guide. - DEPLOYMENT.md: end-to-end self-hosting guide covering a quick local demo plus a production Docker Compose recipe with Traefik TLS, persistent volumes, fork-specific tunables, upgrade / backup / observability procedures and a troubleshooting section. Co-Authored-By: Pranjal Sharma <[email protected]>
Author
π€ Devin AI EngineerI'll be helping with this pull request! Here's what you should know: β I will automatically:
Note: I can only respond to comments from users who have write access to this repository. βοΈ Control Options:
|
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.
Summary
Three things to make the
enclave-projectsfork easier to discover, deploy and consume:1.
.github/workflows/docker.ymlβ automatic Docker image on every commitAdds a GitHub Actions workflow that builds and publishes a container image to GHCR (
ghcr.io/enclave-projects/opencloud) on:mainβ tagslatest+main-<short-sha>,v*git tag β tagsvX.Y.Z,X.Y,X,latest,workflow_dispatchβ opt-in push for ad-hoc tags.Implementation notes:
linux/amd64+linux/arm64, via QEMU + Buildx.GITHUB_TOKEN(packages: write); no additional secrets required.type=gha,mode=max) for incremental layers.concurrencycancels in-progress PR builds when a new commit is pushed to the same PR.permissions:is scoped tocontents: read+packages: writeonly.The repo's existing CI runs on Woodpecker (
.woodpecker.star); this workflow is purely additive and does not change the Woodpecker pipeline.Important
After merging, this workflow will start publishing public images under
ghcr.io/enclave-projects/opencloud. The first push will create the package automatically. To make those images public (sodocker pullworks without auth), open the package settings at https://github.com/enclave-projects/opencloud/pkgs/container/opencloud after the first push and set visibility to "Public". This is a one-time, GitHub-UI-only step that cannot be done from the workflow.2.
README.mdβ fork banner, added features, deploy pointerReplaces the upstream-mirrored README with a fork-aware version that:
enclave-projectsfork ofopencloud-eu/opencloud.DEPLOYMENT.mdfor self-hosters.3.
DEPLOYMENT.mdβ step-by-step deploy guideA new top-level deployment guide aimed at developers who want to run this fork on their own server. Sections:
docker run)..envfile template.docker compose pull && up -d, pinned tags).THUMBNAILS_VIDEO_*).Both YAML payloads (the workflow and the embedded Compose snippet) were locally parsed with
pyyamlto confirm they're well-formed.Review & Testing Checklist for Human
This PR is docs + CI only (no Go source touched), so the risk is mainly around the workflow itself. Yellow risk:
packages: writeonGITHUB_TOKENis acceptable for this repo and that you'd like images to land atghcr.io/enclave-projects/opencloud. If you'd rather use Docker Hub or a different namespace, changeIMAGE_NAME/REGISTRYin.github/workflows/docker.ymland (for Docker Hub) addDOCKERHUB_USERNAME+DOCKERHUB_TOKENsecrets β happy to ship that as a follow-up if you prefer.mainbuild complete (this PR itself only builds without pushing β that's the verification step). The first push will create theopencloudGHCR package; set its visibility to Public in the GitHub UI so unauthenticateddocker pullworks.cloud.example.comwith a real DNS name you control β and confirm the recipe still boots end-to-end. The container image used in the recipe is the same one this workflow produces, so this is mainly a "do my words match reality" check.Notes
.github/settings.yml(which extendsgh-labels) or.github/workflows/labels.ymlβ those are upstream-mirrored configuration and unrelated to Docker image publishing.concurrencywithcancel-in-progress: trueonly for PR events. Pushes tomainare never cancelled, so a fast follow-up commit will queue a new build rather than killing the in-flight one.DEPLOYMENT.mdintentionally usesrestart: unless-stoppedand ahealthcheck:so thatdocker composeintegrates with systemd-monitored hosts; it alsochmod 600's the.envfile because the IdP admin password can be set there.compose.ymlfile indeployments/(next to the existingbare-metal-simple/directory) so as not to overlap with upstream's deployment recipes. If you'd like one in-tree, I can adddeployments/examples/enclave-projects-compose/in a follow-up.Link to Devin session: https://app.devin.ai/sessions/620d4cc7fd8b46a386213618cd65b662