# Copyright 2022 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Dart Docker official images can be found here: https://hub.docker.com/_/dart
FROM dart:3.7.1

# Packages are PATH dependencies of app_dart, and need to be copied/accessible.
WORKDIR /packages
COPY packages .

WORKDIR /app
COPY app_dart .

RUN dart pub get

# Start server.
EXPOSE 8080
CMD ["/usr/lib/dart/bin/dart", "/app/bin/gae_server.dart"]
