Add fly.io config & workflow

This commit is contained in:
bkellam 2024-09-06 11:27:20 -07:00
parent 23e06777e7
commit 0133999bbd
3 changed files with 55 additions and 0 deletions

27
.github/workflows/fly-deploy.yml vendored Normal file
View file

@ -0,0 +1,27 @@
# See https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/
name: Fly Deploy
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy app
runs-on: ubuntu-latest
environment: production
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Use flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy to fly.io
run: flyctl deploy --local-only
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

View file

@ -15,6 +15,8 @@ FROM node-alpine AS web-builder
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json yarn.lock* ./
# Fixes arm64 timeouts
RUN yarn config set registry https://registry.npmjs.org/
RUN yarn config set network-timeout 1200000
RUN yarn --frozen-lockfile

26
fly.toml Normal file
View file

@ -0,0 +1,26 @@
# fly.toml app configuration file generated for sourcebot on 2024-09-06T11:03:58-07:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'sourcebot'
primary_region = 'sjc'
[build]
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = 'stop'
auto_start_machines = true
min_machines_running = 0
processes = ['app']
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
[mounts]
source = "sourcebot_data"
destination = "/data"