#!/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"