- Updated docker-entrypoint.sh to improve ClamAV service initialization and logging. - Added checks for ClamAV and freshclam daemon status. - Optimized freshclam configuration for container usage, including logging to stdout and setting database directory. - Introduced caching mechanism for enabled file extensions in vinejs_provider.ts to reduce database queries. - Implemented a new command to list datasets needing DataCite DOI updates, with options for verbose output, count only, and IDs only. - Updated package dependencies to include p-limit and pino-pretty. - finalized ace command 'detect:missing-cross-references'
61 lines
No EOL
1.7 KiB
Bash
61 lines
No EOL
1.7 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "Starting ClamAV services..."
|
|
|
|
|
|
# Try to download database if missing
|
|
if [ ! "$(ls -A /var/lib/clamav 2>/dev/null)" ]; then
|
|
echo "Downloading ClamAV database (this may take a while)..."
|
|
|
|
# Simple freshclam run without complex config
|
|
if sg clamav -c "freshclam --datadir=/var/lib/clamav --quiet"; then
|
|
echo "✓ Database downloaded successfully"
|
|
else
|
|
echo "⚠ Database download failed - creating minimal setup"
|
|
# Create a dummy file so clamd doesn't immediately fail
|
|
sg clamav -c "touch /var/lib/clamav/.dummy"
|
|
fi
|
|
fi
|
|
|
|
# Start freshclam daemon for automatic updates
|
|
echo "Starting freshclam daemon for automatic updates..."
|
|
sg clamav -c "freshclam -d" &
|
|
|
|
# /etc/init.d/clamav-freshclam start &
|
|
# Start clamd in background
|
|
# Start clamd in foreground (so dumb-init can supervise it)
|
|
# /etc/init.d/clamav-daemon start &
|
|
|
|
# Start clamd daemon in background using sg
|
|
echo "Starting ClamAV daemon..."
|
|
# sg clamav -c "clamd" &
|
|
# Use sg to run clamd with proper group permissions
|
|
# sg clamav -c "clamd" &
|
|
sg clamav -c "clamd --config-file=/etc/clamav/clamd.conf" &
|
|
|
|
|
|
# Give services time to start
|
|
echo "Waiting for services to initialize..."
|
|
sleep 8
|
|
|
|
# simple check
|
|
if pgrep clamd > /dev/null; then
|
|
echo "✓ ClamAV daemon is running"
|
|
else
|
|
echo "⚠ ClamAV daemon status uncertain, but continuing..."
|
|
fi
|
|
|
|
# Check if freshclam daemon is running
|
|
if pgrep freshclam > /dev/null; then
|
|
echo "✓ Freshclam daemon is running"
|
|
else
|
|
echo "⚠ Freshclam daemon status uncertain, but continuing..."
|
|
fi
|
|
|
|
# # change back to CMD of dockerfile
|
|
# exec "$@"
|
|
|
|
echo "✓ ClamAV setup complete"
|
|
echo "Starting main application..."
|
|
exec dumb-init -- "$@" |