Bez popisu

Bernt Christian Egeland 19f9c02390 Add GitHub Sponsors username to FUNDING.yml před 6 měsíci
.devcontainer ca63f745d1 Improved stripe config and fix subscription feature gating (#26) před 7 měsíci
.github 19f9c02390 Add GitHub Sponsors username to FUNDING.yml před 6 měsíci
.vscode 53918b68c4 first commit před 7 měsíci
assets 53918b68c4 first commit před 7 měsíci
data 53918b68c4 first commit před 7 měsíci
messages 0fc5fbcc6f add more options to delete content (#54) před 6 měsíci
prisma 7b558e2837 Add ISO 27001 compliant audit logging (#53) před 6 měsíci
public 60deaab87d phone app icons před 6 měsíci
scripts 53918b68c4 first commit před 7 měsíci
src 0fc5fbcc6f add more options to delete content (#54) před 6 měsíci
.dockerignore 53918b68c4 first commit před 7 měsíci
.env.example 827a5c4152 env-example před 7 měsíci
.gitignore ece421a661 Add i18n support with next-intl (#20) před 7 měsíci
Dockerfile 4eef315007 version před 7 měsíci
LICENSE 53918b68c4 first commit před 7 měsíci
README.md 8b33dae81c setup instructions před 7 měsíci
biome.json 853b1b8978 fix lint issues před 7 měsíci
components.json 53918b68c4 first commit před 7 měsíci
docker-compose.yml ae198c8787 container path před 7 měsíci
eslint.config.mjs 53918b68c4 first commit před 7 měsíci
init-db.sh 62dbccef7a Work order duration tracking and direct technician assignment (#38) před 6 měsíci
next.config.ts ece421a661 Add i18n support with next-intl (#20) před 7 měsíci
package-lock.json 5a6b7d04c4 Add invoice/quote PDF layout editor with drag-and-drop section ordering (#51) před 6 měsíci
package.json 5a6b7d04c4 Add invoice/quote PDF layout editor with drag-and-drop section ordering (#51) před 6 měsíci
postcss.config.mjs 53918b68c4 first commit před 7 měsíci
tsconfig.json 53918b68c4 first commit před 7 měsíci
vitest.config.ts 50e27b1302 Add auth & multi-tenancy test suite (#5) před 7 měsíci

README.md


<a href="https://github.com/sinamics/torqvoice">
    <img src="assets/logo/torqvoice_app_logo_padding.png" alt="Torqvoice Logo" width="120" height="120">
</a>

Torqvoice, modern workshop and service management.
<br />
<br />
<a href="https://github.com/sinamics/torqvoice/issues/new?labels=bug&template=bug_template.yml&title=%5BBug%5D%3A+">Bug Report</a>
·
<a href="https://github.com/sinamics/torqvoice/issues/new?labels=enhancement&template=feature_request.yml&title=%5BFeature+Request%5D%3A+">Feature Request</a>


Torqvoice is a self-hosted workshop management platform built for automotive service businesses. It replaces scattered tools with a single place to manage customers, vehicles, service records, quotes, invoicing, inventory, billing all with a clean modern UI.

Installation

For full setup instructions, see the Installation Guide.

Quick Start with Docker Compose

Create a docker-compose.yml:

services:
  app:
    image: ghcr.io/torqvoice/torqvoice:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://torqvoice:torqvoice@db:5432/torqvoice
      - BETTER_AUTH_SECRET=change-me-run-openssl-rand-hex-32
      - NEXT_PUBLIC_APP_URL=http://localhost:3000
    volumes:
      - uploads:/app/data/uploads
    depends_on:
      db:
        condition: service_healthy

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: torqvoice
      POSTGRES_PASSWORD: torqvoice
      POSTGRES_DB: torqvoice
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U torqvoice"]
      interval: 5s
      timeout: 5s
      retries: 5

volumes:
  postgres-data:
  uploads:
# Generate a proper auth secret, and replace the placeholder in the compose file
openssl rand -hex 32

# Start everything
docker compose up -d

Open http://localhost:3000 and create your first account.

Features

  • Multi Company Support — manage multiple workshops with a single login
  • Vehicles & Customers — full service history per vehicle, linked to customer profiles
  • Work Orders — status-driven workflow (pending, in progress, waiting parts, ready, completed)
  • Quotes & Invoicing — PDF generation, customizable templates, public shareable invoice links
  • Inventory — parts stock tracking with suppliers and low-stock alerts
  • Billing & Payments — payment tracking with paid/partial/unpaid status
  • Reports — revenue, service, customer, and inventory analytics with charts and CSV export
  • Email — send quotes and invoices with PDF attachments
  • Custom Fields — extend service records and quotes with your own data fields
  • Team Management — organization-based roles (owner, admin, member)
  • Company Branding — logo, invoice colors, fonts, and layout customization
  • Global Search — search across all entities via command palette
  • Dark Mode — full dark mode support

Environment Variables

Variable Required Description
DATABASE_URL Yes PostgreSQL connection string
BETTER_AUTH_SECRET Yes Auth secret (openssl rand -hex 32)
NEXT_PUBLIC_APP_URL Yes Application URL

License

Elastic License 2.0 (ELv2)