Repository navigation
Contributing
Warracker is open source (AGPL-3.0) and contributions are welcome — code, translations, documentation, and bug reports all count.
- How to contribute
- Setting up a development environment
- Translating
- Reporting bugs
- Reporting security issues
- Start with an issue. Before writing a pull request, make sure the change has been discussed in an issue — open one if it does not exist yet. This avoids duplicate or unwanted work.
- Fork the repository.
-
Create a branch for your change:
git checkout -b feature/amazing-feature. -
Commit your change with a clear message:
git commit -m "Add: amazing feature". - Push to your fork and open a pull request with a clear explanation of what changed and why.
Guidelines from the project:
- Keep each pull request focused on a single change.
- Match the project's existing code style and naming conventions.
- Be respectful and constructive in discussion.
You need Python 3.15 (matching the Docker image) and a PostgreSQL server (15 is what the Docker setup uses).
git clone https://github.com/sassanix/Warracker.git
cd Warracker
python -m venv venv
source venv/bin/activate
pip install -r backend/requirements.txtThen configure the database connection with the usual variables (DB_HOST, DB_NAME, DB_USER, DB_PASSWORD — see Configuration), create the schema, and run the backend:
python backend/migrations/apply_migrations.py
gunicorn --config backend/gunicorn_config.py 'backend:create_app()'The frontend is static files in frontend/ — serve that directory with any static file server and proxy /api/ requests to the backend. For the full production-like stack (nginx, supervisor, cron), use the Docker setup instead — see Getting Started.
The interface is translated into 20 languages. Translations live in locales/ and are compiled with Babel (pybabel compile). To add or fix a language:
- Edit the relevant
.pofile inlocales/. - Compile and check the result in the running app before submitting.
- Open a pull request — and start with an issue first if it is a new language, so the language list and coverage can be coordinated.
Note that translations must stay in the repository: do not remove locale files, even for languages you do not use.
A good bug report has the Warracker version (About page), the install method, steps to reproduce, and relevant log lines. See FAQ for the full checklist.
Security vulnerabilities are not public issues. Use GitHub's private vulnerability reporting on the repository — see Security.