feat: auto-create swap file on first boot
- Add swap creation to first-boot-containers.sh - Size: 50% of RAM (min 2GB, max 8GB) - Creates /swapfile, adds to /etc/fstab for persistence - Runs before container creation to prevent OOM during startup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -37,6 +37,28 @@ wait_for_container() {
|
||||
|
||||
log "First-boot container creation starting (host=$TARGET_IP)"
|
||||
|
||||
# Create swap file if not present (50% of RAM, min 2GB, max 8GB)
|
||||
if ! swapon --show | grep -q /swapfile; then
|
||||
TOTAL_MEM_KB=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
|
||||
SWAP_MB=$((TOTAL_MEM_KB / 2 / 1024))
|
||||
[ "$SWAP_MB" -lt 2048 ] && SWAP_MB=2048
|
||||
[ "$SWAP_MB" -gt 8192 ] && SWAP_MB=8192
|
||||
log "Creating ${SWAP_MB}MB swap file..."
|
||||
if dd if=/dev/zero of=/swapfile bs=1M count="$SWAP_MB" status=progress 2>>"$LOG"; then
|
||||
chmod 600 /swapfile
|
||||
mkswap /swapfile >>"$LOG" 2>&1
|
||||
swapon /swapfile
|
||||
if ! grep -q '/swapfile' /etc/fstab; then
|
||||
echo '/swapfile none swap sw 0 0' >> /etc/fstab
|
||||
fi
|
||||
log "Swap created: ${SWAP_MB}MB"
|
||||
else
|
||||
log "WARNING: Failed to create swap file"
|
||||
fi
|
||||
else
|
||||
log "Swap already configured"
|
||||
fi
|
||||
|
||||
# Ensure network exists (matches deploy)
|
||||
$DOCKER network create archy-net 2>/dev/null || true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user