FROM dart:stable

WORKDIR /app

# 先复制依赖文件，利用 Docker 缓存层
COPY pubspec.yaml .
RUN dart pub get

# 复制源码
COPY . .

# AOT 编译
RUN dart compile exe bin/server.dart -o bin/server

# 时区
ENV TZ=Asia/Shanghai
RUN apt-get update && apt-get install -y tzdata \
    && ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && dpkg-reconfigure -f noninteractive tzdata \
    && rm -rf /var/lib/apt/lists/*

EXPOSE 8080
CMD ["/app/bin/server"]
