1#!/usr/bin/env bash
2
3set -e
4
5# if root or if sudo/unavailable, define an empty variable
6if [ "$(id -u)" -eq 0 ]
7then maysudo=''
8else maysudo="$(command -v sudo || command -v doas || true)"
9fi
10
11if [[ "$OSTYPE" == "linux-gnu"* ]]; then
12 echo "Linux dependencies..."
13 script/linux
14else
15 echo "installing foreman..."
16 which foreman > /dev/null || brew install foreman
17fi
18
19# Install minio if needed
20if ! which minio > /dev/null; then
21 if command -v brew > /dev/null; then
22 echo "minio not found. Installing via brew"
23 brew install minio/stable/minio
24 elif command -v apt > /dev/null; then
25 echo "minio not found. Installing via apt from https://dl.min.io/server/minio/release/linux-amd64/minio.deb"
26 wget -q https://dl.min.io/server/minio/release/linux-amd64/minio.deb -O /tmp/minio.deb
27 $maysudo apt install /tmp/minio.deb
28 rm -f /tmp/minio.deb
29 elif command -v dnf > /dev/null; then
30 echo "minio not found. Installing via dnf from https://dl.min.io/server/minio/release/linux-amd64/minio.rpm"
31 wget -q https://dl.min.io/server/minio/release/linux-amd64/minio.rpm -O /tmp/minio.rpm
32 $maysudo dnf install /tmp/minio.rpm
33 rm -f /tmp/minio.rpm
34 else
35 echo "No supported package manager found (brew, apt, or dnf)"
36 exit 1
37 fi
38fi
39
40# Install sqlx-cli if needed
41if ! [[ "$(command -v sqlx)" && "$(sqlx --version)" == "sqlx-cli 0.7.2" ]]; then
42 echo "sqlx-cli not found or not the required version, installing version 0.7.2..."
43 cargo install sqlx-cli --version 0.7.2
44fi
45
46cd crates/collab
47
48# Export contents of .env.toml
49eval "$(cargo run --bin dotenv)"
50
51echo "creating databases..."
52sqlx database create --database-url "$DATABASE_URL"
53sqlx database create --database-url "$LLM_DATABASE_URL"