AS4 Microservices Docker-Compose Dokumentation

Standardmäßig wird das AS4 Systems über eine docker-compose Datei bereitgestellt. Unsere Empfehlung ist es, auf gleicher Dateiebene ein Verzeichnis conf mit Unterverzeichnissen für jeden Service anzulegen, in dem dann die dazugehörigen Properties Dateien gelegt werden.

version: "3.7"
 
networks:
  default:
    name: localas4
 
volumes:
    as4-database:
     
services:
    as4-database:
        image: docker.io/library/postgres:14.1-alpine
        container_name: as4-database
        hostname: as4-database
        restart: always
        ports:
            - "5435:5432"
        environment:
            - TZ=${TIME_ZONE}
            - POSTGRES_USER=postgres
            - POSTGRES_PASSWORD=${AS4_DATABASE_PASSWORD}
        volumes:
            - as4-database:/var/lib/postgresql/data
            - ./conf/as4-database/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d/
    as4-outbound-market-message-service:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-outbound-market-message-service:${VERSION_OUTBOUND_MARKET_MESSAGE_SERVICE}
        container_name: as4-outbound-market-message-service
        restart: always
        ports:
            - "8081:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-outbound-market-message-service.properties
            - TZ=${TIME_ZONE}
        volumes:
            - ./conf/as4-outbound-market-message-service/:/var/lib/config
    as4-outbound-sender:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-outbound-sender:${VERSION_OUTBOUND_SENDER}
        container_name: as4-outbound-sender
        restart: always
        ports:
            - "8082:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-outbound-sender.properties
            - TZ=${TIME_ZONE}
        volumes:
            - ./conf/as4-outbound-sender/:/var/lib/config
    as4-inbound-endpoint:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-inbound-endpoint:${VERSION_INBOUND_ENDPOINT}
        container_name: as4-inbound-endpoint
        restart: always
        hostname: as4-inbound-endpoint
        ports:
            - "8083:8080"
        expose:
            - "8083"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-inbound-endpoint.properties
            - TZ=${TIME_ZONE}
        volumes:
            - ./conf/as4-inbound-endpoint:/var/lib/config
            - ./conf/workspace/:/workspace/as4-data
    as4-inbound-market-message-service:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-inbound-market-message-service:${VERSION_INBOUND_MARKET_MESSAGE_SERVICE}
        container_name: as4-inbound-market-message-service
        restart: always
        ports:
            - "8084:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-inbound-market-message-service.properties
            - TZ=${TIME_ZONE}
        volumes:
            - ./conf/as4-inbound-market-message-service/:/var/lib/config
    as4-address-service:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-address-service:${VERSION_ADDRESS_SERVICE}
        container_name: as4-address-service
        depends_on:
            - as4-database
        restart: always
        ports:
            - "8085:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-address-service.properties
            - TZ=${TIME_ZONE}
            - DB_PASSWORD=${AS4_DATABASE_PASSWORD}
        volumes:
            - ./conf/as4-address-service/:/var/lib/config
    as4-message-service:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-message-service:${VERSION_MESSAGE_SERVICE}
        container_name: as4-message-service
        depends_on:
            - as4-database
        restart: always
        ports:
            - "8086:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-message-service.properties
            - TZ=${TIME_ZONE}
            - DB_PASSWORD=${AS4_DATABASE_PASSWORD}
        volumes:
            - ./conf/as4-message-service/:/var/lib/config
    as4-receipt-service:
        image:  docker-nob-erp.next-level-apps.com/aep/as4/as4-receipt-service:${VERSION_RECEIPT_SERVICE}
        container_name: as4-receipt-service
        restart: always
        ports:
            - "8095:8080"
        environment:
            - SPRING_CONFIG_ADDITIONAL-LOCATION=/var/lib/config/as4-receipt-service.properties
            - TZ=${TIME_ZONE}
        volumes:
            - ./conf/as4-receipt-service/:/var/lib/config
COMPOSE_PROJECT_NAME=AS4-Market-Communication

TIME_ZONE=Europe/Berlin

#Image versions
VERSION_OUTBOUND_MARKET_MESSAGE_SERVICE=2023-02-08
VERSION_OUTBOUND_SENDER=2023-02-08
VERSION_INBOUND_ENDPOINT=2023-02-08
VERSION_INBOUND_MARKET_MESSAGE_SERVICE=2023-02-08
VERSION_ADDRESS_SERVICE=2023-02-08
VERSION_MESSAGE_SERVICE=2023-02-08
VERSION_RECEIPT_SERVICE=2023-02-08

AS4_DATABASE_PASSWORD=admin
docker-compose --env-file .env up -d
View Me   Edit Me