mirror of
https://github.com/evroon/bracket.git
synced 2026-01-07 05:30:25 -05:00
63 lines
1.2 KiB
Plaintext
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
|
|
```
|