diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index be8ad9b..4fccfe3 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -43,10 +43,10 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - cache: 'yarn' - cache-dependency-path: frontend/yarn.lock - name: Install Frontend Dependencies & Build + env: + NODE_OPTIONS: "--max-old-space-size=768" run: | cd frontend yarn install --frozen-lockfile @@ -80,5 +80,3 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} platforms: linux/amd64 - cache-from: type=gha - cache-to: type=gha,mode=max diff --git a/install.sh b/install.sh index d9de14e..79e2af3 100644 --- a/install.sh +++ b/install.sh @@ -778,6 +778,19 @@ do_forgejo_runner_install() { mkdir -p "$FORGEJO_RUNNER_DIR" + # Ensure swap exists for low-RAM VPS (Docker image builds need ~2GB memory) + if [ ! -f /swapfile ]; then + log_step "Creating 2GB swapfile for build memory..." + fallocate -l 2G /swapfile + chmod 600 /swapfile + mkswap /swapfile > /dev/null + swapon /swapfile + echo '/swapfile none swap sw 0 0' >> /etc/fstab + log_ok "Swapfile created and enabled (persistent across reboots)." + else + log_ok "Swapfile already exists, skipping." + fi + # gitea/act_runner auto-registers on first start via env vars, then starts daemon log_step "Starting Forgejo Runner (auto-register on first boot)..." docker run -d \