-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathDockerfile
More file actions
44 lines (41 loc) · 1.6 KB
/
Dockerfile
File metadata and controls
44 lines (41 loc) · 1.6 KB
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
###############################################################
# Copyright (c) 2022 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
###############################################################
#
# usage:
# export NAME=portal-assets
# export IMAGE=ghcr.io/gh-example-org/$NAME
# docker build -t $IMAGE -f .conf/Dockerfile .
# docker run --rm -d -p 3000:8080 --name $NAME $IMAGE
# docker exec $NAME find /usr/share/nginx/html/
# docker stop $NAME
# docker push $IMAGE
#
# Step 1
FROM alpine:3.21 as build-step
COPY public /public
WORKDIR /public/assets
RUN find . -type f | cut -c 3- | sort > index.txt
WORKDIR /public/documentation
RUN find . -type f | cut -c 3- | sort > index.txt
# Step 2
FROM nginxinc/nginx-unprivileged:alpine
COPY .conf/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build-step /public/assets /usr/share/nginx/html/assets
COPY --from=build-step /public/documentation /usr/share/nginx/html/documentation
USER 101