Skip to main content

Installation

Requirements

Hardware:

  • 4 Gb of memory
  • 2 CPUs

Software:

Docker Compose

In a new folder, create a docker-compose.yml file with the following content:

docker-compose.md
services:
invoice-collector:
image: ghcr.io/invoice-collector/invoice-collector:latest
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:8080
depends_on:
- mongodb
environment:
- PORT=8080
- REGISTRY_SERVER_ENDPOINT=https://registry.invoice-collector.com
- DATABASE_URI=mongodb://mongodb:27017
- DATABASE_MONGODB_NAME=prod
- SECRET_MANAGER_TYPE=bitwarden
- SECRET_MANAGER_BITWARDEN_API_URI=https://vault.bitwarden.eu/api
- SECRET_MANAGER_BITWARDEN_IDENTITY_URI=https://vault.bitwarden.eu/identity
- SECRET_MANAGER_BITWARDEN_ACCESS_TOKEN=
- SECRET_MANAGER_BITWARDEN_ORGANIZATION_ID=
- SECRET_MANAGER_BITWARDEN_PROJECT_ID=
- PROXY_TYPE=none
- ENV=prod
command: npm run start

mongodb:
image : mongo:8.0.3
container_name: mongodb
volumes:
- ./mongodb/data:/data/db
- ./mongodb/config:/etc/mongo/
ports:
- 27017:27017
command: --logpath /dev/null

Checkout the environment variables page to see what to set.

Start & Stop

Start the container:

docker-compose up -d
INFO

From this point on, we will assume that the Invoice-Collector Container is reachable at http://localhost:8080.

Stop the container:

docker-compose down

Updates

Collectors are always changing and the invoice-collector image as well to keep them up-to-date. We strongly recommend to automatically update the container on new releases. Check your host documentation on how to do it.

You can still update the container manually by running:

docker-compose down
docker-compose pull
docker-compose up -d

Deployments

Follow our tutorials to deploy the container on your cloud provider: