bambuddy.service 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. [Unit]
  2. Description=BamBuddy Print Archive
  3. After=network.target
  4. [Service]
  5. Type=simple
  6. User=claude
  7. Group=claude
  8. WorkingDirectory=/opt/claude/projects/bambuddy
  9. Environment="PATH=/opt/claude/projects/bambuddy/venv/bin"
  10. # Force kill after 10 seconds if graceful shutdown fails
  11. TimeoutStopSec=10
  12. # Kill any zombie ffmpeg processes before starting/after stopping
  13. ExecStartPre=-/usr/bin/pkill -9 ffmpeg
  14. ExecStopPost=-/usr/bin/pkill -9 ffmpeg
  15. # Ensure directories exist and have correct permissions before starting
  16. # The + prefix runs the command as root even though User=claude
  17. ExecStartPre=+/bin/mkdir -p /opt/claude/projects/bambuddy/logs
  18. ExecStartPre=+/bin/mkdir -p /opt/claude/projects/bambuddy/archive
  19. ExecStartPre=+/bin/chown -R claude:claude /opt/claude/projects/bambuddy/logs
  20. ExecStartPre=+/bin/chown -R claude:claude /opt/claude/projects/bambuddy/archive
  21. ExecStart=/opt/claude/projects/bambuddy/venv/bin/uvicorn backend.app.main:app --host 0.0.0.0 --port 8000
  22. Restart=always
  23. RestartSec=10
  24. [Install]
  25. WantedBy=multi-user.target