Trying to fix 3

This commit is contained in:
Dessalines 2022-11-08 10:41:24 -05:00
parent e63a26581e
commit 46f8b5d760
4 changed files with 22 additions and 31 deletions

View file

@ -26,38 +26,36 @@ else
done
fi
cat /etc/hosts
killall lemmy_server || true
echo "$PWD"
echo "start alpha"
LEMMY_HOSTNAME=lemmy-alpha:8541 \
LEMMY_CONFIG_LOCATION=./docker/federation/lemmy_alpha.hjson \
target/lemmy_server >/tmp/lemmy_alpha.out 2>&1 &
LEMMY_DATABASE_URL="${LEMMY_DATABASE_URL}/lemmy_alpha" \
target/lemmy_server >/tmp/lemmy_alpha.out 2>&1 &
echo "start beta"
LEMMY_HOSTNAME=lemmy-beta:8551 \
LEMMY_CONFIG_LOCATION=./docker/federation/lemmy_beta.hjson \
target/lemmy_server >/tmp/lemmy_beta.out 2>&1 &
LEMMY_DATABASE_URL="${LEMMY_DATABASE_URL}/lemmy_beta" \
target/lemmy_server >/tmp/lemmy_beta.out 2>&1 &
echo "start gamma"
LEMMY_HOSTNAME=lemmy-gamma:8561 \
LEMMY_CONFIG_LOCATION=./docker/federation/lemmy_gamma.hjson \
target/lemmy_server >/tmp/lemmy_gamma.out 2>&1 &
LEMMY_DATABASE_URL="${LEMMY_DATABASE_URL}/lemmy_gamma" \
target/lemmy_server >/tmp/lemmy_gamma.out 2>&1 &
echo "start delta"
LEMMY_HOSTNAME=lemmy-delta:8571 \
# An instance with only an allowlist for beta
LEMMY_CONFIG_LOCATION=./docker/federation/lemmy_delta.hjson \
target/lemmy_server >/tmp/lemmy_delta.out 2>&1 &
LEMMY_DATABASE_URL="${LEMMY_DATABASE_URL}/lemmy_delta" \
target/lemmy_server >/tmp/lemmy_delta.out 2>&1 &
echo "start epsilon"
# An instance who has a blocklist, with lemmy-alpha blocked
LEMMY_HOSTNAME=lemmy-epsilon:8581 \
LEMMY_CONFIG_LOCATION=./docker/federation/lemmy_epsilon.hjson \
target/lemmy_server >/tmp/lemmy_epsilon.out 2>&1 &
LEMMY_DATABASE_URL="${LEMMY_DATABASE_URL}/lemmy_epsilon" \
target/lemmy_server >/tmp/lemmy_epsilon.out 2>&1 &
echo "wait for all instances to start"
while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'lemmy-alpha:8541/api/v3/site')" != "200" ]]; do sleep 1; cat /tmp/lemmy_alpha.out; done

View file

@ -170,12 +170,13 @@ pub async fn build_db_pool_for_tests() -> DbPool {
.expect("db pool missing")
}
fn get_database_url(settings: Option<&Settings>) -> String {
match settings {
Some(settings) => settings.get_database_url(),
None => match get_database_url_from_env() {
Ok(url) => url,
Err(e) => panic!(
pub fn get_database_url(settings: Option<&Settings>) -> String {
// The env var should override anything in the settings config
match get_database_url_from_env() {
Ok(url) => url,
Err(e) => match settings {
Some(settings) => settings.get_database_url(),
None => panic!(
"Failed to read database URL from env var LEMMY_DATABASE_URL: {}",
e
),

View file

@ -7,6 +7,7 @@
admin_password: lemmylemmy
site_name: lemmy-alpha
}
# These are ignored, use LEMMY_DATABASE_URL
database: {
database: lemmy_alpha
user: lemmy

View file

@ -17,7 +17,7 @@ use lemmy_api_common::{
use lemmy_api_crud::match_websocket_operation_crud;
use lemmy_db_schema::{
source::secret::Secret,
utils::{build_db_pool, run_migrations},
utils::{build_db_pool, get_database_url, run_migrations},
};
use lemmy_routes::{feeds, images, nodeinfo, webfinger};
use lemmy_server::{
@ -67,20 +67,11 @@ async fn main() -> Result<(), LemmyError> {
init_logging(&settings.opentelemetry_url)?;
// Set up the bb8 connection pool
let pool = build_db_pool(&settings).await?;
let db_url = get_database_url(Some(&settings));
run_migrations(&db_url);
// Run the migrations from code
// let settings_cloned = settings.to_owned();
// blocking(&pool, move |conn| {
// let _ = conn
// .run_pending_migrations(MIGRATIONS)
// .map_err(|_| LemmyError::from_message("Couldn't run migrations"))?;
// run_advanced_migrations(conn, &settings_cloned)?;
// Ok(()) as Result<(), LemmyError>
// })
// .await??;
let db_url = settings.get_database_url();
run_migrations(&db_url);
let pool = build_db_pool(&settings).await?;
run_advanced_migrations(&pool, &settings).await?;
// Schedules various cleanup tasks for the DB