|
1 | | -# Builds SQLite from Source |
2 | | -# |
3 | | -# The version shipped with apt is very outdated (3.40.1). This is the only way |
4 | | -# it seems to get anything newer. |
5 | | -FROM debian:bookworm-slim AS sqlite |
6 | | - |
7 | | -# Install build dependencies |
8 | | -RUN apt-get update && apt-get install -y \ |
9 | | - build-essential \ |
10 | | - tcl-dev \ |
11 | | - libreadline-dev \ |
12 | | - wget \ |
13 | | - unzip \ |
14 | | - && rm -rf /var/lib/apt/lists/* |
15 | | - |
16 | | -# Set up build directory |
17 | | -WORKDIR /sqlite_build |
18 | | - |
19 | | -# Download the latest SQLite source |
20 | | -ARG SQLITE_VERSION=3490100 |
21 | | -RUN wget https://www.sqlite.org/2025/sqlite-autoconf-${SQLITE_VERSION}.tar.gz \ |
22 | | - && tar xzf sqlite-autoconf-${SQLITE_VERSION}.tar.gz \ |
23 | | - && cd sqlite-autoconf-${SQLITE_VERSION} |
24 | | - |
25 | | -# Build SQLite with default options |
26 | | -WORKDIR /sqlite_build/sqlite-autoconf-${SQLITE_VERSION} |
27 | | -RUN CFLAGS='-DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1' \ |
28 | | - ./configure --prefix=/usr \ |
29 | | - --enable-threadsafe \ |
30 | | - && make -j$(nproc) \ |
31 | | - && make install DESTDIR=/sqlite_install |
32 | | - |
33 | | -FROM dart:stable AS build |
| 1 | +FROM dart:3.7.2 AS build |
34 | 2 |
|
35 | 3 | # Set the dependency versions |
36 | 4 | ARG FLY_VERSION=0.3.98 |
@@ -77,29 +45,14 @@ RUN yq eval 'del(.environment.flutter)' -i pubspec.yaml |
77 | 45 |
|
78 | 46 | WORKDIR /app/services/celest_cloud_hub |
79 | 47 | RUN dart pub get |
80 | | -RUN dart compile exe bin/cloud_hub.dart -o /app/cloud_hub |
81 | | - |
82 | | -FROM debian:bookworm-slim |
83 | | - |
84 | | -# Configure SQLite |
85 | | -COPY --from=sqlite /sqlite_install / |
86 | | - |
87 | | -# Install dependencies |
88 | | -RUN apt-get update && apt-get install -y \ |
89 | | - ca-certificates \ |
90 | | - libreadline8 \ |
91 | | - && rm -rf /var/lib/apt/lists/* |
| 48 | +RUN dart compile aot-snapshot bin/cloud_hub.dart -o /app/main.aot |
92 | 49 |
|
93 | | -# Verify SQLite installation |
94 | | -RUN sqlite3 --version && \ |
95 | | - ldconfig && \ |
96 | | - ldd $(which sqlite3) |
| 50 | +FROM celestdev/dart-runtime:3.7.2 |
97 | 51 |
|
98 | 52 | COPY --from=build /usr/local/bin/flyctl /usr/local/bin/flyctl |
99 | | -COPY --from=build /app/cloud_hub /app/cloud_hub |
| 53 | +COPY --from=build /app/main.aot /app/main.aot |
100 | 54 |
|
101 | 55 | ENV PORT=8080 |
102 | 56 | EXPOSE $PORT |
103 | 57 |
|
104 | 58 | WORKDIR /tmp |
105 | | -CMD ["/app/cloud_hub"] |
0 commit comments