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