/ services / site / 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
15  
16  build:
17      FROM +deps
18      RUN yarn build
19  
20  docker:
21      FROM +build
22      ENV HOST=0.0.0.0
23      ENV PORT=3000
24      EXPOSE 3000
25      CMD ["yarn", "serve"]
26      SAVE IMAGE akashi-site:latest
27      SAVE IMAGE --push registry.fly.io/akashi-site:latest registry.fly.io/akashi-site:${DATE}
28  
29  deploy:
30      RUN fly deploy --image registry.fly.io/akashi-site:latest