|
|
6 months ago | |
|---|---|---|
| .devcontainer | 7 months ago | |
| .github | 7 months ago | |
| .vscode | 7 months ago | |
| assets | 7 months ago | |
| data | 7 months ago | |
| messages | 7 months ago | |
| prisma | 7 months ago | |
| public | 7 months ago | |
| scripts | 7 months ago | |
| src | 6 months ago | |
| .dockerignore | 7 months ago | |
| .env.example | 7 months ago | |
| .gitignore | 7 months ago | |
| Dockerfile | 7 months ago | |
| LICENSE | 7 months ago | |
| README.md | 7 months ago | |
| biome.json | 7 months ago | |
| components.json | 7 months ago | |
| docker-compose.cloud.yml | 7 months ago | |
| docker-compose.yml | 7 months ago | |
| eslint.config.mjs | 7 months ago | |
| init-db.sh | 7 months ago | |
| next.config.ts | 7 months ago | |
| package-lock.json | 7 months ago | |
| package.json | 7 months ago | |
| postcss.config.mjs | 7 months ago | |
| tsconfig.json | 7 months ago | |
| vitest.config.ts | 7 months ago |
<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.
For full setup instructions, see the Installation Guide.
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.
| 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 |