|
@@ -1,4 +1,4 @@
|
|
|
-# Multi-stage Dockerfile for Spry Framework Website
|
|
|
|
|
|
|
+# Multi-stage Dockerfile for Spry Framework Demo Website
|
|
|
# Build stage: Compile the Vala application
|
|
# Build stage: Compile the Vala application
|
|
|
FROM fedora:43 AS builder
|
|
FROM fedora:43 AS builder
|
|
|
|
|
|
|
@@ -17,13 +17,14 @@ RUN dnf install -y \
|
|
|
libgee-devel \
|
|
libgee-devel \
|
|
|
brotli-devel \
|
|
brotli-devel \
|
|
|
libmicrohttpd-devel \
|
|
libmicrohttpd-devel \
|
|
|
|
|
+ libsodium-devel \
|
|
|
git \
|
|
git \
|
|
|
pkg-config \
|
|
pkg-config \
|
|
|
&& dnf clean all
|
|
&& dnf clean all
|
|
|
|
|
|
|
|
# Clone and build invercargill library
|
|
# Clone and build invercargill library
|
|
|
WORKDIR /build
|
|
WORKDIR /build
|
|
|
-RUN git clone https://fabrica.unitatem.net/Tilo15/Invercargill.git invercargill && \
|
|
|
|
|
|
|
+RUN git clone -b expressions https://fabrica.unitatem.net/Tilo15/Invercargill.git invercargill && \
|
|
|
cd invercargill && \
|
|
cd invercargill && \
|
|
|
meson setup src builddir --prefix=/usr && \
|
|
meson setup src builddir --prefix=/usr && \
|
|
|
ninja -C builddir && \
|
|
ninja -C builddir && \
|
|
@@ -53,7 +54,7 @@ RUN git clone https://fabrica.unitatem.net/Tilo15/astralis.git astralis && \
|
|
|
# Copy the Spry project source
|
|
# Copy the Spry project source
|
|
|
COPY . /build/spry
|
|
COPY . /build/spry
|
|
|
|
|
|
|
|
-# Build the Spry library and website
|
|
|
|
|
|
|
+# Build the Spry library and demo
|
|
|
WORKDIR /build/spry
|
|
WORKDIR /build/spry
|
|
|
RUN meson setup builddir --prefix=/usr && \
|
|
RUN meson setup builddir --prefix=/usr && \
|
|
|
ninja -C builddir && \
|
|
ninja -C builddir && \
|
|
@@ -72,6 +73,7 @@ RUN dnf install -y \
|
|
|
brotli \
|
|
brotli \
|
|
|
libmicrohttpd \
|
|
libmicrohttpd \
|
|
|
libgee \
|
|
libgee \
|
|
|
|
|
+ libsodium \
|
|
|
&& dnf clean all
|
|
&& dnf clean all
|
|
|
|
|
|
|
|
# Copy built libraries and executable from builder
|
|
# Copy built libraries and executable from builder
|
|
@@ -81,7 +83,14 @@ COPY --from=builder /usr/lib64/libinversion*.so* /usr/lib64/
|
|
|
COPY --from=builder /usr/lib64/libastralis*.so* /usr/lib64/
|
|
COPY --from=builder /usr/lib64/libastralis*.so* /usr/lib64/
|
|
|
COPY --from=builder /usr/lib64/libspry*.so* /usr/lib64/
|
|
COPY --from=builder /usr/lib64/libspry*.so* /usr/lib64/
|
|
|
COPY --from=builder /usr/lib64/girepository-1.0/*.typelib /usr/lib64/girepository-1.0/
|
|
COPY --from=builder /usr/lib64/girepository-1.0/*.typelib /usr/lib64/girepository-1.0/
|
|
|
-COPY --from=builder /usr/bin/spry-website /usr/bin/
|
|
|
|
|
|
|
+COPY --from=builder /usr/bin/spry-demo /usr/bin/
|
|
|
|
|
+
|
|
|
|
|
+# Copy demo source files for DemoHostComponent to display in the demo viewer
|
|
|
|
|
+# These paths must match what DemoHostComponent.source_file expects
|
|
|
|
|
+COPY --from=builder /build/spry/demo/DemoComponents /app/demo/DemoComponents
|
|
|
|
|
+
|
|
|
|
|
+# Set working directory so relative paths in DemoHostComponent resolve correctly
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
|
|
|
# Update library cache
|
|
# Update library cache
|
|
|
RUN ldconfig
|
|
RUN ldconfig
|
|
@@ -92,5 +101,5 @@ EXPOSE 8080
|
|
|
# Set environment variables
|
|
# Set environment variables
|
|
|
ENV PORT=8080
|
|
ENV PORT=8080
|
|
|
|
|
|
|
|
-# Run the website
|
|
|
|
|
-CMD ["spry-website", "8080"]
|
|
|
|
|
|
|
+# Run the demo website
|
|
|
|
|
+CMD ["spry-demo", "8080"]
|