This commit is contained in:
Peter Galonza 2025-06-30 02:39:38 +00:00 committed by GitHub
commit bbb68e2576
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 49 additions and 2 deletions

View file

@ -424,8 +424,18 @@ ErrorCode ServerController::installDockerWorker(const ServerCredentials &credent
ErrorCode ServerController::prepareHostWorker(const ServerCredentials &credentials, DockerContainer container, const QJsonObject &config)
{
// create folder on host
return runScript(credentials, replaceVars(amnezia::scriptData(SharedScriptType::prepare_host), genVarsForScript(credentials, container)));
QString sctiptFileName = QString("/opt/amnezia/setup_host_firewall.sh");
ErrorCode errorCode = uploadFileToHost(credentials, amnezia::scriptData(SharedScriptType::setup_host_firewall).toUtf8(), sctiptFileName);
if (errorCode)
return errorCode;
errorCode = runScript(credentials, replaceVars(amnezia::scriptData(SharedScriptType::prepare_host), genVarsForScript(credentials, container)));
if (errorCode)
return errorCode;
return errorCode
}
ErrorCode ServerController::buildContainerWorker(const ServerCredentials &credentials, DockerContainer container, const QJsonObject &config)

View file

@ -7,3 +7,40 @@ if ! sudo docker network ls | grep -q amnezia-dns-net; then sudo docker network
--opt com.docker.network.bridge.name=amn0 \
amnezia-dns-net;\
fi
if ! grep -q "#!/bin/bash" /opt/amnezia/setup_host_firewall.sh; then
sudo sed -i '1i\#!/bin/bash\n' /opt/amnezia/setup_host_firewall.sh
fi
if lsmod | grep -qw nf_tables; then
sudo update-alternatives --set iptables /usr/sbin/iptables-nft
sudo cat > /etc/systemd/system/setup-host-firewall.service << EOF
[Unit]
Description=Run setup_host_firewall.sh
PartOf=nftables.service
After=nftables.service
[Service]
Type=oneshot
ExecStart=/opt/amnezia/setup_host_firewall.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
else
sudo cat > /etc/systemd/system/setup-host-firewall.service << EOF
[Unit]
Description=Run setup_host_firewall.sh
[Service]
Type=oneshot
ExecStart=/opt/amnezia/setup_host_firewall.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
fi
sudo systemctl enable setup-host-firewall.service