commit 8201edbdb3847e5b45f7a5b2fe9d8657bb30b6ba
parent cfa5e2dacb4e9b5a58a7475d1f3a56969a909298
Author: Antoine A <>
Date: Fri, 5 Dec 2025 17:33:59 +0100
ebisync: add deb
Diffstat:
10 files changed, 88 insertions(+), 23 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -27,6 +27,7 @@ common/src/main/resources/version.txt
debian/libeufin-bank
debian/libeufin-common
debian/libeufin-nexus
+debian/libeufin-ebisync
debian/files
debian/*.substvars
debian/*debhelper*
diff --git a/debian/control b/debian/control
@@ -37,3 +37,12 @@ Recommends:
nginx | apache2 | httpd,
postgresql (>= 14.0)
Description: Software package to access a bank accounts via the EBICS protocol.
+
+Package: libeufin-ebisync
+Architecture: all
+Depends:
+ default-jre-headless | java-runtime-headless (>= 17),
+ ${misc:Depends}
+Recommends:
+ postgresql (>= 14.0)
+Description: Software package to sync ISO20022 files via the EBICS protocol.
diff --git a/debian/libeufin-ebisync.conf b/debian/libeufin-ebisync.conf
@@ -0,0 +1,2 @@
+# Create service user
+u! libeufin-ebisync - "LibEuFin EbiSync" -
+\ No newline at end of file
diff --git a/debian/libeufin-ebisync.install b/debian/libeufin-ebisync.install
@@ -0,0 +1,15 @@
+debian/etc/libeufin-ebisync/* etc/libeufin-ebisync/
+
+libeufin-ebisync/build/install/libeufin-ebisync-shadow/bin/libeufin-ebisync usr/bin/
+
+database-versioning/versioning.sql usr/share/libeufin-ebisync/sql/
+database-versioning/libeufin-ebisync*.sql usr/share/libeufin-ebisync/sql/
+
+libeufin-ebisync/ebisync.conf usr/share/libeufin-ebisync/config.d/
+
+libeufin-ebisync/build/install/libeufin-ebisync-shadow/lib/libeufin-ebisync-all.jar usr/lib/
+
+doc/prebuilt/man/libeufin-ebisync.1 usr/share/man/man1
+doc/prebuilt/man/libeufin-ebisync.conf.5 usr/share/man/man5
+
+debian/libeufin-ebisync.conf /usr/lib/sysusers.d/
+\ No newline at end of file
diff --git a/debian/libeufin-ebisync.libeufin-ebisync-ebics-fetch.service b/debian/libeufin-ebisync.libeufin-ebisync-ebics-fetch.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=LibEuFin EbiSync fetch service.
+After=postgres.service network.target
+PartOf=libeufin-ebisync.target
+
+[Service]
+User=libeufin-ebisync
+ExecStart=/usr/bin/libeufin-ebisync fetch -c /etc/libeufin-ebisync/ebisync.conf
+Restart=on-failure
+RestartSec=1s
+StandardOutput=journal
+StandardError=journal
+PrivateTmp=yes
+PrivateDevices=yes
+ProtectSystem=full
+Slice=libeufin-ebisync.slice
+
+[Install]
+WantedBy=multi-user.target
diff --git a/debian/libeufin-ebisync.libeufin-ebisync.slice b/debian/libeufin-ebisync.libeufin-ebisync.slice
@@ -0,0 +1,7 @@
+[Unit]
+Description=Slice for GNU Taler LibEuFin EbiSync processes
+Before=slices.target
+
+[Slice]
+# Add settings that should affect all GNU Taler LibEuFin EbiSync
+# components here.
diff --git a/debian/libeufin-ebisync.postinst b/debian/libeufin-ebisync.postinst
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
+ if [ -x "$(command -v systemd-sysusers)" ]; then
+ systemd-sysusers
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
+\ No newline at end of file
diff --git a/debian/libeufin-ebisync.target b/debian/libeufin-ebisync.target
@@ -0,0 +1,8 @@
+[Unit]
+Description=LibEuFin EbiSync
+After=postgres.service network.target
+
+Wants=libeufin-ebisync-ebics-fetch.service
+
+[Install]
+WantedBy=multi-user.target
+\ No newline at end of file
diff --git a/debian/libeufin-ebisync.tmpfiles b/debian/libeufin-ebisync.tmpfiles
@@ -0,0 +1,2 @@
+# Create home directory
+d$ /var/lib/libeufin-ebisync 0700 libeufin-ebisync libeufin-ebisync - -
+\ No newline at end of file
diff --git a/libeufin-ebisync/ebisync.conf b/libeufin-ebisync/ebisync.conf
@@ -30,13 +30,6 @@ CLIENT_PRIVATE_KEYS_FILE = ${EBISYNC_HOME}/client-ebics-keys.json
# Bank authentication public key hash
# BANK_AUTHENTICATION_PUB_KEY_HASH =
-[ebisyncdb-postgres]
-# Where are the SQL files to setup our tables?
-SQL_DIR = $DATADIR/sql/
-
-# DB connection string
-CONFIG = postgres:///libeufin-ebisync
-
[ebisync-fetch]
# How often should ebics-fetch run when the bank does not support real time notification
FREQUENCY = 30m
@@ -47,7 +40,7 @@ CHECKPOINT_TIME_OF_DAY = 19:00
# Where should the ebics file be stored? This can only be azure-blob-storage
DESTINATION = azure-blob-storage
-# Azure API account url
+# Azure API account base url
AZURE_API_URL =
# Azure API account name
@@ -59,18 +52,9 @@ AZURE_ACCOUNT_KEY =
# Which Azure Blob Storage container to use
AZURE_COUNTAINER =
-[ebisync-httpd]
-# How "libeufin-ebisync serve" serves its API, this can either be tcp or unix
-SERVE = tcp
-
-# Port on which the HTTP server listens, e.g. 9967. Only used if SERVE is tcp.
-PORT = 8080
-
-# Which IP address should we bind to? E.g. ``127.0.0.1`` or ``::1``for loopback. Can also be given as a hostname. Only used if SERVE is tcp.
-BIND_TO = 0.0.0.0
-
-# Which unix domain path should we bind to? Only used if SERVE is unix.
-# UNIXPATH = libeufin-ebisync.sock
+[ebisyncdb-postgres]
+# Where are the SQL files to setup our tables?
+SQL_DIR = $DATADIR/sql/
-# What should be the file access permissions for UNIXPATH? Only used if SERVE is unix.
-# UNIXPATH_MODE = 660
-\ No newline at end of file
+# DB connection string
+CONFIG = postgres:///libeufin-ebisync
+\ No newline at end of file