#!/bin/sh set -e # Create user and group if they don't exist if ! getent group xxxigcc-proxy >/dev/null; then addgroup --system xxxigcc-proxy fi if ! getent passwd xxxigcc-proxy >/dev/null; then adduser --system --ingroup xxxigcc-proxy --no-create-home \ --home /opt/xxxigcc-proxy --shell /usr/sbin/nologin \ --gecos "XXXigCC Proxy Service" xxxigcc-proxy fi # Create log directory mkdir -p /var/log/xxxigcc-proxy chown xxxigcc-proxy:xxxigcc-proxy /var/log/xxxigcc-proxy chmod 750 /var/log/xxxigcc-proxy # Create config directory mkdir -p /etc/xxxigcc-proxy # Copy default config if it doesn't exist if [ ! -f /etc/xxxigcc-proxy/config.json ]; then cp /opt/xxxigcc-proxy/config.json /etc/xxxigcc-proxy/config.json chown xxxigcc-proxy:xxxigcc-proxy /etc/xxxigcc-proxy/config.json chmod 640 /etc/xxxigcc-proxy/config.json fi # Set permissions chown -R xxxigcc-proxy:xxxigcc-proxy /opt/xxxigcc-proxy chmod 755 /opt/xxxigcc-proxy chmod 755 /opt/xxxigcc-proxy/xxxigcc-proxy # Reload systemd if [ -d /run/systemd/system ]; then systemctl daemon-reload # Enable and start service if ! systemctl is-enabled xxxigcc-proxy.service >/dev/null 2>&1; then systemctl enable xxxigcc-proxy.service fi # Start service if not running if ! systemctl is-active xxxigcc-proxy.service >/dev/null 2>&1; then systemctl start xxxigcc-proxy.service fi fi exit 0