Getting Started
Broke is a simple ticket and error tracking system. It's designed for small teams who need a straightforward way to manage issues and capture errors from their applications.
What you can do with Broke:
- Create and manage tickets with priorities, labels, and assignees
- Track errors from your applications (compatible with Sentry SDK)
- Organize work into projects
- Collaborate with your team
Features
Ticket Management
Create, assign, and track tickets with priorities and labels
Error Tracking
Sentry-compatible error ingestion with grouping and stack traces
Multi-user
Invite team members with role-based access
News Feed
Activity feed showing recent updates
Labels
Organize tickets with custom labels
Projects
Organize work into separate projects
Secure Auth
Argon2 password hashing for security
Docker Ready
Production-ready containerization
Installation
Quick Start with Docker
1. Clone and start:
git clone https://github.com/valteryde/broke.git
cd broke
docker compose up -d
2. Create your admin account:
docker compose exec broke-server python cli.py create-user admin yourpassword admin@example.com --admin 1
3. Open Broke:
Go to http://localhost:8080 in your browser
Creating Users
First User (Admin)
After installation, create your first admin user via the command line:
docker compose exec broke-server python cli.py create-user <username> <password> <email> --admin 1
Inviting Team Members
Once logged in as an admin:
- Go to Settings
- Navigate to the Invites section
- Create an invite link
- Share the link with your team member
They can use the link to create their own account.
Projects
Projects help you organize your work. Each project can contain tickets and error tracking services.
Creating a Project
- Go to the settings → Projects
- Click New Project
Project Parts (Services)
Within each project, you can create "parts" — these represent different services or components of your application. Parts are used for error tracking, allowing you to separate errors by service. This can be found in the error page.
Tickets
Creating a Ticket
- Navigate to a project
- Click New Ticket
- Fill in:
- Title — A brief description of the issue
- Description — Detailed information (supports rich text)
- Priority — None, Low, Medium, High, or Urgent
- Status — Backlog, Todo, In Progress, Done, or Closed
- Labels — Add tags to categorize the ticket
- Assignees — Assign team members
Managing Tickets
- Filter tickets by status, priority, or label using the filter options
- Search for tickets using the search bar
- Edit a ticket by clicking on it to open the detail view
- Close a ticket by changing its status to Done or Closed
Labels
Labels help categorize tickets. Create custom labels with colors to organize your work:
- Go to Settings → Labels
- Click Add Label
- Enter a name and choose a color
Error Tracking
Broke can capture errors from your applications using the Sentry SDK.
Setup
- Go to Settings → Sentry DSN
- Click Generate Token to create a DSN token
- Create a Project Part for your service (e.g., "Backend API", "Web App")
- Copy your DSN URL
Connecting Your Application
Use the Sentry SDK in your application with your Broke DSN:
Python:
import sentry_sdk
sentry_sdk.init(
dsn="http://your-token@your-server:8080/ingest/1",
)
JavaScript:
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "http://your-token@your-server:8080/ingest/1",
});
Viewing Errors
- Errors appear in the Errors section of your project
- Similar errors are automatically grouped together
- Click on an error to see the full stack trace and details
- Create a ticket directly from an error to track the fix
Error Status
- Unresolved — New errors that need attention
- Resolved — Errors that have been fixed
- Ignored — Errors you've chosen to ignore
Importing from Linear
If you're migrating from Linear, you can import your existing data:
docker compose exec broke-server python cli.py import linear <your-linear-api-key>
To get your Linear API key:
- Go to Linear Settings → Security
- Create a new personal API key
- Copy the key
What gets imported:
- Teams become Projects
- Issues become Tickets (with status, priority, and descriptions)
- Labels (with colors)
- Images are downloaded and stored locally
Settings
Access settings by clicking the gear icon or navigating to Settings.
Profile
Update your display name and profile information.
Security
- Change your password
- Manage your account security
Webhooks
Set up outgoing webhooks to notify external services when events occur in Broke. Useful for integrations with chat tools or other systems.
Danger Zone
Delete your account (this action cannot be undone).
Updating Broke
To update to the latest version:
./scripts/update.sh --dir /path/to/broke
The update script will:
- Download the latest version
- Preserve your data
- Restart the server
Rollback
If you need to go back to a previous version, the update script keeps old versions. Simply stop the current container and start the previous one.
Tips
- Keyboard shortcuts — Press
?anywhere to see available shortcuts - Quick search — Use the search bar to find tickets across all projects
- News feed — Check the dashboard to see recent activity across your team