- Add repo-deploy.sh script for staging and deploying packages - Replicate _all.ipk packages to all 6 architectures automatically - Add "Refresh Indexes" button to LuCI dashboard for local deployments - Add RPCD refresh method to regenerate Packages indexes on-device - Support architectures: aarch64_cortex-a72, aarch64_cortex-a53, aarch64_generic, x86_64, mips_24kc, mipsel_24kc Usage: ./secubox-tools/repo-deploy.sh stage --clean ./secubox-tools/repo-deploy.sh deploy root@192.168.255.1 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
78 lines
1.8 KiB
Bash
Executable File
78 lines
1.8 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# SimpleX Chat Server Service
|
|
|
|
START=95
|
|
STOP=15
|
|
USE_PROCD=1
|
|
|
|
SIMPLEX_DIR="/srv/simplex"
|
|
CONTAINER_NAME="simplex"
|
|
|
|
start_service() {
|
|
local enabled=$(uci -q get simplex.main.enabled)
|
|
[ "$enabled" != "1" ] && return 0
|
|
|
|
# Check LXC
|
|
if ! command -v lxc-start >/dev/null 2>&1; then
|
|
logger -t simplex "LXC not available"
|
|
return 1
|
|
fi
|
|
|
|
# Check if container exists
|
|
if ! lxc-info -n "$CONTAINER_NAME" >/dev/null 2>&1; then
|
|
logger -t simplex "Container not installed. Run: simplexctl install"
|
|
return 1
|
|
fi
|
|
|
|
# Start container if not running
|
|
if ! lxc-info -n "$CONTAINER_NAME" -s 2>/dev/null | grep -q "RUNNING"; then
|
|
logger -t simplex "Starting SimpleX container..."
|
|
/usr/sbin/simplexctl start-container
|
|
fi
|
|
|
|
# Start SMP server
|
|
local smp_enabled=$(uci -q get simplex.smp.enabled)
|
|
if [ "$smp_enabled" = "1" ]; then
|
|
procd_open_instance smp
|
|
procd_set_param command /usr/sbin/simplexctl service-run smp
|
|
procd_set_param respawn 3600 5 5
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_close_instance
|
|
fi
|
|
|
|
# Start XFTP server
|
|
local xftp_enabled=$(uci -q get simplex.xftp.enabled)
|
|
if [ "$xftp_enabled" = "1" ]; then
|
|
procd_open_instance xftp
|
|
procd_set_param command /usr/sbin/simplexctl service-run xftp
|
|
procd_set_param respawn 3600 5 5
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_close_instance
|
|
fi
|
|
|
|
logger -t simplex "SimpleX Chat Server started"
|
|
}
|
|
|
|
stop_service() {
|
|
# Stop services (procd handles the instances)
|
|
/usr/sbin/simplexctl stop-services 2>/dev/null
|
|
|
|
# Optionally stop container
|
|
local keep_container=$(uci -q get simplex.main.keep_container_running)
|
|
if [ "$keep_container" != "1" ]; then
|
|
/usr/sbin/simplexctl stop-container 2>/dev/null
|
|
fi
|
|
|
|
logger -t simplex "SimpleX Chat Server stopped"
|
|
}
|
|
|
|
reload_service() {
|
|
/usr/sbin/simplexctl reload-config
|
|
}
|
|
|
|
status() {
|
|
/usr/sbin/simplexctl status
|
|
}
|