-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
144 lines (131 loc) · 2.99 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
FROM alpine:3.20.2 AS builder
LABEL Description="Finance Build Container for aqbanking"
# install prerequisited
RUN \
set -x && \
apk add \
autoconf \
automake \
bash \
build-base \
bzip2 \
curl \
gettext-dev \
glib-dev \
git \
gmp-dev \
gnutls-dev \
intltool \
libffi-dev \
libgcrypt-dev \
libtool \
libxslt-dev \
libxml2-dev \
mysql-dev \
xmlsec-dev
#----- end for alpine
# gwenhywfar
RUN \
set -x && \
git clone https://git.aquamaniac.de/git/gwenhywfar.git && \
cd gwenhywfar && \
git checkout tags/5.11.2beta && \
sed -i 's:i18n_libs="$LIBS":i18n_libs="$LIBS -lintl":' configure.ac && \
make -f Makefile.cvs && \
./configure \
CFLAGS=-Wno-error=deprecated-declarations \
--with-guis="cpp" \
--enable-error-on-warning \
--disable-network-checks && \
make && \
make install && \
make DESTDIR=$PWD/dist install
# aqbanking
RUN \
set -x && \
git clone https://git.aquamaniac.de/git/aqbanking.git && \
cd aqbanking && \
git checkout a38baa2401316cb53cc67416e088ffda6704216f && \
sed -i 's:i18n_libs="$LIBS":i18n_libs="$LIBS -lintl":' configure.ac && \
ACLOCAL_FLAGS="-I /usr/local/share/aclocal" make -f Makefile.cvs && \
./configure && \
make typedefs && \
make typefiles && \
make && \
make install && \
make DESTDIR=$PWD/dist install
# pxlib, a paradox DB library
RUN \
set -x && \
curl -L http://downloads.sourceforge.net/sourceforge/pxlib/pxlib-0.6.8.tar.gz | tar xvz && \
cd pxlib-0.6.8 && \
touch config.rpath && \
autoreconf && \
./configure \
--prefix=/usr/local \
--with-gsf \
--disable-static && \
make && \
make install && \
make DESTDIR=$PWD/dist install
# fntxt2sql
RUN \
mkdir /fntxt2sql
COPY fntxt2sql/* /fntxt2sql/
RUN \
set -x && \
cd fntxt2sql && \
make clean && \
make && \
mkdir -p dist/usr/local/bin && \
cp -a fntxt2sql dist/usr/local/bin/
##############################################################################
FROM alpine:3.20.2
LABEL org.opencontainers.image.authors="Stefan Schallenberg aka nafets227 <[email protected]>"
LABEL Description="Finance Container"
VOLUME /finance
ARG DEBUG=0
RUN \
set -x && \
apk add --no-cache --update \
bash \
ca-certificates \
findutils \
gettext \
grep \
iputils \
mariadb-client \
mariadb-connector-c \
s-nail \
xmlsec \
gmp \
gnutls \
bind-tools \
&& \
if [ "$DEBUG" == "1" ] ; then \
echo deleting files not needed: && \
find \
/var/cache/apk \
/usr/share/man \
/tmp \
/var/tmp \
-type f \
; \
fi && \
rm -rf \
/var/cache/apk/* \
/usr/share/man/* \
/tmp/* \
/var/tmp/*
COPY --from=builder /gwenhywfar/dist/usr/local /usr/local
COPY --from=builder /aqbanking/dist /
COPY --from=builder /pxlib-0.6.8/dist /
COPY --from=builder /fntxt2sql/dist /
# copy and install additional scripts
COPY finance-root-wrapper finance-entrypoint /usr/local/bin/
RUN \
set -x && \
adduser -D -h /finance finance finance && \
chown root:root /usr/local/bin/* && \
chmod 755 /usr/local/bin/*
ENTRYPOINT [ "/usr/local/bin/finance-root-wrapper" ]