canaille-globuzma/demo/run.sh
2024-12-06 15:22:40 +01:00

52 lines
1.5 KiB
Bash
Executable file

#!/bin/bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
if [ "$1" = "--backend" -a -n "$2" ]; then
BACKEND="$2"
else
BACKEND="sql"
fi
if ! type python > /dev/null 2>&1 && ! type python3 > /dev/null 2>&1; then
echo "Cannot start the canaille demo server. Please install python on your system"
echo "or run the demo with docker-compose."
exit 1
fi
if ! type uv > /dev/null 2>&1; then
echo "Cannot start the canaille demo server. Please install uv on your system"
echo "or run the demo with docker-compose."
echo "https://docs.astral.sh/uv/getting-started/installation/"
exit 1
fi
pushd "$DIR" > /dev/null 2>&1 || exit
if [ "$BACKEND" = "memory" ]; then
uv sync --inexact --group demo --extra front --extra oidc
uv run honcho --env ../.env --procfile Procfile-memory start
elif [ "$BACKEND" = "sql" ]; then
uv sync --inexact --group demo --extra front --extra oidc --extra sqlite
uv run honcho --env ../.env --procfile Procfile-sql start
elif [ "$BACKEND" = "ldap" ]; then
if ! type slapd > /dev/null 2>&1; then
echo "Cannot start the canaille demo server. Please install OpenLDAP on your system"
echo "or run the demo with docker-compose."
exit 1
fi
uv sync --inexact --group demo --extra front --extra oidc --extra ldap
uv run honcho --env ../.env --procfile Procfile-ldap start
else
echo "Usage: run.sh --backend [sql|memory|ldap]"
fi
popd || exit