Get StartedQuickstart

GET STARTED

Quickstart

Get your Invenicum instance running and create your first AI-assisted collection in under 10 minutes.


Prerequisites

Docker

Container engine and Docker Compose installed.

GET DOCKER

Gemini API Key

Required for AI-powered object recognition.

GET KEY

PostgreSQL

Primary database (v15+ recommended).

Included in Compose

Note: Invenicum uses the Google Gemini API, so you don’t need a powerful local GPU to process your item images.

Quick Setup

Step 01

Create Docker Compose Configuration

Create a docker-compose.yml file with the following content:

docker-compose.yml
version: '3.8'
services:
invenicum:
  image: ghcr.io/lopiv2/invenicum:latest
  container_name: invenicum
  restart: unless-stopped
  ports:
    - "3000:3000"
  environment:
    NODE_ENV: production

    # External database (MariaDB/MySQL)
    DB_HOST: 192.168.1.100
    DB_PORT: 3306
    DB_USER: invenicum_user
    DB_PASSWORD: change_this_password
    DB_NAME: invenicum

    # JWT security (change to a long unique value)
    JWT_SECRET: change_this_jwt_secret
    JWT_EXPIRES_IN: 24h

    # Upload folder
    UPLOAD_FOLDER: uploads/inventory

    # GitHub OAuth (optional, leave empty if not used. MANDATORY for GitHub login)
    GITHUB_CLIENT_ID: ""
    GITHUB_CLIENT_SECRET: ""

    # Minimum supported client app version
    MIN_SUPPORTED_APP_VERSION: 0.0.0
  volumes:
    - uploads_data:/app/uploads/inventory

Step 02

Start the Services

Run the following command in your terminal within the same folder:

docker-compose up -d
  • Docker will pull the image and start the services in the background.

Step 03

Access the Dashboard

Open your browser and go to http://localhost:3000. Follow the steps to create your initial admin account.

Step 04

Create Your First Container

Create a container (e.g., “Shelf A” or “Toolbox”). These are the physical locations where you will organize your assets.

Step 05

Define an Asset Type

”Asset Types are templates for your items.”

  • Add a type (e.g., “Electronics”)
  • Define custom fields you need to track.
Step 06

Add Your First Item with AI

Veni Chat

”Add a blue Bosch drill that is in the garage…”

URL Import

Autofill data by pasting an Amazon or eBay link.

Barcode

Scan barcodes and let the AI find the metadata.

GitHub OAuth (Self-Hosted Admin Setup)

Who configures this?

In self-hosted deployments, GitHub OAuth is configured once by the instance administrator (the person who deploys the server), not by every end user.

OAuth Step 01

Create a GitHub OAuth App

In GitHub, go to Developer settings and create a new OAuth App for this specific Invenicum instance.

OAuth Step 02

Set the Authorization Callback URL

The callback must match your deployed URL. For web, use your instance origin (for example http://192.168.1.136:3002/ or https://inventory.example.com/).

If you run multiple environments (local/staging/production), create one OAuth App per environment to keep callbacks clean and avoid redirect mismatches.

OAuth Step 03

Add credentials to your environment

Copy the Client ID and Client Secret to your server environment variables.

.env (or docker-compose environment)
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

# Optional: only needed if you want to force a specific redirect URI
# for non-web/native flows.
GITHUB_REDIRECT_URI=
OAuth Step 04

Restart and verify

  • Restart the backend after changing environment variables.
  • Open your profile and click “Connect GitHub”.
  • If GitHub shows a redirect URI error, verify callback URL and protocol (http/https) exactly.

Troubleshooting

Port 3000 is already in use

If port 3000 is occupied, edit your docker-compose.yml and change the ports line to “3001:3000”.

Database connection failed

Ensure the database container is running with docker ps and that credentials in DB_URL match the database settings.

Can’t connect to Gemini AI

Check that your API key is valid in Google AI Studio and that your server has internet access for external requests.

Getting Help