| 123456789101112131415161718192021222324252627 |
- [Unit]
- Description=GenRecon web app (PWA + reconstruction API)
- After=network.target
- [Service]
- Type=simple
- # Only kill the web process on stop/restart — detached reconstruction runners
- # (run_job.py, own session) keep going so a redeploy never strands an in-flight
- # scan; the next startup re-attaches to them.
- KillMode=process
- WorkingDirectory=/opt/genrecon/app/backend
- Environment=GENRECON_JOBS_DIR=/srv/jobs
- Environment=GENRECON_FRONTEND_DIR=/opt/genrecon/app/frontend
- Environment=GENRECON_SAMPLE_GLB=/opt/genrecon/app/sample/scene.glb
- Environment=GENRECON_SRC=/opt/genrecon/src
- Environment=GENRECON_CKPTS=/opt/genrecon/ckpts
- Environment=GENRECON_CONDA_ENV=genrecon
- Environment=GENRECON_CUDA_DEVICE=5
- # Flip to 1 to serve the bundled demo scene without the GPU pipeline:
- Environment=GENRECON_MOCK=0
- ExecStart=/usr/bin/env bash -lc 'uvicorn app:app --host 0.0.0.0 --port 8000'
- Restart=on-failure
- RestartSec=3
- User=root
- [Install]
- WantedBy=multi-user.target
|