karideo/Dockerfile

72 lines
2.1 KiB
Docker
Raw Normal View History

######################################################################################
##
## buyilding-end install applications:
##
######################################################################################
FROM archlinux:base-devel AS builder
# update system
RUN pacman -Syu --noconfirm && pacman-db-upgrade \
2024-04-18 00:01:26 +02:00
&& pacman -S --noconfirm jdk-openjdk maven npm pnpm \
&& pacman -Scc --noconfirm
ENV PATH /tmp/node_modules/.bin:$PATH
WORKDIR /tmp
######################################################################################
##
## Build back:
##
######################################################################################
FROM builder AS buildBack
COPY back/pom.xml /tmp
COPY back/src /tmp/src/
RUN mvn clean compile assembly:single
######################################################################################
##
## Build front:
##
######################################################################################
FROM builder AS buildFront
2024-04-18 00:01:26 +02:00
RUN echo "@kangaroo-and-rabbit:registry=https://gitea.atria-soft.org/api/packages/kangaroo-and-rabbit/npm/" > /root/.npmrc
ADD front/package.json \
front/karma.conf.js \
front/protractor.conf.js \
/tmp/
# install and cache app dependencies
2024-04-18 00:01:26 +02:00
RUN pnpm install
ADD front/e2e \
front/tsconfig.json \
front/tslint.json \
front/angular.json \
/tmp/
ADD front/src /tmp/src
# generate build
RUN ng build --output-path=dist --configuration=production --base-href=/karideo/ --deploy-url=/karideo/
######################################################################################
##
## Production area:
##
######################################################################################
FROM bellsoft/liberica-openjdk-alpine:latest
# add wget to manage the health check...
RUN apk add --no-cache wget
ENV LANG=C.UTF-8
COPY --from=buildBack /tmp/out/maven/*.jar /application/application.jar
2022-12-14 23:45:20 +01:00
COPY --from=buildFront /tmp/dist /application/front/
WORKDIR /application/
2022-10-11 22:02:46 +02:00
EXPOSE 80
CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.kar.karideo.WebLauncher"]