first commit
This commit is contained in:
45
entrypoint.sh
Normal file
45
entrypoint.sh
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Fix permissions on /data directory (runtime volume mount may have wrong ownership)
|
||||
# This ensures the attestation user can write SQLite databases
|
||||
if [ -d "/data" ]; then
|
||||
chown -R attestation:attestation /data
|
||||
chmod 755 /data
|
||||
fi
|
||||
|
||||
# Copy static files to shared volume (if mounted)
|
||||
if [ -d "/srv/static" ]; then
|
||||
echo "Copying static files to shared volume..."
|
||||
cp -r /app/static-orig/* /srv/static/
|
||||
chown -R attestation:attestation /srv/static
|
||||
echo "Static files copied."
|
||||
fi
|
||||
|
||||
# Set working directory to /data where SQLite databases will be stored
|
||||
# The application creates attestation.db and samples.db in the working directory
|
||||
cd /data
|
||||
|
||||
JAR_FILE="/app/libs/attestation-server.jar"
|
||||
|
||||
if [ ! -f "$JAR_FILE" ]; then
|
||||
echo "ERROR: Main JAR not found at $JAR_FILE!"
|
||||
echo "Available JARs:"
|
||||
ls -la /app/libs/
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Starting AttestationServer..."
|
||||
echo "JAR: $JAR_FILE"
|
||||
echo "Data directory: $(pwd)"
|
||||
echo "Running as user: attestation (UID 1000)"
|
||||
|
||||
# Run with the sqlite4java library path, dropping privileges to attestation user
|
||||
# Use setpriv to drop privileges while preserving environment
|
||||
exec setpriv --reuid=attestation --regid=attestation --clear-groups \
|
||||
java \
|
||||
-Xmx512m \
|
||||
-XX:+UseG1GC \
|
||||
-XX:+ExitOnOutOfMemoryError \
|
||||
-Djava.library.path=/app/libs \
|
||||
-jar "$JAR_FILE"
|
||||
Reference in New Issue
Block a user