Background
Devify needs a frictionless way for users to install and upgrade the product, and images must be reachable from more than one registry so distribution doesn't depend on a single ACR namespace.
Scope
One-command installer (install.sh)
curl ... | sudo bash style install, Docker Compose based, never clones the Git repo
- Downloads version-consistent release artifacts (
devify-<version>.tar.gz + optional .sha256)
- Supports
github (ghcr.io / GitHub Releases) and cn (ACR / OSS-CDN) channels with auto-detect
- Idempotent re-run / upgrade; preserves user config and data
- Preflight checks (root, OS/arch, memory, disk, Docker/Compose), port resolution, env generation, certs, health check and install info
- Interactive and non-interactive (
-y) modes with extensive DEVIFY_* env overrides
Dual-registry publishing (.github/workflows/build_and_deploy.yml)
- On release (v* tag), push
devify and devify-ui images to both the current REGISTRY and registry.cn-beijing.aliyuncs.com/oneprolabs
- Same tags (version / major.minor / major / latest) on both registries; oneprolabs reuses
REGISTRY_USERNAME / REGISTRY_PASSWORD for login
Acceptance
Background
Devify needs a frictionless way for users to install and upgrade the product, and images must be reachable from more than one registry so distribution doesn't depend on a single ACR namespace.
Scope
One-command installer (
install.sh)curl ... | sudo bashstyle install, Docker Compose based, never clones the Git repodevify-<version>.tar.gz+ optional.sha256)github(ghcr.io / GitHub Releases) andcn(ACR / OSS-CDN) channels with auto-detect-y) modes with extensiveDEVIFY_*env overridesDual-registry publishing (
.github/workflows/build_and_deploy.yml)devifyanddevify-uiimages to both the currentREGISTRYandregistry.cn-beijing.aliyuncs.com/oneprolabsREGISTRY_USERNAME/REGISTRY_PASSWORDfor loginAcceptance
cnchannelgithubchannel fallback