mirror of
https://github.com/grafana/grafana.git
synced 2025-07-24 05:32:07 +08:00
77 lines
1.9 KiB
Bash
Executable File
77 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
|
|
. scripts/grafana-server/variables
|
|
|
|
PORT=${PORT:-$DEFAULT_PORT}
|
|
ARCH=${ARCH:-$DEFAULT_ARCH}
|
|
|
|
if [ "$ARCH" ]; then
|
|
ARCH+="/"
|
|
fi
|
|
|
|
./scripts/grafana-server/kill-server
|
|
|
|
mkdir $RUNDIR
|
|
|
|
echo -e "Copying grafana backend files to temp dir..."
|
|
|
|
if [[ ! -f bin/"$ARCH"grafana-server ]]; then
|
|
echo "bin/linux-amd64/grafana-server missing, trying local grafana-server binary"
|
|
fi
|
|
|
|
echo starting server
|
|
|
|
cp -r ./bin $RUNDIR
|
|
cp -r ./tools $RUNDIR
|
|
ln -s $(realpath ./public) $RUNDIR
|
|
|
|
|
|
mkdir $RUNDIR/conf
|
|
mkdir $PROV_DIR
|
|
mkdir $PROV_DIR/datasources
|
|
mkdir $PROV_DIR/dashboards
|
|
mkdir $PROV_DIR/alerting
|
|
mkdir $PROV_DIR/plugins
|
|
|
|
cp ./scripts/grafana-server/custom.ini $RUNDIR/conf/custom.ini
|
|
cp ./conf/defaults.ini $RUNDIR/conf/defaults.ini
|
|
|
|
echo -e "Copying custom plugins from e2e tests"
|
|
|
|
mkdir -p "$RUNDIR/data/plugins"
|
|
|
|
if [ -d "./e2e-playwright/test-plugins" ]; then
|
|
ln -s $(realpath ./e2e-playwright/test-plugins/*) "$RUNDIR/data/plugins"
|
|
# when running in CI
|
|
elif [ -d "../e2e-playwright/test-plugins" ]; then
|
|
cp -r "../e2e-playwright/test-plugins" "$RUNDIR/data/plugins"
|
|
fi
|
|
|
|
if [ "$INSTALL_IMAGE_RENDERER" ]; then
|
|
echo -e "Installing image renderer"
|
|
$RUNDIR/bin/"$ARCH"grafana cli --pluginsDir "$RUNDIR/data/plugins" plugins install grafana-image-renderer
|
|
fi
|
|
|
|
echo -e "Copy provisioning setup from devenv"
|
|
|
|
cp devenv/datasources.yaml $PROV_DIR/datasources
|
|
cp devenv/dashboards.yaml $PROV_DIR/dashboards
|
|
cp devenv/alert_rules.yaml $PROV_DIR/alerting
|
|
cp devenv/plugins.yaml $PROV_DIR/plugins
|
|
|
|
cp -r devenv $RUNDIR
|
|
|
|
echo -e "Starting Grafana server port $PORT"
|
|
|
|
# We get a lot of "context canceled" errors from navigating away from pages,
|
|
# so filter them out because they're not useful
|
|
{
|
|
exec "$RUNDIR/bin/${ARCH}grafana" server \
|
|
--homepath="$HOME_PATH" \
|
|
--pidfile="$RUNDIR/pid" \
|
|
cfg:server.http_port="$PORT" \
|
|
cfg:enterprise.license_path="$1" \
|
|
2>&1
|
|
} | grep -v -i "context canceled"
|