/ services / node / Earthfile
Earthfile
 1  VERSION 0.7
 2  
 3  ARG --global DATE=(date +%y-%m-%d)
 4  ARG --global DEBIAN_VERSION=bullseye-slim
 5  ARG --global NODE_MAJOR=18
 6  
 7  image:
 8      FROM node:${NODE_MAJOR}-${DEBIAN_VERSION}
 9      WORKDIR /app
10  
11  deps:
12      FROM +image
13      COPY . .
14      RUN yarn install --dev
15  
16  build:
17      FROM +deps
18  
19  docker:
20      FROM +build
21      ENV HOST=0.0.0.0
22      ENV PORT=3000
23      EXPOSE 3000
24      CMD ["yarn", "serve"]
25      SAVE IMAGE akashi-js:latest
26      SAVE IMAGE --push registry.fly.io/akashi-js:latest registry.fly.io/akashi-js:${DATE}
27  
28  deploy:
29      RUN fly deploy --image registry.fly.io/akashi-js:latest