Implement TLS support for WebSocket connections in yourchat2. Updated main.rs to handle secure WebSocket connections based on environment variables. Enhanced install-systemd.sh to include a template for environment configuration. Updated README to document new TLS-related environment variables and installation instructions.

This commit is contained in:
Torsten Schulz (local)
2026-03-04 17:42:47 +01:00
parent 0037ac5c28
commit aca290f1d0
6 changed files with 331 additions and 18 deletions

View File

@@ -7,6 +7,7 @@ SERVICE_SRC="${PROJECT_DIR}/yourchat2.service"
SERVICE_DST="/etc/systemd/system/${SERVICE_NAME}.service"
ENV_DIR="/etc/yourchat2"
ENV_FILE="${ENV_DIR}/yourchat2.env"
ENV_TEMPLATE="${PROJECT_DIR}/config/yourchat2.env.example"
BIN_PATH="${PROJECT_DIR}/target/release/yourchat2"
INSTALL_BIN="/usr/local/bin/yourchat2"
WORK_DIR="/var/lib/yourchat2"
@@ -45,15 +46,20 @@ chown "${BUILD_USER}:${BUILD_USER}" "${WORK_DIR}"
echo "[6/7] Ensure environment file ..."
if [[ ! -f "${ENV_FILE}" ]]; then
cat > "${ENV_FILE}" <<'EOF'
if [[ -f "${ENV_TEMPLATE}" ]]; then
install -m 0640 "${ENV_TEMPLATE}" "${ENV_FILE}"
else
cat > "${ENV_FILE}" <<'EOF'
# yourchat2 environment
# CHAT_WS_ADDR=0.0.0.0:1235
# CHAT_TCP_ADDR=127.0.0.1:1236
CHAT_WS_ADDR=0.0.0.0:1235
CHAT_TCP_ADDR=127.0.0.1:1236
# CHAT_UNIX_SOCKET=/run/yourchat2/yourchat2.sock
# CHAT_ALLOWED_USERS=alice,bob
# CHAT_DB_URL=postgres://user:pass@host:5432/dbname
# SECRET_KEY=replace-with-real-secret
EOF
chmod 0640 "${ENV_FILE}"
fi
chmod 0640 "${ENV_FILE}"
chown root:root "${ENV_FILE}"
fi