Skip to content

Installation

Louis-Axel Ambroise edited this page Apr 15, 2024 · 8 revisions

Installation

This section explains different ways to setup a basic instance of the FasT&T EPCIS repository. Each of them are basic setups, if you intend to use the repository for a production environment these methods might not be suitable.

Local Instance

Prerequisites

FasTnT EPCIS relies on .NET 7 and one of the following RDBMS:

  • Sql Server (2016 or newer)
  • Postgresql 10 or newer
  • SQLite

Setup

Setup FasTnT EPCIS repository is as easy as following these 3 steps:

  1. Download the source code: $ git clone https://www.github.com/louisaxel-ambroise/epcis && cd epcis
  2. Apply database migrations: $ dotnet ef database update --project src/FasTnT.Host --connection "Data Source=fastnt.db;" -- --FasTnT.Database.Provider "Sqlite"
  3. Start the repository: $ dotnet run --project src\FasTnT.Host\FasTnT.Host.csproj --urls "http://localhost:5102/" --connectionStrings:FasTnT.Database "Data Source=fastnt.db;" --FasTnT.Database.Provider "Sqlite"

That's it! You have a properly working EPCIS repository running locally.

Microsoft Azure

It is also simple to deploy the repository in the Microsoft Azure cloud, a Terraform script was created in order to do so very easily like so:

$ terraform init
$ terraform plan --out=azure.tfplan -var 'subscription_id={your_subscription_id}' -var 'environment={your_environment}'

This script will setup an instance that uses SQLite as a storage mechanism. This might be enough for a development/testing environment.

As of January 2022, you can run an instance of FasTnT EPCIS on Microsoft Azure cloud starting at around 18€ per month.

Docker image

A Docker image is automatically generated at each release of the Repository.

It is possible to deploy an instance of FasTnT EPCIS repository using a docker-compose.yml file like this one:

services:
  epcis:
    image: ghcr.io/louisaxel-ambroise/epcis:latest
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - ASPNETCORE_URLS=http://+:80
      - FasTnT.Database.Provider=Sqlite
      - ConnectionStrings:FasTnT.Database=Data Source=local.db;
    ports:
      - "5000:80"
    volumes:
      - ~/.aspnet/https:/root/.aspnet/https:ro

Then running the $ docker-compose up command will install and run an instance of the EPCIS repository listening on the HTTP port 5000