[Unit] Description=AITBC Web UI Service (Port 8016) Documentation=https://docs.aitbc.bubuit.net After=network.target aitbc-coordinator-api.service Wants=aitbc-coordinator-api.service [Service] Type=simple User=aitbc Group=aitbc WorkingDirectory=/opt/aitbc/apps/explorer-web Environment=PATH=/opt/aitbc/apps/coordinator-api/.venv/bin Environment=PYTHONPATH=/opt/aitbc/apps/coordinator-api/src Environment=PORT=8016 Environment=SERVICE_TYPE=web-ui Environment=LOG_LEVEL=INFO ExecStart=/opt/aitbc/apps/coordinator-api/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8016 ExecReload=/bin/kill -HUP $MAINPID Restart=always RestartSec=10 StandardOutput=journal StandardError=journal SyslogIdentifier=aitbc-web-ui # Security settings NoNewPrivileges=true PrivateTmp=true ProtectSystem=strict ProtectHome=true ReadWritePaths=/opt/aitbc/logs /opt/aitbc/data LimitNOFILE=65536 # Resource limits MemoryMax=1G CPUQuota=100% [Install] WantedBy=multi-user.target