64 lines
1.2 KiB
Markdown
64 lines
1.2 KiB
Markdown
# Installation
|
|
|
|
## Requirements
|
|
|
|
- Python 3.11+
|
|
- [uv](https://docs.astral.sh/uv/)
|
|
- nginx
|
|
- systemd
|
|
|
|
## Clone
|
|
|
|
```bash
|
|
git clone https://gitaec.org/rvba/ifc-commit
|
|
cd ifc-commit
|
|
```
|
|
|
|
## Install dependencies
|
|
|
|
```bash
|
|
uv sync
|
|
```
|
|
|
|
## Development server
|
|
|
|
```bash
|
|
make web-dev
|
|
```
|
|
|
|
Starts uvicorn on `http://127.0.0.1:8095` with auto-reload.
|
|
|
|
## Production deployment
|
|
|
|
### 1. Install the systemd service and nginx config
|
|
|
|
```bash
|
|
make install-service
|
|
```
|
|
|
|
This will:
|
|
- Write `/etc/systemd/system/ifc-commit.service` (filled with the current working directory and user)
|
|
- Symlink `files/ifc-commit.conf` into `/etc/nginx/sites-enabled/`
|
|
- Enable and start the `ifc-commit` systemd service
|
|
- Reload nginx
|
|
|
|
### 2. Configure your domain
|
|
|
|
Edit `files/ifc-commit.conf` and set `server_name` to your domain before running `make install-service`.
|
|
|
|
### 3. Manage the service
|
|
|
|
```bash
|
|
make start # sudo systemctl start ifc-commit
|
|
make stop # sudo systemctl stop ifc-commit
|
|
```
|
|
|
|
Check logs:
|
|
|
|
```bash
|
|
journalctl -u ifc-commit -f
|
|
```
|
|
|
|
## Personal access token
|
|
|
|
The web UI has a **Personal access token** field. The token is saved in the browser's `localStorage` and never stored server-side. Generate one from your Forgejo account settings.
|