blob: 14733c0a159d17696dea38910586abededa02cbf (
plain)
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
|
FROM alpine:3.18
ARG GIT_COMMIT=unspecified
LABEL git_commit=$GIT_COMMIT
########################
# Build Traccar server #
########################
RUN apk add --no-cache --no-progress \
gcompat \
libgcc \
libstdc++ \
openjdk11-jre-headless
WORKDIR /opt/build-server
ADD build.gradle ./
ADD gradle ./gradle
ADD gradlew ./
ADD settings.gradle ./
ADD src ./src
RUN ./gradlew assemble
####################
# Build Traccar UI #
####################
RUN apk add --no-cache --no-progress npm
WORKDIR /opt/build-modern
ADD traccar-web/modern/.eslintrc.json ./
ADD traccar-web/modern/.npmrc ./
ADD traccar-web/modern/index.html ./
ADD traccar-web/modern/package.json ./
ADD traccar-web/modern/package-lock.json ./
ADD traccar-web/modern/vite.config.js ./
ADD traccar-web/modern/public/ ./public
ADD traccar-web/modern/src/ ./src
RUN echo "ESLINT_NO_DEV_ERRORS=false" > .env && \
echo 'VITE_APP_VERSION=$npm_package_version' >> .env && \
echo 'timeout=60000' > ~/.npmrc && \
npm install && \
npm run build
##################
# Deploy locally #
##################
RUN mkdir -p /opt/traccar && \
cp -r /opt/build-server/target/* /opt/traccar/ && \
cp -r /opt/build-modern/build /opt/traccar/modern
ADD setup/default.xml /opt/traccar/conf/default.xml
ADD setup/traccar.xml /opt/traccar/conf/traccar.xml
ADD schema /opt/traccar/schema
ADD templates /opt/traccar/templates
###########
# Cleanup #
###########
RUN rm -r /opt/build-server && \
rm -r /opt/build-modern
WORKDIR /opt/traccar
CMD ["/usr/bin/java", "-Xms1g", "-Xms1g", "-jar", "tracker-server.jar", "-c", "conf/traccar.xml"]
|