fixing mem issue

This commit is contained in:
2025-10-30 16:16:33 +01:00
parent 532aef0f78
commit ba337b12aa

View File

@@ -96,33 +96,23 @@ build_container() {
exit 1
fi
# Build with memory limits for Pi Zero
if [[ "$ARCH" == "armv6l" ]] && [ $TOTAL_MEM_MB -lt 512 ]; then
print_warning "Building with memory constraints..."
# Build without memory limits (they may not be supported on all systems)
${RUNTIME} build \
--memory-swap -1 \
--file "${DOCKERFILE}" \
--tag "${IMAGE_NAME}" \
. || {
print_error "Build failed!"
print_info "Try these solutions:"
if [ $TOTAL_MEM_MB -lt 512 ]; then
print_info "Try these solutions for low memory:"
echo " 1. Add swap space:"
echo " sudo dd if=/dev/zero of=/swapfile bs=1M count=1024"
echo " sudo mkswap /swapfile"
echo " sudo swapon /swapfile"
echo " 2. Use pre-built image:"
echo " ${RUNTIME} pull docker.io/yourusername/turmli-calendar:armv6"
exit 1
}
else
${RUNTIME} build \
--file "${DOCKERFILE}" \
--tag "${IMAGE_NAME}" \
. || {
print_error "Build failed!"
exit 1
}
fi
exit 1
}
print_success "Container image built successfully!"
}
@@ -144,27 +134,25 @@ run_container() {
print_info "Created cache file"
fi
# Run with appropriate resource limits for Pi
if [[ "$ARCH" == "armv6l" ]] && [ $TOTAL_MEM_MB -lt 512 ]; then
print_info "Running with memory constraints..."
${RUNTIME} run -d \
--name ${CONTAINER_NAME} \
--memory 256m \
--memory-swap -1 \
-p 8000:8000 \
-v $(pwd)/calendar_cache.json:/app/calendar_cache.json:Z \
-e TZ=Europe/Berlin \
--restart unless-stopped \
${IMAGE_NAME}
else
# Run container (without memory limits as they may not be supported)
print_info "Starting container..."
${RUNTIME} run -d \
--name ${CONTAINER_NAME} \
-p 8000:8000 \
-v $(pwd)/calendar_cache.json:/app/calendar_cache.json:Z \
-e TZ=Europe/Berlin \
--restart unless-stopped \
${IMAGE_NAME} || {
# If it fails with :Z flag (SELinux label), try without it
print_warning "Retrying without SELinux labels..."
${RUNTIME} run -d \
--name ${CONTAINER_NAME} \
-p 8000:8000 \
-v $(pwd)/calendar_cache.json:/app/calendar_cache.json \
-e TZ=Europe/Berlin \
--restart unless-stopped \
${IMAGE_NAME}
fi
}
print_success "Container started!"
print_info "Access the calendar at: http://$(hostname -I | awk '{print $1}'):8000"