Sign inSign up

meetrix/invantra

By meetrix

•Updated 9 days ago

Image
0

50

meetrix/invantra repository overview

⁠Invantra

Self-hosted estimates and invoices for small teams. Write estimates, get them approved, convert them to invoices, record payments, and print any document to a clean PDF.

One container serves both the web app and its API; all data lives in PostgreSQL.

⁠Quick start

Save this as compose.yaml, then run docker compose up -d and open http://localhost:8787⁠.

services:
  db:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: invoice
      POSTGRES_PASSWORD: change-this-db-password
      POSTGRES_DB: invoice
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U invoice -d invoice"]
      interval: 5s
      retries: 10

  app:
    image: meetrix/invantra:1.0.0
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy
    environment:
      DATABASE_URL: postgres://invoice:change-this-db-password@db:5432/invoice
      ADMIN_EMAIL: [email protected]
      ADMIN_PASSWORD: change-me-at-first-login
      COOKIE_SECURE: "false"   # plain HTTP on localhost; remove behind HTTPS
    ports:
      - "8787:8787"

volumes:
  pgdata:

Sign in with ADMIN_EMAIL / ADMIN_PASSWORD; you are asked to choose a new password straight away.

⁠Configuration

VariablePurpose
DATABASE_URLPostgreSQL connection string (PostgreSQL 13 or newer). Required.
ADMIN_EMAIL, ADMIN_PASSWORDThe first admin, created only while no user exists.
PORTPort to listen on. Default 8787.
COOKIE_SECUREtrue by default. false for plain HTTP, auto behind a proxy that sets X-Forwarded-Proto.
  • Serve it over HTTPS in production, and keep the Host header intact in your reverse proxy.
  • GET /api/health returns 200 once the database is reachable; the image has a built-in HEALTHCHECK.
  • Database migrations run automatically on startup.
  • Back up the database: everything, including the logo and payment attachments, is stored there.

⁠Tags

  • 1.0.0 and other version tags never change.
  • latest follows the newest release.

Image: linux/amd64, runs as the unprivileged node user.

⁠License

MIT © Meetrix Pty Ltd.

Tag summary

Content type

Image

Digest

sha256:9026437ac…

Size

60.3 MB

Last updated

9 days ago

docker pull meetrix/invantra