New packages: - secubox-app-backup: Unified backup for LXC containers, UCI config, services - luci-app-backup: KISS dashboard with container list and backup history - secubox-app-mailserver: Custom Postfix+Dovecot in LXC with mesh backup Enhanced dnsctl with: - generate: Auto-create subdomain A records - suggest: Name suggestions by category - mail-setup: MX, SPF, DMARC record creation - dkim-add: DKIM TXT record management Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
60 lines
1.5 KiB
Bash
60 lines
1.5 KiB
Bash
#!/bin/sh /etc/rc.common
|
|
|
|
START=95
|
|
STOP=10
|
|
USE_PROCD=1
|
|
|
|
NAME="mailserver"
|
|
|
|
start_service() {
|
|
local enabled=$(uci -q get mailserver.main.enabled)
|
|
[ "$enabled" = "1" ] || {
|
|
echo "Mail server is disabled. Enable with: uci set mailserver.main.enabled=1"
|
|
return 0
|
|
}
|
|
|
|
local container=$(uci -q get mailserver.main.container)
|
|
container="${container:-mailserver}"
|
|
|
|
if ! lxc-info -n "$container" >/dev/null 2>&1; then
|
|
echo "Container '$container' not found. Create with: mailctl install"
|
|
return 1
|
|
fi
|
|
|
|
echo "Starting mail server container: $container"
|
|
lxc-start -n "$container"
|
|
}
|
|
|
|
stop_service() {
|
|
local container=$(uci -q get mailserver.main.container)
|
|
container="${container:-mailserver}"
|
|
|
|
if lxc-info -n "$container" 2>/dev/null | grep -q "RUNNING"; then
|
|
echo "Stopping mail server container: $container"
|
|
lxc-stop -n "$container" -t 30
|
|
fi
|
|
}
|
|
|
|
reload_service() {
|
|
local container=$(uci -q get mailserver.main.container)
|
|
container="${container:-mailserver}"
|
|
|
|
if lxc-info -n "$container" 2>/dev/null | grep -q "RUNNING"; then
|
|
echo "Reloading mail server services..."
|
|
lxc-attach -n "$container" -- postfix reload 2>/dev/null
|
|
lxc-attach -n "$container" -- doveadm reload 2>/dev/null
|
|
fi
|
|
}
|
|
|
|
status() {
|
|
local container=$(uci -q get mailserver.main.container)
|
|
container="${container:-mailserver}"
|
|
|
|
if lxc-info -n "$container" 2>/dev/null | grep -q "RUNNING"; then
|
|
echo "Mail server: Running"
|
|
lxc-attach -n "$container" -- postfix status 2>/dev/null
|
|
else
|
|
echo "Mail server: Stopped"
|
|
fi
|
|
}
|