From f5eab619037a864a4a202bffe9b172dedfb8827c Mon Sep 17 00:00:00 2001 From: Mikhail Grigorev Date: Fri, 19 Dec 2025 17:56:31 +0500 Subject: [PATCH] Added EnvironmentFile to systemd unit --- .github/workflows/release.yml | 6 ++++-- install.sh | 9 ++++++++- update.sh | 11 ++++++++++- x-ui.service => x-ui.service.debain | 3 ++- x-ui.service.rhel | 16 ++++++++++++++++ 5 files changed, 40 insertions(+), 5 deletions(-) rename x-ui.service => x-ui.service.debain (77%) create mode 100644 x-ui.service.rhel diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6c2a6989..563e1113 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,8 @@ on: - '**.go' - 'go.mod' - 'go.sum' - - 'x-ui.service' + - 'x-ui.service.debian' + - 'x-ui.service.rhel' jobs: build: @@ -78,7 +79,8 @@ jobs: mkdir x-ui cp xui-release x-ui/ - cp x-ui.service x-ui/ + cp x-ui.service.debian x-ui/ + cp x-ui.service.rhel x-ui/ cp x-ui.sh x-ui/ mv x-ui/xui-release x-ui/x-ui mkdir x-ui/bin diff --git a/install.sh b/install.sh index fd730bca..73d8ca1e 100644 --- a/install.sh +++ b/install.sh @@ -230,7 +230,14 @@ install_x-ui() { rc-update add x-ui rc-service x-ui start else - cp -f x-ui.service /etc/systemd/system/ + case "${release}" in + ubuntu | debian | armbian) + cp -f x-ui.service.debian /etc/systemd/system/ + ;; + *) + cp -f x-ui.service.rhel /etc/systemd/system/ + ;; + esac systemctl daemon-reload systemctl enable x-ui systemctl start x-ui diff --git a/update.sh b/update.sh index 66c0566c..151464fe 100755 --- a/update.sh +++ b/update.sh @@ -164,6 +164,8 @@ update_x-ui() { echo -e "${green}Removing old x-ui version...${plain}" rm /usr/bin/x-ui -f >/dev/null 2>&1 rm /usr/local/x-ui/x-ui.service -f >/dev/null 2>&1 + rm /usr/local/x-ui/x-ui.service.debain -f >/dev/null 2>&1 + rm /usr/local/x-ui/x-ui.service.rhel -f >/dev/null 2>&1 rm /usr/local/x-ui/x-ui -f >/dev/null 2>&1 rm /usr/local/x-ui/x-ui.sh -f >/dev/null 2>&1 echo -e "${green}Removing old xray version...${plain}" @@ -226,7 +228,14 @@ update_x-ui() { rc-service x-ui start >/dev/null 2>&1 else echo -e "${green}Installing systemd unit...${plain}" - cp -f x-ui.service /etc/systemd/system/ >/dev/null 2>&1 + case "${release}" in + ubuntu | debian | armbian) + cp -f x-ui.service.debian /etc/systemd/system/ >/dev/null 2>&1 + ;; + *) + cp -f x-ui.service.rhel /etc/systemd/system/ >/dev/null 2>&1 + ;; + esac chown root:root /etc/systemd/system/x-ui.service >/dev/null 2>&1 systemctl daemon-reload >/dev/null 2>&1 systemctl enable x-ui >/dev/null 2>&1 diff --git a/x-ui.service b/x-ui.service.debain similarity index 77% rename from x-ui.service rename to x-ui.service.debain index e911ef56..b01b3d7b 100644 --- a/x-ui.service +++ b/x-ui.service.debain @@ -4,10 +4,11 @@ After=network.target Wants=network.target [Service] +EnvironmentFile=-/etc/default/x-ui Environment="XRAY_VMESS_AEAD_FORCED=false" Type=simple WorkingDirectory=/usr/local/x-ui/ -ExecStart=/usr/local/x-ui/x-ui +ExecStart=/usr/local/x-ui/x-ui $ARGS Restart=on-failure RestartSec=5s diff --git a/x-ui.service.rhel b/x-ui.service.rhel new file mode 100644 index 00000000..3b933289 --- /dev/null +++ b/x-ui.service.rhel @@ -0,0 +1,16 @@ +[Unit] +Description=x-ui Service +After=network.target +Wants=network.target + +[Service] +EnvironmentFile=-/etc/sysconfig/x-ui +Environment="XRAY_VMESS_AEAD_FORCED=false" +Type=simple +WorkingDirectory=/usr/local/x-ui/ +ExecStart=/usr/local/x-ui/x-ui $ARGS +Restart=on-failure +RestartSec=5s + +[Install] +WantedBy=multi-user.target