mirror of
git://f0xx.org/ac/ac-deploy
synced 2026-08-12 18:12:19 +03:00
Cluster builder: docker home config and prepare-be-builder-dirs.
Add nginx/nobody writable docker config dir, nightly channel in hub sync. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
29
sim/cluster0/lab-seeds/backend/scripts/prepare-be-builder-dirs.sh
Executable file
29
sim/cluster0/lab-seeds/backend/scripts/prepare-be-builder-dirs.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
# Builder artifact dirs + docker CLI home for PHP-FPM (often user=nobody, HOME=/).
|
||||
#
|
||||
# Usage (on app node as root):
|
||||
# sudo ./prepare-be-builder-dirs.sh
|
||||
set -euo pipefail
|
||||
|
||||
BROADCAST_ROOT="${1:-/var/www/ac/broadcast}"
|
||||
BUILDS="${BROADCAST_ROOT}/builds"
|
||||
DOCKER_HOME="${BROADCAST_ROOT}"
|
||||
DOWNLOADS="${2:-/var/www/localhost/htdocs/apps/app/androidcast_project/downloads}"
|
||||
OTA_ROOT="${3:-/var/www/localhost/htdocs/apps/app/androidcast_project/ota-artifacts}"
|
||||
|
||||
mkdir -p "${BUILDS}" "${DOCKER_HOME}/.docker" "${DOWNLOADS}" "${OTA_ROOT}/v0/ota/channel"
|
||||
chown -R nginx:nginx "${BROADCAST_ROOT}" "${DOWNLOADS}" "${OTA_ROOT}" 2>/dev/null || true
|
||||
chmod -R 775 "${BUILDS}" "${DOCKER_HOME}/.docker" "${DOWNLOADS}" "${OTA_ROOT}" 2>/dev/null || true
|
||||
|
||||
# PHP-FPM www pool is often nobody; builds run as that user.
|
||||
if getent group docker >/dev/null 2>&1; then
|
||||
usermod -aG docker nobody 2>/dev/null || true
|
||||
fi
|
||||
chown nobody:nobody "${DOCKER_HOME}/.docker" 2>/dev/null || true
|
||||
chmod 775 "${DOCKER_HOME}/.docker" 2>/dev/null || true
|
||||
|
||||
echo "Builder dirs ready:"
|
||||
echo " artifacts: ${BUILDS}"
|
||||
echo " docker home: ${DOCKER_HOME}/.docker (for nobody + nginx)"
|
||||
echo " downloads: ${DOWNLOADS}"
|
||||
echo " ota mount: ${OTA_ROOT}"
|
||||
Reference in New Issue
Block a user