Files
bracket/docs/content/deployment/systemd.mdx
Erik Vroon 924e6681af Improvements after vite&yarn migration (#1426)
Also contains some minor fixes, e.g. login redirect handling
2025-11-14 08:24:39 +01:00

63 lines
1.2 KiB
Plaintext

---
title: Systemd
---
# Systemd
This section describes how to deploy Bracket (frontend and backend) as a Systemd service on Linux.
This assumes:
- You have installed `pnpm` and `uv`.
- You have a PostgreSQL cluster running.
- You have cloned Bracket in `/var/lib/bracket`.
- You have created a new user called Bracket with the permissions to read
and write in `/var/lib/bracket`.
Now, You can run the application using `systemd.service` files.
Below is a simple example of the service files for the backend and frontend:
## Backend
```systemd
[Unit]
Description=Bracket backend
After=syslog.target
After=network.target
[Service]
Type=simple
User=bracket
WorkingDirectory=/var/lib/bracket/backend
ExecStart=uv run gunicorn -k uvicorn.workers.UvicornWorker bracket.app:app --bind localhost:8400 --workers 1
Environment=ENVIRONMENT=PRODUCTION
TimeoutSec=15
Restart=always
RestartSec=2s
[Install]
WantedBy=multi-user.target
```
## Frontend
```systemd
[Unit]
Description=Bracket frontend
After=syslog.target
After=network.target
[Service]
Type=simple
User=bracket
WorkingDirectory=/var/lib/bracket/frontend
ExecStart=/usr/local/bin/pnpm start
Environment=NODE_ENV=production
TimeoutSec=15
Restart=always
RestartSec=2s
[Install]
WantedBy=multi-user.target
```