- Svelte 39.6%
- TypeScript 36.6%
- Python 21.5%
- CSS 1.4%
- JavaScript 0.6%
- Other 0.3%
| .forgejo/workflows | ||
| backend | ||
| frontend | ||
| .env.example | ||
| docker-compose.yml | ||
| Dockerfile.backend | ||
| Dockerfile.frontend | ||
| nginx.conf | ||
| README.de.md | ||
| README.md | ||
Project Fenrir
Auf Deutsch
Setup
The easiest way to run Fenrir is using Docker.
Prerequisites
- Docker and Docker Compose
- or Podman with Podman Compose
1. Clone the repository
git clone https://codeberg.org/seidirselbsttreu/fenrir.git
cd fenrir
2. Configure environment variables
cp .env.example .env
Fill the .env file with your required data (like JWT_SECRET_KEY, DATABASE_URL, etc.).
3. Start the containers
docker compose up -d
On initial startup, a registration token will be generated and printed to the logs. You can access them using docker compose logs.
Now you can access the application at http://localhost:8000.
Shutting down
To stop the application, run:
docker compose down
Development
Frontend
Setup
- Install Node.js if you haven't installed it yet: https://nodejs.org/en/download/
- Install dependencies
npm install
You can now run the frontend with npm run dev
Scripts
If you changed some models in the backend, you need to regenerate the API client:
- Update the openapi.json (provided by the running backend at /openapi.json)
- Then run
npm run gen:apito regenerate the API client
Backend
Setup
- Install UV if you haven't installed it yet: https://docs.astral.sh/uv/#installation
- Create a virtualenv for installing the dependencies into
uv venvand activate it- Linux/macOS (Bash/Zsh)
source .venv/bin/activate - Windows (PowerShell)
.venv\Scripts\Activate.ps1
- Linux/macOS (Bash/Zsh)
- Install dependencies
uv sync
Now you can start your local dev server with:
fastapi dev
Database migrations
Upstream Docs: https://alembic.sqlalchemy.org
After changing a model, run this command: alembic revision --autogenerate -m "message"
If your database is outdated, you can upgrade it using: alembic upgrade head