Skip to content

Commit 1fa8f5d

Browse files
committed
Initial commit
0 parents  commit 1fa8f5d

File tree

231 files changed

+36036
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

231 files changed

+36036
-0
lines changed

.dockerignore

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
### Application ###
2+
backend/main/resources/templates/error/404.html
3+
backend/main/resources/templates/error/error.html
4+
backend/main/resources/templates/error.html
5+
backend/main/resources/templates/index.html
6+
backend/main/resources/static/**
7+
8+
### Gradle ###
9+
HELP.md
10+
.gradle
11+
build/
12+
!gradle/wrapper/gradle-wrapper.jar
13+
!**/src/main/**/build/
14+
!**/src/test/**/build/
15+
16+
### Node and NPM ###
17+
node_modules
18+
/frontend/node_modules
19+
/frontend/lcov.info
20+
/dist
21+
/tests/e2e/videos/
22+
/tests/e2e/screenshots/
23+
24+
#### Local env files ###
25+
.env.local
26+
.env.*.local
27+
28+
### Log files ###
29+
npm-debug.log*
30+
yarn-debug.log*
31+
yarn-error.log*
32+
pnpm-debug.log*
33+
34+
### Editor directories and files ###
35+
*.suo
36+
*.ntvs*
37+
*.njsproj
38+
*.sln
39+
*.sw?
40+
41+
### STS ###
42+
.apt_generated
43+
.classpath
44+
.factorypath
45+
.project
46+
.settings
47+
.springBeans
48+
.sts4-cache
49+
bin/
50+
!**/src/main/**/bin/
51+
!**/src/test/**/bin/
52+
53+
### IntelliJ IDEA ###
54+
.idea
55+
*.iws
56+
*.iml
57+
*.ipr
58+
out/
59+
!**/src/main/**/out/
60+
!**/src/test/**/out/
61+
62+
### NetBeans ###
63+
/nbproject/private/
64+
/nbbuild/
65+
/dist/
66+
/nbdist/
67+
/.nb-gradle/
68+
69+
### VS Code ###
70+
.vscode/
71+
72+
73+
### OS generated stuff ###
74+
.DS_Store
75+
.DS_Store?
76+
._*
77+
.Spotlight-V100
78+
.Trashes
79+
ehthumbs.db
80+
Thumbs.db

.gitignore

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
### Application ###
2+
backend/main/resources/templates/error/404.html
3+
backend/main/resources/templates/error/error.html
4+
backend/main/resources/templates/error.html
5+
backend/main/resources/templates/index.html
6+
backend/main/resources/static/**
7+
8+
frontend/stats.json
9+
frontend/dist
10+
11+
### Gradle ###
12+
HELP.md
13+
.gradle
14+
build/
15+
!gradle/wrapper/gradle-wrapper.jar
16+
!**/src/main/**/build/
17+
!**/src/test/**/build/
18+
19+
### Node and NPM ###
20+
node_modules
21+
/dist
22+
/tests/e2e/videos/
23+
/tests/e2e/screenshots/
24+
25+
#### Local env files ###
26+
.env.local
27+
.env.*.local
28+
29+
### Log files ###
30+
npm-debug.log*
31+
yarn-debug.log*
32+
yarn-error.log*
33+
pnpm-debug.log*
34+
35+
### Editor directories and files ###
36+
*.suo
37+
*.ntvs*
38+
*.njsproj
39+
*.sln
40+
*.sw?
41+
42+
### STS ###
43+
.apt_generated
44+
.classpath
45+
.factorypath
46+
.project
47+
.settings
48+
.springBeans
49+
.sts4-cache
50+
bin/
51+
!**/src/main/**/bin/
52+
!**/src/test/**/bin/
53+
54+
### IntelliJ IDEA ###
55+
.idea
56+
*.iws
57+
*.iml
58+
*.ipr
59+
out/
60+
!**/src/main/**/out/
61+
!**/src/test/**/out/
62+
63+
### NetBeans ###
64+
/nbproject/private/
65+
/nbbuild/
66+
/dist/
67+
/nbdist/
68+
/.nb-gradle/
69+
70+
### VS Code ###
71+
.vscode/
72+
73+
### OS generated stuff ###
74+
.DS_Store
75+
.DS_Store?
76+
._*
77+
.Spotlight-V100
78+
.Trashes
79+
ehthumbs.db
80+
Thumbs.db
81+

Dockerfile

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# THIS DOCKERFILE IS NOT FOR DEPLOYMENT OR PROD USAGE BUT RATHER TO USE IN CASE WHERE GRADLE IS NOT AVAILABLE.
2+
FROM node:lts-alpine as frontend
3+
WORKDIR /workspace/app
4+
COPY frontend ./
5+
6+
RUN npm ci && npm run test:unit:ci && npm run build
7+
8+
FROM amazoncorretto:17-alpine-jdk as backend
9+
WORKDIR /workspace/app
10+
COPY . .
11+
RUN rm -rf backend/main/resources/static/** && \
12+
rm -f backend/main/resources/templates/error/404.html && \
13+
rm -f backend/main/resources/templates/error/error.html && \
14+
rm -f backend/main/resources/templates/index.html
15+
16+
COPY --from=frontend /workspace/app/dist/index.html backend/main/resources/templates/index.html
17+
COPY --from=frontend /workspace/app/dist/index.html backend/main/resources/templates/error/404.html
18+
COPY --from=frontend /workspace/app/dist/assets backend/main/resources/static/assets
19+
20+
RUN file="index.$(ls frontend/dist/assets/index.*.css | sort -V | cut -d. -f2).css" && \
21+
mv backend/main/resources/templates/errorTemplate.html backend/main/resources/templates/error/error.html && \
22+
sed -i "s/__REPLACE__/$file/g" backend/main/resources/templates/error/error.html && \
23+
sed -i "s/\/\/DO_NOT_REMOVE/tasks.getByName<Jar>(\"jar\") { enabled = false }/g" build.gradle.kts && \
24+
chmod u+x gradlew && \
25+
apk add nodejs npm && \
26+
./gradlew clean build && \
27+
cp build/libs/*.jar build/libs/app.jar
28+
29+
FROM amazoncorretto:17-alpine
30+
31+
ARG USER=appuser
32+
33+
ENV HOME /home/$USER
34+
35+
RUN apk add --no-cache tzdata && \
36+
ls /usr/share/zoneinfo && \
37+
cp /usr/share/zoneinfo/UTC /etc/localtime && \
38+
echo "UTC" > /etc/timezone && \
39+
apk del tzdata && \
40+
adduser -D $USER && \
41+
mkdir -p /etc/sudoers.d && \
42+
echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER && \
43+
chmod 0440 /etc/sudoers.d/$USER
44+
45+
ENV TZ=UTC
46+
ENV JAVA_TOOL_OPTIONS="-Xms1800M -Xmx2000M"
47+
48+
USER $USER
49+
WORKDIR $HOME
50+
51+
COPY --from=backend /workspace/app/build/libs/app.jar ./app.jar
52+
53+
EXPOSE 8080
54+
55+
ENTRYPOINT ["java","-jar","app.jar"]

0 commit comments

Comments
 (0)