feat: deploy via fly.io

Signed-off-by: Sphericalkat <amolele@gmail.com>
This commit is contained in:
Amogh Lele 2023-05-28 19:11:31 +05:30
parent 8b3a6b9aae
commit 2eacfa702a
4 changed files with 44 additions and 2 deletions

5
.dockerignore Normal file
View File

@ -0,0 +1,5 @@
.env
frontend/node_modules
frontend/dist
Dockerfile
response.json

23
Dockerfile Normal file
View File

@ -0,0 +1,23 @@
# frontend
FROM node:16-slim as frontend
RUN corepack enable
RUN corepack prepare pnpm@latest --activate
WORKDIR /app
COPY frontend/package.json frontend/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY frontend/ ./
RUN pnpm build
# backend
FROM golang:1.20-alpine as backend
WORKDIR /app
COPY . .
RUN rm -rf frontend
COPY --from=frontend /app/ ./frontend
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags='-w -s -extldflags "-static"' -a -o medium
# final
FROM debian:bullseye-slim
RUN apt-get update && apt-get install -y ca-certificates
COPY --from=backend /app/medium /usr/local/bin/medium
CMD [ "medium" ]

14
fly.toml Normal file
View File

@ -0,0 +1,14 @@
# fly.toml app configuration file generated for medium-rip on 2023-05-28T18:53:27+05:30
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = "medium-rip"
primary_region = "sin"
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = true
auto_start_machines = true
min_machines_running = 0

View File

@ -4,8 +4,8 @@
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite build --watch",
"build": "vite build --watch", "build": "vite build",
"preview": "vite preview" "preview": "vite preview"
}, },
"keywords": [], "keywords": [],