1
0
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:
Anton Afanasyeu
2026-08-07 22:16:02 +02:00
parent e1a7732712
commit 9dbf4ae04f
3 changed files with 34 additions and 3 deletions

View 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}"