fix(sonarqube)
fix(gvm)
This commit is contained in:
@@ -10,6 +10,10 @@ LABEL io.hass.version="0.0.1-beta"
|
|||||||
# Set timezone
|
# Set timezone
|
||||||
ENV TZ=Europe/Rome
|
ENV TZ=Europe/Rome
|
||||||
|
|
||||||
|
# Install jq for parsing config
|
||||||
|
RUN apt-get update && apt-get install -y jq \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Copy the entrypoint script
|
# Copy the entrypoint script
|
||||||
COPY run.sh /run.sh
|
COPY run.sh /run.sh
|
||||||
RUN chmod +x /run.sh
|
RUN chmod +x /run.sh
|
||||||
@@ -17,5 +21,8 @@ RUN chmod +x /run.sh
|
|||||||
# Expose default GVM Web UI port
|
# Expose default GVM Web UI port
|
||||||
EXPOSE 9392
|
EXPOSE 9392
|
||||||
|
|
||||||
|
# Optionally persist data
|
||||||
|
VOLUME [ "/data" ]
|
||||||
|
|
||||||
# Set entrypoint
|
# Set entrypoint
|
||||||
CMD [ "/run.sh" ]
|
CMD [ "/run.sh" ]
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ gvm/
|
|||||||
|
|
||||||
## 🛡 Security
|
## 🛡 Security
|
||||||
|
|
||||||
> ⚠️ Always use strong passwords and ensure secure network settings, especially for database connections.
|
> ⚠️ Always use strong passwords and ensure secure network settings.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
33
gvm/run.sh
33
gvm/run.sh
@@ -7,15 +7,34 @@ log() {
|
|||||||
echo "[GVM ADD-ON] $(date +"%Y-%m-%d %H:%M:%S") - $*"
|
echo "[GVM ADD-ON] $(date +"%Y-%m-%d %H:%M:%S") - $*"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Ensure required env vars are set
|
# Load user config passed by Home Assistant (as JSON env vars)
|
||||||
: "${USERNAME:?Environment variable USERNAME not set}"
|
CONFIG_PATH="/data/options.json"
|
||||||
: "${PASSWORD:?Environment variable PASSWORD not set}"
|
|
||||||
|
|
||||||
log "Starting GVM (OpenVAS) add-on..."
|
if [ ! -f "$CONFIG_PATH" ]; then
|
||||||
|
log "ERROR: Config file not found at $CONFIG_PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract variables using jq
|
||||||
|
USERNAME=$(jq -r '.username' "$CONFIG_PATH")
|
||||||
|
PASSWORD=$(jq -r '.password' "$CONFIG_PATH")
|
||||||
|
|
||||||
|
# Validate
|
||||||
|
if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ]; then
|
||||||
|
log "ERROR: username and/or password not set in options.json"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set them for the environment
|
||||||
|
export USERNAME
|
||||||
|
export PASSWORD
|
||||||
|
export DB_PASSWORD="$PASSWORD"
|
||||||
|
|
||||||
|
log "INFO: Starting GVM (OpenVAS) add-on as user $USERNAME..."
|
||||||
|
|
||||||
# Setup timezone
|
# Setup timezone
|
||||||
if [ -n "$TZ" ]; then
|
if [ -n "$TZ" ]; then
|
||||||
log "Setting timezone to $TZ"
|
log "INFO: Setting timezone to $TZ"
|
||||||
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
|
||||||
echo "$TZ" > /etc/timezone
|
echo "$TZ" > /etc/timezone
|
||||||
fi
|
fi
|
||||||
@@ -23,9 +42,9 @@ fi
|
|||||||
# Initialize data directory
|
# Initialize data directory
|
||||||
DATA_DIR="/data"
|
DATA_DIR="/data"
|
||||||
if [ ! -d "$DATA_DIR" ]; then
|
if [ ! -d "$DATA_DIR" ]; then
|
||||||
log "Creating data directory at $DATA_DIR"
|
log "INFO: Creating data directory at $DATA_DIR"
|
||||||
mkdir -p "$DATA_DIR"
|
mkdir -p "$DATA_DIR"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "Launching GVM service..."
|
log "INFO: Launching GVM service..."
|
||||||
exec /usr/local/bin/dumb-init gvm-start | tee -a "$DATA_DIR/gvm.log"
|
exec /usr/local/bin/dumb-init gvm-start | tee -a "$DATA_DIR/gvm.log"
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
"SONAR_JDBC_USERNAME": "jdbc_username",
|
"SONAR_JDBC_USERNAME": "jdbc_username",
|
||||||
"SONAR_JDBC_PASSWORD": "jdbc_password"
|
"SONAR_JDBC_PASSWORD": "jdbc_password"
|
||||||
},
|
},
|
||||||
"image": "sonarqube",
|
|
||||||
"webui": "http://[HOST]:[PORT:9000]",
|
"webui": "http://[HOST]:[PORT:9000]",
|
||||||
"build_from": {
|
"build_from": {
|
||||||
"amd64": "alpine:3.18",
|
"amd64": "alpine:3.18",
|
||||||
|
|||||||
Reference in New Issue
Block a user