Make it (a tiny bit) easier to run your own collab (#9557)
* Allow creating channels when seeding * Allow configuring a custom `SEED_PATH` * Seed the database when creating/migrating it so you don't need a separate step for this. Release Notes: - N/A
This commit is contained in:
parent
1062c5bd26
commit
ac4c6c60f1
17 changed files with 246 additions and 177 deletions
|
@ -1,18 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo "installing foreman..."
|
||||
which foreman > /dev/null || brew install foreman
|
||||
|
||||
echo "creating database..."
|
||||
script/sqlx database create
|
||||
|
||||
echo "migrating database..."
|
||||
cargo run -p collab -- migrate
|
||||
|
||||
echo "seeding database..."
|
||||
script/seed-db
|
||||
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
echo "Linux dependencies..."
|
||||
script/linux
|
||||
else
|
||||
echo "installing foreman..."
|
||||
which foreman > /dev/null || brew install foreman
|
||||
fi
|
||||
|
||||
echo "creating database..."
|
||||
script/sqlx database create
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
|
||||
set -e
|
||||
|
||||
# install the wasm toolchain
|
||||
rustup target add wasm32-wasi
|
||||
|
||||
# if sudo is not installed, define an empty alias
|
||||
maysudo=$(command -v sudo || command -v doas || true)
|
||||
|
||||
|
@ -27,6 +30,8 @@ fi
|
|||
dnf=$(command -v dnf || true)
|
||||
if [[ -n $dnf ]]; then
|
||||
deps=(
|
||||
gcc
|
||||
g++
|
||||
alsa-lib-devel
|
||||
fontconfig-devel
|
||||
wayland-devel
|
||||
|
@ -35,6 +40,10 @@ if [[ -n $dnf ]]; then
|
|||
libzstd-devel
|
||||
vulkan-loader
|
||||
)
|
||||
# libxkbcommon-x11-devel is in the crb repo
|
||||
$maysudo "$dnf" config-manager --set-enabled crb
|
||||
$maysudo "$dnf" install epel-release epel-next-release
|
||||
|
||||
$maysudo "$dnf" install -y "${deps[@]}"
|
||||
exit 0
|
||||
fi
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
cargo run --quiet --package=collab --bin seed -- $@
|
||||
cargo run -p collab migrate
|
||||
|
|
|
@ -19,16 +19,9 @@ OPTIONS
|
|||
const { spawn, execFileSync } = require("child_process");
|
||||
const assert = require("assert");
|
||||
|
||||
const defaultUsers = require("../crates/collab/.admins.default.json");
|
||||
let users = defaultUsers;
|
||||
try {
|
||||
const customUsers = require("../crates/collab/.admins.json");
|
||||
assert(customUsers.length > 0);
|
||||
assert(customUsers.every((user) => typeof user === "string"));
|
||||
users = customUsers.concat(
|
||||
defaultUsers.filter((user) => !customUsers.includes(user)),
|
||||
);
|
||||
} catch (_) {}
|
||||
const users = require(
|
||||
process.env.SEED_PATH || "../crates/collab/seed.default.json",
|
||||
).admins;
|
||||
|
||||
const RESOLUTION_REGEX = /(\d+) x (\d+)/;
|
||||
const DIGIT_FLAG_REGEX = /^--?(\d+)$/;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue