Initial OpenObserve Cloudron package
This commit is contained in:
77
start.sh
Normal file
77
start.sh
Normal file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
echo "Starting OpenObserve Cloudron app..."
|
||||
|
||||
# Initialize /app/data from /tmp/data on first run
|
||||
if [ ! -d "/app/data/logs" ]; then
|
||||
echo "Initializing data directory..."
|
||||
cp -r /tmp/data/* /app/data/
|
||||
fi
|
||||
|
||||
# Set proper permissions
|
||||
chown -R cloudron:cloudron /app/data
|
||||
|
||||
# Generate default configuration if it doesn't exist
|
||||
if [ ! -f "/app/data/config.yaml" ]; then
|
||||
echo "Creating default configuration..."
|
||||
cat > /app/data/config.yaml << EOF
|
||||
# OpenObserve configuration for Cloudron
|
||||
common:
|
||||
data_dir: "/app/data"
|
||||
data_wal_dir: "/app/data/wal"
|
||||
data_stream_dir: "/app/data/stream_stats"
|
||||
local_mode: true
|
||||
local_mode_storage: "disk"
|
||||
|
||||
http:
|
||||
port: 5080
|
||||
|
||||
grpc:
|
||||
port: 5081
|
||||
|
||||
auth:
|
||||
root_user_email: "${ZO_ROOT_USER_EMAIL:-admin@${CLOUDRON_APP_DOMAIN:-localhost}}"
|
||||
ext_auth_providers: "oidc"
|
||||
|
||||
log:
|
||||
level: "info"
|
||||
EOF
|
||||
chown cloudron:cloudron /app/data/config.yaml
|
||||
fi
|
||||
|
||||
# Set environment variables for OpenObserve
|
||||
export ZO_DATA_DIR="/app/data"
|
||||
export ZO_LOCAL_MODE_STORAGE="disk"
|
||||
export ZO_WEB_URL="${CLOUDRON_APP_ORIGIN}"
|
||||
export ZO_HTTP_PORT="5080"
|
||||
export ZO_GRPC_PORT="5081"
|
||||
export ZO_ROOT_USER_EMAIL="${ZO_ROOT_USER_EMAIL:-admin@${CLOUDRON_APP_DOMAIN:-localhost}}"
|
||||
export ZO_ROOT_USER_PASSWORD="${ZO_ROOT_USER_PASSWORD:-openobserve123}"
|
||||
export ZO_LOG_LEVEL="info"
|
||||
|
||||
# OIDC Configuration if available
|
||||
if [ -n "${CLOUDRON_OIDC_IDENTIFIER:-}" ]; then
|
||||
echo "Configuring OIDC authentication..."
|
||||
export ZO_OIDC_ENABLED="true"
|
||||
export ZO_OIDC_CLIENT_ID="${CLOUDRON_OIDC_CLIENT_ID}"
|
||||
export ZO_OIDC_CLIENT_SECRET="${CLOUDRON_OIDC_CLIENT_SECRET}"
|
||||
export ZO_OIDC_ISSUER_URL="${CLOUDRON_OIDC_IDENTIFIER}"
|
||||
export ZO_OIDC_REDIRECT_URL="${CLOUDRON_APP_ORIGIN}/api/v1/auth/oidc/callback"
|
||||
fi
|
||||
|
||||
# SMTP Configuration
|
||||
if [ -n "${CLOUDRON_MAIL_SMTP_SERVER:-}" ]; then
|
||||
echo "Configuring SMTP..."
|
||||
export ZO_SMTP_HOST="${CLOUDRON_MAIL_SMTP_SERVER}"
|
||||
export ZO_SMTP_PORT="${CLOUDRON_MAIL_SMTP_PORT}"
|
||||
export ZO_SMTP_USERNAME="${CLOUDRON_MAIL_SMTP_USERNAME}"
|
||||
export ZO_SMTP_PASSWORD="${CLOUDRON_MAIL_SMTP_PASSWORD}"
|
||||
fi
|
||||
|
||||
echo "Starting nginx..."
|
||||
/usr/sbin/nginx
|
||||
|
||||
echo "Starting OpenObserve..."
|
||||
exec /app/code/openobserve
|
||||
Reference in New Issue
Block a user