# derived from https://github.com/encode/uvicorn/issues/678 # dervied from https://blog.container-solutions.com/running-docker-containers-with-systemd [Unit] Description=swarms After=docker.service #Required=docker.service [Service] EnvironmentFile=/var/run/swarms/secrets/env RestartSec=10 TimeoutStartSec=0 Restart=always ExecStartPre=-/usr/bin/docker stop %n ExecStartPre=-/usr/bin/docker rm %n ExecStartPre=/usr/bin/docker pull h4ckermike/swarms-api:experimental #ExecStart=/usr/bin/docker run --rm --name %n h4ckermike/swarms-api:experimental ExecStart=/usr/bin/docker run -p 8000:8000 -w /var/swarms/agent_workspace/ --mount type=bind,source=/opt/swarms,target=/opt/swarms -e WORKSPACE_DIR=/var/swarms/agent_workspace/ --rm --name %n h4ckermike/swarms-api:experimental /usr/bin/unbuffer /var/swarms/agent_workspace/.venv/bin/uvicorn --proxy-headers --forwarded-allow-ips='*'--workers=4 --host 0.0.0.0 --port=8000 --reload-delay=30 --app-dir /opt/swarms/api main:create_app # --network host StandardOutput=file:/var/log/swarms_systemd.log StandardError=file:/var/log/swarms_systemd.log ExecReload=/bin/kill -HUP ${MAINPID} Restart=always [Install] WantedBy=multi-user.target