@@ -7,10 +7,12 @@ ARG NS_BUILD_HOME=/opt/ns_build
7
7
ARG PG_INCL=/usr/include/postgresql
8
8
ARG PG_LIB=/usr/lib
9
9
ARG TCL_LIB=/usr/share/tcltk
10
+ ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
11
+ ENV TCL_LIB=/usr/local/lib
10
12
11
13
# Install build dependencies
12
14
RUN apt-get update \
13
- && apt-get install -y --no-install-recommends locales unzip automake git gcc zip wget lsb-release xz-utils openssl \
15
+ && apt-get install -y --no-install-recommends locales unzip automake git gcc zip wget lsb-release xz-utils openssl build-essential zlib1g-dev libssl-dev libpq-dev \
14
16
&& locale-gen C.UTF-8 \
15
17
&& update-locale LANG=C.UTF-8 \
16
18
&& apt-get clean \
@@ -21,51 +23,7 @@ RUN apt-get update \
21
23
# Compile and install Naviserver
22
24
&& git clone https://github.com/naviserver-project/naviserver.git ${NS_BUILD_HOME}/src/naviserver \
23
25
&& cd ${NS_BUILD_HOME}/src/naviserver \
24
- && ./autogen.sh --prefix=$NS_HOME --enable-symbols --enable-threads && make
25
-
26
-
27
-
28
- # Stage 2: Create a temporary image to run 'make install'
29
- FROM ubuntu:jammy AS naviserver-installer
30
-
31
- ARG DEBIAN_FRONTEND=noninteractive
32
- ARG NS_HOME=/opt/ns
33
- ARG NS_BUILD_HOME=/opt/ns_build
34
- ARG PG_INCL=/usr/include/postgresql
35
- ARG PG_LIB=/usr/lib
36
- ARG TCL_LIB=/usr/share/tcltk
37
-
38
- COPY --from=naviserver-builder ${NS_BUILD_HOME} ${NS_BUILD_HOME}
39
- RUN apt-get update \
40
- && apt-get install -y --no-install-recommends locales make \
41
- && locale-gen C.UTF-8 \
42
- && update-locale LANG=C.UTF-8 \
43
- && apt-get clean \
44
- && apt-get autoremove -y \
45
- && rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
46
- && cd ${NS_BUILD_HOME}/src/naviserver \
47
- && make install
48
-
49
-
50
- # Stage 3: Build the an image to install additional modules
51
- FROM ubuntu:jammy AS module-installer
52
- ARG DEBIAN_FRONTEND=noninteractive
53
- ARG NS_HOME=/opt/ns
54
- ARG NS_BUILD_HOME=/opt/ns_build
55
- ARG PG_INCL=/usr/include/postgresql
56
- ARG PG_LIB=/usr/lib
57
- ARG TCL_LIB=/usr/share/tcltk
58
-
59
- COPY --from=naviserver-installer ${NS_HOME} ${NS_HOME}
60
- RUN apt-get update \
61
- && apt-get install -y --no-install-recommends locales unzip tcl tcl-dev tcllib tdom tcl-tls tcl-thread libssl-dev libpng-dev libpq-dev automake nsf nsf-shells fortune fortunes imagemagick file git gcc zip libcurl4-openssl-dev wget iputils-ping brotli libxml2-utils curl ca-certificates gnupg2 lsb-release xz-utils make \
62
- && locale-gen C.UTF-8 \
63
- && update-locale LANG=C.UTF-8 \
64
- && apt-get clean \
65
- && apt-get autoremove -y \
66
- && rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
67
- && git config --global http.sslverify false \
68
- && git config --global https.sslverify false \
26
+ && ./autogen.sh --prefix=$NS_HOME --enable-threads --enable-64bit && make && make install \
69
27
# Compile and install NS_DBPG
70
28
&& git clone https://github.com/naviserver-project/nsdbpg.git ${NS_BUILD_HOME}/src/nsdbpg \
71
29
&& cd ${NS_BUILD_HOME}/src/nsdbpg \
@@ -95,29 +53,22 @@ RUN apt-get update \
95
53
&& cd ${NS_BUILD_HOME}/src/nsstats \
96
54
&& make NAVISERVER=$NS_HOME && make NAVISERVER=$NS_HOME install \
97
55
&& rm -rf ${NS_BUILD_HOME}/src
56
+
57
+
98
58
99
59
# Stage 2: Final Image
100
60
FROM siqsuruq/ubuntu-tcl
101
61
102
- LABEL maintainer=
"[email protected] "
103
- LABEL version="0.3"
104
- LABEL description="This is custom Docker Image for Naviserver"
105
-
106
62
ARG DEBIAN_FRONTEND=noninteractive
107
63
ARG NS_HOME=/opt/ns
108
- ARG NS_BUILD_HOME=/opt/ns_build
109
- ARG PG_INCL=/usr/include/postgresql
110
- ARG PG_LIB=/usr/lib
111
64
ARG TCL_LIB=/usr/share/tcltk
112
- ENV LC_ALL=C.UTF-8
65
+ ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
113
66
114
- COPY --from=module-installer ${NS_HOME} ${NS_HOME}
67
+ COPY --from=naviserver-builder ${NS_HOME} ${NS_HOME}
115
68
116
69
# Compile and install NS
117
70
RUN apt-get update \
118
- && apt-get install -y --no-install-recommends locales \
119
- && locale-gen C.UTF-8 \
120
- && update-locale LANG=C.UTF-8 \
71
+ && apt-get install -y --no-install-recommends fortune imagemagick brotli libxml2 \
121
72
&& apt-get clean \
122
73
&& apt-get autoremove -y \
123
74
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
0 commit comments