Installation on Docker Container Runtimes

Components

An AS2G Docker deployment contains three basic components:

  1. Web interface, backend
  2. AS2 processing component, broker
  3. Database

Database can be deployed either

AS2G has been tested against MySQL 8.x, PostgreSQL 12.x and Microsoft SQL Server (MSSQL/T-SQL); make sure that you pick backend/broker images compatible with the expected database deployment.

Additionally, statistics can be enabled by plugging in an Elasticsearch instance. This instance must be accessible over the ES REST API as well as the transport endpoint (X protocol).

Resource Allocation

Following minimal configurations (RAM: MB, CPU: cores, disk: GB) are expected for a Docker deployment. Refer to the Configuration Reference for more details and fine-tuning.

ComponentRAMCPUDisk
backend2560.50.1
broker51211
database512110

NOTE: Database resource allocation largely depends on deployment nature:

  • RAM/CPU: number of files/messages expected to be processed concurrently
  • Disk: data retention period and average size of a message/file; for outgoing messages, size should be counted twice. For example, a 30-day retention of 50/day incoming (2MB avg.) and 75/day outgoing (1.5MB avg.) messages, will consume: 30 * (50 * 2 + 75 * 2 * 1.5) = 9.75GB (at least)

Startup

During the first run, system will auto-initialize the database schema. For this:

  • backend should be launched before broker.
  • backend needs a small additional time (usually < 1min) to initialize the database schema.
  • after backend becomes accessible, it is safe to launch broker.

When launch is complete, backend (configuration web/browser interface) will be available via http://{backend pod host}:8080, and broker (AS2 receiving endpoint) via http://{broker pod host}:8280 by default.

Configuration / Customization

Settings can be applied via environment variables (replacing dots . on property keys with underscores _), or added to backend application.properties and broker default.properties.

Changes take effect after application restart.