Fix docker build

This commit is contained in:
Chris
2022-05-12 19:43:04 -04:00
parent 770b19243d
commit c587bd4bf1
3 changed files with 42 additions and 14 deletions

6
.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
Dockerfile
.dockerignore
node_modules
npm-debug.log
README.md
.git

View File

@@ -41,12 +41,18 @@ jobs:
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
- run: yarn install --frozen-lockfile
- run: yarn export
- run: yarn build
- name: Cache build output
uses: actions/cache@v2
id: restore-build
with:
path: ./out/
path: |
./next.config.js
./pages/
./public/
./.next/static/
./.next/standalone/
./packages.jsan
key: ${{ github.sha }}
docker:
@@ -61,16 +67,20 @@ jobs:
- uses: actions/cache@v2
id: restore-build
with:
path: ./out/
path: |
./next.config.js
./pages/
./public/
./.next/static/
./.next/standalone/
./packages.jsan
key: ${{ github.sha }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
# list of Docker images to use as base name for tags
images: |
ajnart/homarr
ghcr.io/ajnart/homarr
images: ghcr.io/${{ github.repository }}
# generate Docker tags based on the following events/attributes
tags: |
type=raw,value=latest,enable={{is_default_branch}}
@@ -79,12 +89,6 @@ jobs:
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GHCR
if: github.event_name != 'pull_request'
uses: docker/login-action@v2

View File

@@ -1,2 +1,20 @@
FROM nginx:alpine
COPY ./out /usr/share/nginx/html
FROM node:16-alpine
WORKDIR /app
ENV NODE_ENV production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY /next.config.js ./
COPY /public ./public
COPY /package.json ./package.json
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --chown=nextjs:nodejs /.next/standalone ./
COPY --chown=nextjs:nodejs /.next/static ./.next/static
USER nextjs
EXPOSE 7575
ENV PORT 7575
VOLUME /app/data/configs
CMD ["node", "server.js"]