Dart Shelf API with modules: auth (JWT + PBKDF2), tasks (CRUD + dopamine scorer), streaks (forgiveness + freeze), rewards (variable reward engine), time perception, sync (offline-first push/pull), rooms (body doubling placeholder). Includes DB migration (001_initial_schema.sql) and Docker Compose. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
22 lines
555 B
Docker
22 lines
555 B
Docker
# Use latest stable channel SDK.
|
|
FROM dart:stable AS build
|
|
|
|
# Resolve app dependencies.
|
|
WORKDIR /app
|
|
COPY pubspec.* ./
|
|
RUN dart pub get
|
|
|
|
# Copy app source code (except anything in .dockerignore) and AOT compile app.
|
|
COPY . .
|
|
RUN dart compile exe bin/server.dart -o bin/server
|
|
|
|
# Build minimal serving image from AOT-compiled `/server`
|
|
# and the pre-built AOT-runtime in the `/runtime/` directory of the base image.
|
|
FROM scratch
|
|
COPY --from=build /runtime/ /
|
|
COPY --from=build /app/bin/server /app/bin/
|
|
|
|
# Start server.
|
|
EXPOSE 8080
|
|
CMD ["/app/bin/server"]
|