53 lines
1.7 KiB
Bash
Executable file
53 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
# if root or if sudo/unavailable, define an empty variable
|
|
if [ "$(id -u)" -eq 0 ]
|
|
then maysudo=''
|
|
else maysudo="$(command -v sudo || command -v doas || true)"
|
|
fi
|
|
|
|
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
echo "Linux dependencies..."
|
|
script/linux
|
|
else
|
|
echo "installing foreman..."
|
|
which foreman > /dev/null || brew install foreman
|
|
fi
|
|
|
|
# Install minio if needed
|
|
if ! which minio > /dev/null; then
|
|
if command -v brew > /dev/null; then
|
|
echo "minio not found. Installing via brew"
|
|
brew install minio/stable/minio
|
|
elif command -v apt > /dev/null; then
|
|
echo "minio not found. Installing via apt from https://dl.min.io/server/minio/release/linux-amd64/minio.deb"
|
|
wget -q https://dl.min.io/server/minio/release/linux-amd64/minio.deb -O /tmp/minio.deb
|
|
$maysudo apt install /tmp/minio.deb
|
|
rm -f /tmp/minio.deb
|
|
elif command -v dnf > /dev/null; then
|
|
echo "minio not found. Installing via dnf from https://dl.min.io/server/minio/release/linux-amd64/minio.rpm"
|
|
wget -q https://dl.min.io/server/minio/release/linux-amd64/minio.rpm -O /tmp/minio.rpm
|
|
$maysudo dnf install /tmp/minio.rpm
|
|
rm -f /tmp/minio.rpm
|
|
else
|
|
echo "No supported package manager found (brew, apt, or dnf)"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Install sqlx-cli if needed
|
|
if ! [[ "$(command -v sqlx)" && "$(sqlx --version)" == "sqlx-cli 0.7.2" ]]; then
|
|
echo "sqlx-cli not found or not the required version, installing version 0.7.2..."
|
|
cargo install sqlx-cli --version 0.7.2
|
|
fi
|
|
|
|
cd crates/collab
|
|
|
|
# Export contents of .env.toml
|
|
eval "$(cargo run --bin dotenv)"
|
|
|
|
echo "creating databases..."
|
|
sqlx database create --database-url "$DATABASE_URL"
|
|
sqlx database create --database-url "$LLM_DATABASE_URL"
|