Skip to content

Commit

Permalink
Add vite compilation step & DROP ARMV6 (#168)
Browse files Browse the repository at this point in the history
  • Loading branch information
ildyria authored Dec 24, 2023
1 parent b39e8db commit a1a5a59
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 22 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/build_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ jobs:
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platforms: linux/amd64,linux/arm/v7,linux/arm64
# platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
push: true
tags: |
lycheeorg/lychee:testing-${{ github.run_id }}
Expand Down
22 changes: 12 additions & 10 deletions .github/workflows/cron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,24 @@ jobs:
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3.0.0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3.0.0
-
name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platforms: linux/amd64,linux/arm/v7,linux/arm64
# platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
push: true
tags: |
lycheeorg/lychee:testing-${{ github.run_id }}
Expand All @@ -48,23 +49,24 @@ jobs:
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3.0.0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3.0.0
-
name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platforms: linux/amd64,linux/arm/v7,linux/arm64
# platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
push: true
build-args: |
COMPOSER_NO_DEV=0
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,25 @@ jobs:
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3.0.0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3.0.0
-
name: Test multiarch building
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platforms: linux/amd64,linux/arm/v7,linux/arm64
# platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
load: false
push: false
tags: |
lycheeorg/lychee:testing-${{ github.run_id }}
-
name: Save amd64 image to pass to testing
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,24 @@ jobs:
uses: actions/checkout@v3
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3.0.0
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3.0.0
-
name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3.0.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v5.1.0
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
platforms: linux/amd64,linux/arm/v7,linux/arm64
# platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
push: true
build-args: |
TARGET=release
Expand Down
30 changes: 29 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM debian:bookworm-slim
FROM debian:bookworm-slim as base

# Set version label
LABEL maintainer="lycheeorg"
Expand Down Expand Up @@ -45,6 +45,7 @@ RUN \
gifsicle \
webp \
cron \
rsync \
composer \
unzip && \
addgroup --gid "$PGID" "$USER" && \
Expand Down Expand Up @@ -74,6 +75,33 @@ RUN \
apt-get clean -qy &&\
rm -rf /var/lib/apt/lists/*

# Multi-stage build: Build static assets
# This allows us to not include Node within the final container
FROM node:20 as node_modules_go_brrr

RUN mkdir /app

RUN mkdir -p /app
WORKDIR /app
COPY --from=base /var/www/html/Lychee /app

RUN \
npm ci --no-audit \
npm run build

# From our base container created above, we
# create our final image, adding in static
# assets that we generated above
FROM base

# Packages like Laravel Nova may have added assets to the public directory
# or maybe some custom assets were added manually! Either way, we merge
# in the assets we generated above rather than overwrite them
COPY --from=node_modules_go_brrr --chown=www-data:www-data /app/public /var/www/html/Lychee/public-npm
RUN rsync -ar /var/www/html/Lychee/public-npm/ /var/www/html/Lychee/public/ \
&& rm -rf /var/www/html/Lychee/public-npm \
&& chown -R www-data:www-data /var/www/html/Lychee/public

# Add custom Nginx configuration
COPY default.conf /etc/nginx/nginx.conf

Expand Down

0 comments on commit a1a5a59

Please sign in to comment.