From df5da981892bc3c30d521df806547a38369806a6 Mon Sep 17 00:00:00 2001
From: Sangye Ince-Johannsen <sij@sij.law>
Date: Fri, 28 Mar 2025 16:13:19 +0000
Subject: [PATCH] Update changes

---
 refresh_token.sh            |  2 +-
 relaunch_without_refresh.sh | 61 ----------------------------
 restart_server.sh           | 80 +++++++++++++++++++++++++++++++++++++
 update_conduwuit.sh         |  6 +--
 4 files changed, 84 insertions(+), 65 deletions(-)
 delete mode 100755 relaunch_without_refresh.sh
 create mode 100755 restart_server.sh
 mode change 100644 => 100755 update_conduwuit.sh

diff --git a/refresh_token.sh b/refresh_token.sh
index 82df071..eb526a6 100755
--- a/refresh_token.sh
+++ b/refresh_token.sh
@@ -14,7 +14,7 @@ ADDRESS='["0.0.0.0", "::"]'
 PORT=8008
 
 # Auto-join room configuration
-AUTO_JOIN_ROOMS='["#server:we2.ee"]'
+AUTO_JOIN_ROOMS='["#home:we2.ee","#server:we2.ee"]'
 
 # Function to log with timestamp to both file and terminal
 log() {
diff --git a/relaunch_without_refresh.sh b/relaunch_without_refresh.sh
deleted file mode 100755
index 7ef9016..0000000
--- a/relaunch_without_refresh.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/bash
-
-# File paths
-BASE_PATH="/home/sij/hand_of_morpheus"
-TOKEN_FILE="$BASE_PATH/.registration_token"
-BACKUP_PATH="/home/sij/conduwuit_backup"
-
-# Server/domain info
-SERVER_DOMAIN="we2.ee"
-HOST="127.0.0.1"
-HOST_PORT=8448
-CONTAINER_PORT=6167
-CONTAINER_NAME="conduwuit"
-CONTAINER_IMAGE="ghcr.io/girlbossceo/conduwuit:v0.5.0-rc3-b6e9dc3d98704c56027219d3775336910a0136c6"
-
-# Keep max request size
-MAX_REQUEST_SIZE=33554432  # 32MB
-
-# Auto-join room configuration
-AUTO_JOIN_ROOMS="[\"#pub:we2.ee\",\"#home:we2.ee\"]"
-TRUSTED_SERVERS="[\"matrix.org\",\"envs.net\",\"tchncs.de\"]"
-BANNED_SERVERS="[\"tzchat.org\"]"
-NO_MEDIA_FROM="[\"bark.lgbt\",\"cutefunny.art\",\"tzchat.org\",\"nitro.chat\",\"lolispace.moe\",\"lolisho.chat\",\"midov.pl\"]"
-
-# Recreate Conduwuit container
-docker stop "$CONTAINER_NAME"
-docker rm "$CONTAINER_NAME"
-
-docker run -d \
-  -p "${HOST}:${HOST_PORT}:${CONTAINER_PORT}" \
-  -v "db:/var/lib/conduwuit/" \
-  -v "${TOKEN_FILE}:/.registration_token:ro" \
-  -v "${BACKUP_PATH}:/backup" \
-  -e CONDUWUIT_SERVER_NAME="$SERVER_DOMAIN" \
-  -e CONDUWUIT_DATABASE_PATH="/var/lib/conduwuit/conduwuit.db" \
-  -e CONDUWUIT_DATABASE_BACKUP_PATH="/backup" \
-  -e CONDUWUIT_ALLOW_REGISTRATION=true \
-  -e CONDUWUIT_REGISTRATION_TOKEN_FILE="/.registration_token" \
-  -e CONDUWUIT_PORT=$CONTAINER_PORT \
-  -e CONDUWUIT_ADDRESS="0.0.0.0" \
-  -e CONDUWUIT_NEW_USER_DISPLAYNAME_SUFFIX="" \
-  -e CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_OVER_FEDERATION=true \
-  -e CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_WITHOUT_AUTH=false \
-  -e CONDUWUIT_ALLOW_FEDERATION=true \
-  -e CONDUWUIT_AUTO_JOIN_ROOMS="$AUTO_JOIN_ROOMS" \
-  -e CONDUWUIT_MAX_REQUEST_SIZE=$MAX_REQUEST_SIZE \
-  -e CONDUWUIT_LOG=debug \
-  -e CONDUWUIT_LOG_SPAN_EVENTS=all \
-  -e CONDUWUIT_LOG_COLORS=true \
-  -e CONDUWUIT_TRUSTED_SERVERS=$TRUSTED_SERVERS \
-  -e CONDUWUIT_PRUNE_MISSING_MEDIA=true \
-  -e CONDUWUIT_ALLOW_LEGACY_MEDIA=false \
-  -e CONDUWUIT_IP_RANGE_DENYLIST="[]" \
-  -e CONDUWUIT_AUTO_DEACTIVATE_BANNED_ROOM_ATTEMPTS=true \
-  -e CONDUWUIT_PREVENT_MEDIA_DOWNLOADS_FROM=$NO_MEDIA_FROM \
-  -e CONDUWUIT_IP_LOOKUP_STRATEGY="1" \
-  -e CONDUWUIT_QUERY_OVER_TCP_ONLY=true \
-  -e CONDUWUIT_QUERY_ALL_NAMESERVERS=false \
-  --name "$CONTAINER_NAME" \
-  --restart unless-stopped \
-  "$CONTAINER_IMAGE"
diff --git a/restart_server.sh b/restart_server.sh
new file mode 100755
index 0000000..1fb274e
--- /dev/null
+++ b/restart_server.sh
@@ -0,0 +1,80 @@
+#!/bin/bash
+
+# File paths
+BASE_PATH="/home/sij/hand_of_morpheus"
+TOKEN_FILE="$BASE_PATH/.registration_token"
+LOG_FILE="$BASE_PATH/token_refresh.log"
+BACKUP_PATH="/home/sij/conduwuit_backup"
+
+# Server/domain info
+SERVER_DOMAIN="we2.ee"
+CONTAINER_NAME="conduwuit"
+CONTAINER_IMAGE="conduwuit:custom"
+ADDRESS='["0.0.0.0", "::"]'
+PORT=8008
+
+# Auto-join room configuration
+AUTO_JOIN_ROOMS='["#home:we2.ee","#server:we2.ee"]'
+
+# Function to log with timestamp to both file and terminal
+log() {
+    local message="$(date --iso-8601=seconds) $1"
+    echo "$message" >> "$LOG_FILE"  # Write to log file
+    echo "$message"  # Print to terminal
+}
+
+# Stop and remove existing container
+docker stop "$CONTAINER_NAME" 2>/dev/null
+docker rm "$CONTAINER_NAME" 2>/dev/null
+
+# Launch new container
+docker run -d \
+  -v "db:/var/lib/conduwuit/" \
+  -v "${TOKEN_FILE}:/.registration_token:ro" \
+  -v "${BACKUP_PATH}:/backup" \
+  -e CONDUWUIT_SERVER_NAME="$SERVER_DOMAIN" \
+  -e CONDUWUIT_DATABASE_PATH="/var/lib/conduwuit/conduwuit.db" \
+  -e CONDUWUIT_DATABASE_BACKUP_PATH="/backup" \
+  -e CONDUWUIT_ALLOW_REGISTRATION=true \
+  -e CONDUWUIT_REGISTRATION_TOKEN_FILE="/.registration_token" \
+  -e CONDUWUIT_ADDRESS="$ADDRESS" \
+  -e CONDUWUIT_PORT="$PORT" \
+  -e CONDUWUIT_NEW_USER_DISPLAYNAME_SUFFIX="" \
+  -e CONDUWUIT_AUTO_JOIN_ROOMS="$AUTO_JOIN_ROOMS" \
+  -e CONDUWUIT_FORGET_FORCED_UPON_LEAVE=true \
+  -e CONDUWUIT_DB_CACHE_CAPACITY_MB=1024 \
+  -e CONDUWUIT_DB_WRITE_BUFFER_CAPACITY_MB=256 \
+  -e CONDUWUIT_DB_POOL_WORKERS=64 \
+  -e CONDUWUIT_DB_POOL_WORKERS_LIMIT=128 \
+  -e CONDUWUIT_STREAM_AMPLIFICATION=8192 \
+  -e CONDUWUIT_MAX_REQUEST_SIZE=33554432 \
+  -e CONDUWUIT_CACHE_CAPACITY_MODIFIER=1.5 \
+  -e CONDUWUIT_ALLOW_FEDERATION=true \
+  -e CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_OVER_FEDERATION=true \
+  -e CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_WITHOUT_AUTH=true \
+  -e CONDUWUIT_WELL_KNOWN_CONN_TIMEOUT=30 \
+  -e CONDUWUIT_FEDERATION_TIMEOUT=600 \
+  -e CONDUWUIT_FEDERATION_IDLE_TIMEOUT=60 \
+  -e CONDUWUIT_SENDER_TIMEOUT=600 \
+  -e CONDUWUIT_SENDER_IDLE_TIMEOUT=360 \
+  -e CONDUWUIT_SENDER_SHUTDOWN_TIMEOUT=30 \
+  -e CONDUWUIT_DNS_CACHE_ENTRIES=1000 \
+  -e CONDUWUIT_DNS_MIN_TTL=300 \
+  -e CONDUWUIT_DNS_MIN_TTL_NXDOMAIN=600 \
+  -e CONDUWUIT_DNS_TCP_FALLBACK=true \
+  -e CONDUWUIT_IP_LOOKUP_STRATEGY=3 \
+  -e RUST_LOG="conduwuit=trace,reqwest=trace,hickory_proto=trace" \
+  --network host \
+  --name "$CONTAINER_NAME" \
+  --restart unless-stopped \
+  "$CONTAINER_IMAGE"
+if [ $? -ne 0 ]; then
+    log "ERROR: Failed to create new conduwuit container"
+    exit 1
+fi
+
+log "Successfully recreated container \"$CONTAINER_NAME\" with image \"$CONTAINER_IMAGE\" and these parameters:"
+log " - domain: $SERVER_DOMAIN"
+log " - address: $ADDRESS"
+log " - port: $PORT"
+log " - auto-join rooms: $AUTO_JOIN_ROOMS"
diff --git a/update_conduwuit.sh b/update_conduwuit.sh
old mode 100644
new mode 100755
index c0ac7e2..9822312
--- a/update_conduwuit.sh
+++ b/update_conduwuit.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # Navigate to the repository directory
-cd "$HOME/conduwuit" || exit
+cd "$HOME/workshop/conduwuit" || exit
 
 # Pull the latest changes
 git pull
@@ -9,8 +9,8 @@ git pull
 # Build the Docker image using Nix
 nix build -L --extra-experimental-features "nix-command flakes" .#oci-image-x86_64-linux-musl-all-features
 
-# Extract the image tarball path from the build result
-IMAGE_TAR_PATH=$(nix path-info -r .#oci-image-x86_64-linux-musl-all-features)/image.tar.gz
+# Use the result symlink to find the image tarball
+IMAGE_TAR_PATH=$(readlink -f result)
 
 # Load the image into Docker and tag it
 docker load < "$IMAGE_TAR_PATH" | awk '/Loaded image:/ { print $3 }' | xargs -I {} docker tag {} conduwuit:custom