From 6f5ad76718281e06e0019b5728942e354c4dc8da Mon Sep 17 00:00:00 2001 From: sjdonado Date: Sun, 2 Nov 2025 10:29:08 +0100 Subject: [PATCH] refactor: Dockerfile replace debian with alpine --- Dockerfile | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/Dockerfile b/Dockerfile index c318b76..c761686 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,41 +1,37 @@ -FROM debian:bookworm-slim AS build +FROM alpine:edge AS build -ARG TARGETARCH ENV ENV=production WORKDIR /usr/src/app -RUN apt-get update && apt-get install -y \ - curl \ - gnupg \ - ca-certificates \ - && mkdir -p /etc/apt/keyrings \ - && curl -fsSL https://packagecloud.io/84codes/crystal/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/84codes_crystal.gpg \ - && echo "deb [signed-by=/etc/apt/trusted.gpg.d/84codes_crystal.gpg] https://packagecloud.io/84codes/crystal/debian/ bookworm main" > /etc/apt/sources.list.d/84codes_crystal.list - -RUN apt-get update && apt-get install -y \ +RUN apk add --no-cache \ crystal \ - libssl-dev \ - libyaml-dev \ - libsqlite3-dev \ + shards \ + openssl-dev \ + yaml-dev \ + sqlite-dev \ libevent-dev \ - && rm -rf /var/lib/apt/lists/* + tzdata COPY . . RUN shards install --production RUN shards build --release --no-debug --progress --stats -FROM debian:bookworm-slim AS runtime +FROM alpine:latest AS runtime ENV ENV=production WORKDIR /usr/src/app -RUN apt-get update && apt-get install -y \ - libssl3 \ - libyaml-0-2 \ - sqlite3 \ - libevent-2.1-7 \ - && rm -rf /var/lib/apt/lists/* +RUN apk add --no-cache \ + gc-dev \ + pcre2 \ + libevent \ + sqlite-libs \ + openssl \ + yaml \ + gmp \ + libgcc \ + tzdata RUN mkdir -p sqlite