diff --git a/.gitignore b/.gitignore index a7c18ec..fe9c265 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,6 @@ config.yaml registrations.json banned_ips.txt refresh_token.sh -canary.txt testbench/ # Backup directories diff --git a/canary.txt b/canary.txt index bc6b80f..6c77d4d 100644 --- a/canary.txt +++ b/canary.txt @@ -2,7 +2,7 @@ Hash: SHA512 We2.ee Warrant Canary -Date: 2025-03-27 +Date: 2025-03-30 1. We have not received any National Security Letters. 2. We have not received any court orders under the Foreign Intelligence Surveillance Act. @@ -11,24 +11,24 @@ Date: 2025-03-27 5. We have not been subject to any searches or seizures of our servers. Proofs: -NIST time: 2025-03-27T00:32:57.229589 UTC -Democracy Now! headline: "1,400+ Arrested in Turkey as Erdoğan Jails Istanbul Mayor & Intensifies Authoritarian Crackdown" -Bitcoin block #889596 hash: 000000000000000000018c38ea9043fd8710fa40d1cf90d5e541d050cd22b89d -Bitcoin block time: 2025-03-26 23:49:42 UTC +NIST time: 2025-03-30T03:15:24.5369625 UTC +Democracy Now! headline: ""The Encampments": New Film on Mahmoud Khalil & Columbia Students Who Sparked Gaza Campus Protests" +Bitcoin block #890061 hash: 000000000000000000022c41b8bf19607d604f9b77d0403439bbf6ee60215332 +Bitcoin block time: 2025-03-30 03:10:49 UTC -----BEGIN PGP SIGNATURE----- -iQIzBAEBCgAdFiEEMjqKLEezdiJLNhO3U1smWu2+W0QFAmfknNcACgkQU1smWu2+ -W0RrlxAAinoE3ZsIKAEpt/qzKygQyUx06VozLL82wzLPQrICia+jOkzo6UHuYGmY -to4sj4SIOBaEyrdIhLvPG7Q6QRnrbn7NVasawRD484KsiO1+caPrnROFKJWyW/II -UNlAnmOCxGttu14SlKYPpgp/a6LnLQtciNTHEsj6A0i/JgP1kAPRjqOiM0UCXTKf -2MnNgwHHdjJt3f7AVJewzw5EPsW9ouh7VcIiIu9kZeuGotf0Gux5R8iTg9j2Cpum -FrsHhdfwgyFFasTtp+sTnsWvmtw86OpIYuqPpopkIe70e3w4m/+C7ybejqNiNlWh -1HCcFSyP17B6d516BCAKDJlrmCEKEQVz9MkTrqjpEKpZrVzo6Rl9bxQgN0QrohjV -buUQO9Zyu6Xl7BZSD4qPqGgGeTzRt8pi4BTWtrMMs+JKTel4TimzPONqLh8exYBa -Go5uDsbOAwnzbK/0VF9KIYqHc2t9pP5IgtUF3HGVZ0IputxTeDCF3uYJMiwO52cK -XWaSvSlXB+Nc6OIjHHxG35hflk4ch8ZSEchp8OmXIYiy0zC640YwnnAnosg1WCOA -UAeEvTO+QGyN7uP4rzGn9rtZgyoj5WT9GYGaiHFxrToCo9o3npOOQBAumcXLvP+B -6Wkd0RKajppKCVEtEKH0/aH57YGC9V5XdZ9o0aa1yDLpWXw7Ag8= -=5ZtT +iQIzBAEBCgAdFiEEMjqKLEezdiJLNhO3U1smWu2+W0QFAmfot2QACgkQU1smWu2+ +W0SHBRAAhYrE5ZaBU+J/ixjK1GATqEqgV20weirjnUvlfqyvH6lhBF8xE7EclR/K +7lNvaZlgqF3ks6NcMs02h74wrXhQeWfJ9QUDMjcsQkz1OZAHylG7T6dzzizz0MXM +ldxL2D8sXFVLN78wNxDFpKc7PnWkbEsAqD/OXLDQUDDwphufsvZAvXhBuGvPxYvF +I7J69LPO2nZfgTnxmxP/xtsiAFQ2HB5WjNzyt1JuK5Jnx/cZ8+plUa2+2GhdQ9Me +8bMFVrsHiTRGZH3uCW+ndETJEGNpXbA50iE0trLvsb3BZXSS9YN9vmd9O+psFEI4 +zDlZKbiuqJ/s2A00zTNb0/ZVfd3C4OwjSX6SKghq7ABt4W38FmbqPipExsNqCMpa +NrTPQCuSRZ1Lpfvt4QtqIGRdFVtcO+RCMbeTQpdsuy/3rm1Wu1PDbO6EMdCFo4/I +7b+QnW6CFQZlKe/Tt2aTc/3cKb50LZO9+Zd5eKfkX2lXlcNuUHc9+Qts1OTf58nk +sRdl2WdGpjXFlC5dnQ8+BvRl7m3QROl44bo/jx1krfCtzZj8YQkFQQnwdj3cWXMk +Pkz9bMMZ6IbyDEKy/y/8GHblvNBzcuSfSY8aoEc2mdESh7uURKQBkpkDpFg6dYS3 +b0lkabVcMXUj8nVJEtnAXcjkVWblGM0OYNSg+EpxGhvGQ25Gy8w= +=ElP1 -----END PGP SIGNATURE----- diff --git a/conduwuit.env b/conduwuit.env new file mode 100644 index 0000000..cfbf998 --- /dev/null +++ b/conduwuit.env @@ -0,0 +1,37 @@ +# conduwuit.env +CONDUWUIT_SERVER_NAME=we2.ee +CONDUWUIT_DATABASE_PATH=/var/lib/conduwuit/conduwuit.db +CONDUWUIT_DATABASE_BACKEND=rocksdb +CONDUWUIT_DATABASE_BACKUP_PATH=/backup +CONDUWUIT_ALLOW_REGISTRATION=true +CONDUWUIT_REGISTRATION_TOKEN_FILE=/.registration_token +CONDUWUIT_ADDRESS=["0.0.0.0", "::"] +CONDUWUIT_PORT=8008 +CONDUWUIT_NEW_USER_DISPLAYNAME_SUFFIX= +CONDUWUIT_AUTO_JOIN_ROOMS=["#Home:we2.ee", "#Announcements:we2.ee"] +CONDUWUIT_FORGET_FORCED_UPON_LEAVE=true +CONDUWUIT_DB_CACHE_CAPACITY_MB=1024 +CONDUWUIT_DB_WRITE_BUFFER_CAPACITY_MB=256 +CONDUWUIT_DB_POOL_WORKERS=64 +CONDUWUIT_DB_POOL_WORKERS_LIMIT=128 +CONDUWUIT_STREAM_AMPLIFICATION=8192 +CONDUWUIT_MAX_REQUEST_SIZE=33554432 +CONDUWUIT_CACHE_CAPACITY_MODIFIER=1.5 +CONDUWUIT_ALLOW_FEDERATION=true +CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_OVER_FEDERATION=true +CONDUWUIT_ALLOW_PUBLIC_ROOM_DIRECTORY_WITHOUT_AUTH=true +CONDUWUIT_WELL_KNOWN_CONN_TIMEOUT=30 +CONDUWUIT_FEDERATION_TIMEOUT=600 +CONDUWUIT_FEDERATION_IDLE_TIMEOUT=60 +CONDUWUIT_SENDER_TIMEOUT=600 +CONDUWUIT_SENDER_IDLE_TIMEOUT=360 +CONDUWUIT_SENDER_SHUTDOWN_TIMEOUT=30 +CONDUWUIT_DNS_CACHE_ENTRIES=0 +CONDUWUIT_DNS_MIN_TTL=0 +CONDUWUIT_DNS_MIN_TTL_NXDOMAIN=60 +CONDUWUIT_DNS_ATTEMPTS=3 +CONDUWUIT_DNS_TIMEOUT=3 +CONDUWUIT_DNS_TCP_FALLBACK=true +CONDUWUIT_QUERY_ALL_NAMESERVERS=false +CONDUWUIT_QUERY_OVER_TCP_ONLY=false +CONDUWUIT_IP_LOOKUP_STRATEGY=3 diff --git a/launch_conduwuit.sh b/launch_conduwuit.sh new file mode 100755 index 0000000..7061c40 --- /dev/null +++ b/launch_conduwuit.sh @@ -0,0 +1,207 @@ +#!/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" +ENV_FILE="$BASE_PATH/conduwuit.env" +REPO_PATH="$HOME/workshop/conduwuit" + +# Static container settings +CONTAINER_NAME="conduwuit" +CONTAINER_IMAGE="conduwuit:custom" + +# Flags +REFRESH_TOKEN=false +SUPER_ADMIN=false +UPDATE=false + +# 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 +} + +# Function to refresh the registration token +refresh_token() { + NEW_TOKEN=$(openssl rand -hex 3) + echo -n "$NEW_TOKEN" > "$TOKEN_FILE" + if [ $? -ne 0 ]; then + log "ERROR: Failed to write new token to $TOKEN_FILE" + exit 1 + fi + log "Generated new registration token: $NEW_TOKEN" +} + +# Function to update the Docker image +update_docker_image() { + log "Updating Conduwuit Docker image..." + + # Navigate to the repository directory + cd "$REPO_PATH" || { + log "ERROR: Failed to cd into $REPO_PATH" + exit 1 + } + + # Pull the latest changes + git pull origin main || { + log "ERROR: git pull failed" + exit 1 + } + + # Build the Docker image using Nix + nix build -L --extra-experimental-features "nix-command flakes" .#oci-image-x86_64-linux-musl-all-features || { + log "ERROR: nix build failed" + exit 1 + } + + # Use the result symlink to find the image tarball + IMAGE_TAR_PATH=$(readlink -f result) + if [ ! -f "$IMAGE_TAR_PATH" ]; then + log "ERROR: No image tarball found at $IMAGE_TAR_PATH" + exit 1 + fi + + # Load the image into Docker and tag it + docker load < "$IMAGE_TAR_PATH" | awk '/Loaded image:/ { print $3 }' | xargs -I {} docker tag {} "$CONTAINER_IMAGE" + if [ $? -ne 0 ]; then + log "ERROR: Failed to load and tag Docker image" + exit 1 + fi + log "Docker image tagged as $CONTAINER_IMAGE" +} + +# Function to restart the container +restart_container() { + # Stop and remove existing container + docker stop "$CONTAINER_NAME" 2>/dev/null + docker rm "$CONTAINER_NAME" 2>/dev/null + + # Base docker run command + DOCKER_CMD=(docker run -d + -v "db:/var/lib/conduwuit/" + -v "${TOKEN_FILE}:/.registration_token:ro" + -v "${BACKUP_PATH}:/backup" + --network host + --name "$CONTAINER_NAME" + --restart unless-stopped + ) + + # Read the .env file and append CONDUWUIT_ variables as -e options + if [ -f "$ENV_FILE" ]; then + while IFS='=' read -r key value; do + # Skip empty lines and comments + [[ -z "$key" || "$key" =~ ^# ]] && continue + # Trim whitespace + key=$(echo "$key" | xargs) + value=$(echo "$value" | xargs) + if [[ "$key" =~ ^CONDUWUIT_ ]]; then + log "Adding env var: $key=$value" + DOCKER_CMD+=(-e "$key=$value") + fi + done < "$ENV_FILE" + else + log "ERROR: Environment file $ENV_FILE not found" + exit 1 + fi + + # Add RUST_LOG explicitly (since it’s not CONDUWUIT_ prefixed) + DOCKER_CMD+=(-e RUST_LOG="conduwuit=trace,reqwest=trace,hickory_proto=trace") + + # Add emergency password if --super-admin is set + if [ "$SUPER_ADMIN" = true ]; then + EMERGENCY_PASSWORD=$(openssl rand -hex 8) + log "Setting emergency password to: $EMERGENCY_PASSWORD" + DOCKER_CMD+=(-e CONDUWUIT_EMERGENCY_PASSWORD="$EMERGENCY_PASSWORD") + fi + + # Add the image as the last argument + DOCKER_CMD+=("$CONTAINER_IMAGE") + + # Log the full command for debugging + log "Docker command: ${DOCKER_CMD[*]}" + + # Execute the docker command + "${DOCKER_CMD[@]}" + 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\"." + log " - Configuration loaded from $ENV_FILE" + + # Log super-admin credentials if applicable + if [ "$SUPER_ADMIN" = true ]; then + log "Use the following credentials to log in as the @conduit server user:" + log " Username: @conduit:we2.ee" + log " Password: $EMERGENCY_PASSWORD" + log "Once logged in as @conduit:we2.ee, you can invite yourself to the admin room or run admin commands." + fi +} + +# Function to start the Python registration service +start_registration_service() { + local python_script="$BASE_PATH/registration.py" # Adjust name if different + local pid_file="$BASE_PATH/registration.pid" + local log_file="$BASE_PATH/registration.log" + + if [ ! -f "$python_script" ]; then + log "ERROR: Python script $python_script not found" + exit 1 + fi + + # Check if it's already running + if [ -f "$pid_file" ] && ps -p "$(cat "$pid_file")" > /dev/null 2>&1; then + log "Registration service already running with PID $(cat "$pid_file")" + else + # Start it in the background, redirecting output to a log file + python3 "$python_script" >> "$log_file" 2>&1 & + local pid=$! + echo "$pid" > "$pid_file" + log "Started registration service with PID $pid" + fi +} + +# Parse command-line flags +while [[ $# -gt 0 ]]; do + case "$1" in + --refresh-token) + REFRESH_TOKEN=true + shift + ;; + --super-admin) + SUPER_ADMIN=true + shift + ;; + --update) + UPDATE=true + shift + ;; + --start-service) + START_SERVICE=true + shift + ;; + *) + log "ERROR: Unknown option: $1" + echo "Usage: $0 [--refresh-token] [--super-admin] [--update]" + exit 1 + ;; + esac +done + +# Execute based on flags +if [ "$UPDATE" = true ]; then + update_docker_image +fi +if [ "$REFRESH_TOKEN" = true ]; then + refresh_token +fi +restart_container +if [ "$START_SERVICE" = true ] || [ "$1" = "@reboot" ]; then # Run on explicit flag or cron @reboot + start_registration_service +fi + +exit 0 diff --git a/refresh_token.sh b/refresh_token.sh deleted file mode 100755 index eb526a6..0000000 --- a/refresh_token.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/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 -} - -# Generate new token (6 random hex characters) -NEW_TOKEN=$(openssl rand -hex 3) - -# Write new token to file without newline -echo -n "$NEW_TOKEN" > "$TOKEN_FILE" -if [ $? -ne 0 ]; then - log "ERROR: Failed to write new token to $TOKEN_FILE" - exit 1 -fi - -log "Generated new registration token" - -# 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/registration.pid b/registration.pid new file mode 100644 index 0000000..394b6b6 --- /dev/null +++ b/registration.pid @@ -0,0 +1 @@ +749006 diff --git a/restart_server.sh b/restart_server.sh deleted file mode 100755 index 1fb274e..0000000 --- a/restart_server.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/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 deleted file mode 100755 index 9822312..0000000 --- a/update_conduwuit.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Navigate to the repository directory -cd "$HOME/workshop/conduwuit" || exit - -# Pull the latest changes -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 - -# 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 - -# Confirm tagging -echo "Docker image tagged as conduwuit:custom"