🚀 paw is a comprehensive and open source ticket management system designed to streamline issue tracking and resolution processes for organizations. It provides a centralized platform for users to submit, track, and manage tickets or requests, facilitating efficient communication and collaboration among team members.
-
Ticket Creation and Submission: Users can create and submit tickets with detailed information about the issue, including title, description, priority, and category and file attachments.
-
Ticket Assignment and Ownership: Tickets can be assigned to specific individuals or teams responsible for resolution, allowing for clear ownership and accountability.
-
Communication and Collaboration: Threaded communication enables seamless collaboration among team members, with the ability to add (internal) comments, attachments, and updates to tickets.
-
Security and Access Control: Secure user authentication, access controls, and audit trails ensure data privacy and compliance with organizational policies and regulations. You can create teams and restrict access of ticket categories to them.
- Clone the repository:
git clone https://github.com/aottr/paw.git
- Install dependencies:
poetry install
-
Configure settings: Copy
example.env
to.env
and update the configuration variables as needed. -
Run migrations:
poetry run python manage.py migrate
- Start the development server:
poetry run python manage.py runserver
The Project contains a Dockerfile that can be built locally or in a pipeline. I also provide the latest state of the main
branch as an image
- Create a compose file, e.g.
docker-compose.yml
version: '3.8'
services:
paw:
image: ghcr.io/aottr/paw:latest
container_name: paw-ticket-system
command: bash -c "python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
restart: unless-stopped
ports:
- "127.0.0.1:8000:8000"
env_file:
- .env
- Run the container with compose
docker compose up -d
- Migrate the database (optional, recommended)
docker compose exec paw python manage.py migrate
- Collect static files (optional, recommended)
docker compose exec paw python manage.py collectstatic --no-input
- Access the application through
http://localhost:8000
. - Register an account or log in with existing credentials.
- Start creating and managing tickets based on your role and permissions.
If not configured, mails get sent to the console stdout. This is (mainly) for use in dev environments.
SMTP can be used by setting the MAIL_SERVER
variable to smtp
.
To also assign a display name when sending mails, adjust the EMAIL_FROM
variable in the following format:
EMAIL_FROM='Don't Reply <do_not_reply@domain.example>'
🙌 Contributions are welcome! Please follow the guidelines.
This project is licensed under the MIT License.