ftapi/secutransfer

By ftapi

Updated about 13 hours ago

Official repository for FTAPI docker images.

Image
Security
1

100K+

ftapi/secutransfer repository overview

Official repository for FTAPI© docker images.

About FTAPI

FTAPI is a secure data workflow automation platform that ensures secure manual and automated collection, transmission, storage, and processing of data.

Made with ❤️ in Munich.

Verwendung

  • Der Container öffnet Port 8080 und erwartet einen HTTP-Reverse-Proxy (z.B. nginx)
  • Zusätzlich muss eine Datenbank (MySQL 8.0 oder Percona for MySQL) bereitgestellt werden.
  • Für MySQL muss der entsprechende Treiber in den Container gemounted werden (siehe "MySQL-Treiber einbinden")
  • Mit folgendem Befehl lässt sich der Server ausführen, wenn die entsprechende secutransfer-config-Datei existiert (siehe unten)

AB 4.48.0 & 4.49.0

docker run -v ~/.ftapi/:/var/lib/secutransfer/ \
    -v ./mysql-connector-java.jar:/usr/local/mysql/mysql-connector-j.jar \
    -v ./secutransfer-config.yaml:/config/secutransfer.yaml \
    -e SPRING_CONFIG_ADDITIONAL_LOCATION:"/config/" \
    -p 8080:8080 -- ftapi/secutransfer:latest

BIS 4.47.X

docker run -v ~/.ftapi/:/home/tomcat/.ftapi/ -v ./mysql-connector-java.jar:/usr/local/tomcat/lib/mysql-connector-java.jar -p 8080:8080 --env-file ~/ftapi.env ftapi/secutransfer:4.47.2
ÄNDERUNG DER LAUFZEITUMGEBUNG IN 4.48.0 & 4.49.0

Mit der Version 4.48.0 wird eine Änderung in der Laufzeitumbeung eingeführt, welche es notwendig macht, dass das FTAPI-HOME Volume, welches bisher unter /home/tomcat/.ftapi/ in den Container eingehängt wurde, nun unter /var/lib/secutransfer/ eingehängt werden muss.

MySQL Treiber einbinden

Der Treiber wird in Form einer .jar-Datei von Oracle zur Verfügung gestellt. Er kann auf 2 Arten eingebunden werden:

  1. Durch Download des Archivs unter https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-9.5.0.tar.gz⁠ heruntergeladen werden. Nachdem das Archiv entpackt wurde, kann man die .jar-Datei durch mounten als volume mit der -v-Option im docker run Befehl einbinden
  2. Durch Bauen eines neuen Container-Images mittels docker build unter Verwendung eines Dockerfile:

docker build -t ftapi/secutransfer-mysql:latest -f ./Dockerfile .

Dockerfile
ARG TAG=4.49.0

FROM ubuntu:latest as downloader

WORKDIR /tmp

ARG VERSION=9.2.0
RUN apt update && \
    apt install -y wget && \
    wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${VERSION}.tar.gz && \
    tar -zxf mysql-connector-java-${VERSION}.tar.gz

FROM ftapi/secutransfer:${TAG} as secutransfer

ARG VERSION=9.2.0
COPY --from=downloader /tmp/mysql-connector-java-${VERSION}/mysql-connector-java-${VERSION}.jar /usr/local/mysql/mysql-connector-j.jar

Konfiguration (ab 4.48.0)

Beispiel für eine secutransfer.yaml-Datei
# Basic Secutransfer configuration for server startup

# SSL
ftapi:
  # Database
  jdbc:
    url: "jdbc:mysql://<$host>:<$port>/<$DB-secutransfer-schema-name>?useUnicode=yes&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&driver=com.mysql.cj.jdbc.Driver"
    driver: "net.bull.javamelody.JdbcDriver"
    username: "<$mysqlUser>"
    password: "<$mysqlPassword>"
  hibernate:
    dialect: "com.ftapi.server.dao.hibernate.FTAPIMySQL8Dialect"

  # Initial server setup stuff
  #initial:
  #  server:
  #    setup:
  #      baseUrl: "https://host:port"
  #      root:
  #        admin:
  #          email: "[email protected]"
  #      customer:
  #        admin:
  #          email: "[email protected]"
  #      license: "license-text"
  #      smtp:
  #        host: "localhost"
  #        port: "1025"
  #        username: ""
  #        password: ""
  #        useSSL: "false"
  #        useTLS: "false"

Release Notes

Zu den ausführlichen Release Notes auf unserer Webseite

Dockerfile (Stand: 4.48.0)

FROM eclipse-temurin:17-jre-alpine

RUN apk update && \
    apk add --no-cache bash dumb-init && \
    addgroup -S secutransfer -g 1000 && \
    adduser -S secutransfer -G secutransfer -u 1000 --home /var/lib/secutransfer && \
    mkdir -p /var/lib/secutransfer/config && \
    chown -R secutransfer:secutransfer /var/lib/secutransfer

COPY maven/entrypoint.sh /entrypoint.sh
RUN chmod a+x /entrypoint.sh

WORKDIR /var/lib/secutransfer

COPY maven/war/META-INF /opt/secutransfer/META-INF/
COPY maven/war/org /opt/secutransfer/org/
COPY maven/war/WEB-INF /opt/secutransfer/WEB-INF/
COPY maven/war/webui /opt/secutransfer/webui/

USER secutransfer
WORKDIR /var/lib/secutransfer

ENTRYPOINT ["dumb-init", "/entrypoint.sh"]

Sie haben noch keine Lizenz? Jetzt FTAPI testen!

Tag summary

Content type

Image

Digest

sha256:a542ba657

Size

640.8 MB

Last updated

about 13 hours ago

docker pull ftapi/secutransfer