3 Commits

Author SHA1 Message Date
574d3111bc Switch to debian:trixie-slim image 2026-05-23 23:16:05 -07:00
424f83ed94 Add script to build in Docker 2026-05-23 23:09:18 -07:00
cd7caafec7 Docker fixes 2026-05-23 22:56:11 -07:00
4 changed files with 42 additions and 41 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
**/*.o

View File

@@ -1,36 +1,34 @@
# build
FROM alpine:3 as build
FROM debian:trixie-slim as build
WORKDIR /usr/src/app
RUN apk update && apk upgrade && apk add \
linux-headers \
RUN apt update && apt upgrade -y && apt install -y \
git \
clang18 \
make \
sqlite-dev
clang \
build-essential \
libsqlite3-dev
COPY src ./src
COPY vendor ./vendor
COPY .git ./.git
COPY Makefile CMakeLists.txt version.h.in ./
RUN sed -i 's/^CC=clang$/&-18/' Makefile
RUN sed -i 's/^CXX=clang++$/&-18/' Makefile
RUN make nosandbox -j$(nproc)
# export-only stage: `docker build --target=export --output=./bin .`
FROM scratch AS export
COPY --from=build /usr/src/app/bin/fusion /fusion
# prod
FROM alpine:3
FROM debian:trixie-slim
WORKDIR /usr/src/app
RUN apk update && apk upgrade && apk add \
libstdc++ \
sqlite-dev
RUN apt update && apt upgrade -y && apt install -y \
libsqlite3-dev
COPY --from=build /usr/src/app/bin/fusion /bin/fusion
COPY sql ./sql
CMD ["/bin/fusion"]

1
build_docker.sh Executable file
View File

@@ -0,0 +1 @@
docker build --target=export --output=./bin .

View File

@@ -8,6 +8,7 @@ services:
- ./config.ini:/usr/src/app/config.ini
- ./database.db:/usr/src/app/database.db
- ./tdata:/usr/src/app/tdata
- ./sql:/usr/src/app/sql
ports:
- "23000:23000"
- "23001:23001"