mirror of
https://github.com/jetkvm/cloud-api.git
synced 2025-09-16 08:38:15 +00:00
Added Dockerfile and compose stack
This builds a thin docker container with the default .env copied into the container
This commit is contained in:
parent
4af69988c2
commit
1c6b4be721
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@ -0,0 +1,6 @@
|
||||
.github/
|
||||
.idea/
|
||||
node_modules/
|
||||
dist/
|
||||
.DS_Store
|
||||
.env
|
||||
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
||||
FROM node:21.1.0-alpine AS packages
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY LICENSE /usr/src/app/
|
||||
COPY package.json /usr/src/app/
|
||||
COPY package-lock.json /usr/src/app/
|
||||
|
||||
RUN npm install
|
||||
|
||||
FROM packages AS builder
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY . /usr/src/app/
|
||||
RUN npx prisma generate
|
||||
RUN npm run build
|
||||
|
||||
FROM packages AS app
|
||||
LABEL org.opencontainers.image.source="https://github.com/jetkvm/cloud-api"
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY --from=builder /usr/src/app/prisma /usr/src/app/prisma
|
||||
COPY --from=builder /usr/src/app/node_modules/.prisma /usr/src/app/node_modules/.prisma
|
||||
COPY --from=builder /usr/src/app/dist /usr/src/app/dist
|
||||
COPY .env.example ./.env
|
||||
|
||||
ENV NODE_ENV=production
|
||||
ENV PORT=3000
|
||||
EXPOSE 3000
|
||||
CMD ["node", "./dist/index.js"]
|
||||
44
compose.yaml
Normal file
44
compose.yaml
Normal file
@ -0,0 +1,44 @@
|
||||
name: jetkvm-cloud-api
|
||||
|
||||
networks:
|
||||
jetkvm:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
db:
|
||||
image: postgres
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_PASSWORD: jetkvm
|
||||
POSTGRES_USER: jetkvm
|
||||
POSTGRES_DB: jetkvm
|
||||
#ports:
|
||||
# - "5432:5432"
|
||||
networks:
|
||||
- jetkvm
|
||||
volumes:
|
||||
- postgresql:/var/lib/postgresql/data
|
||||
|
||||
app: &app
|
||||
build: .
|
||||
environment:
|
||||
PORT: 5172
|
||||
DATABASE_URL: postgres://jetkvm:jetkvm@db:5432/jetkvm
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
- "5172:5172"
|
||||
networks:
|
||||
- jetkvm
|
||||
|
||||
# Trigger prisma migration
|
||||
# This can be done in the app container as well, but is generally discouraged.
|
||||
app-migrate:
|
||||
<<: *app
|
||||
command: npm run prisma-migrate
|
||||
ports: []
|
||||
restart: no
|
||||
|
||||
volumes:
|
||||
postgresql:
|
||||
driver: local
|
||||
Loading…
Reference in New Issue
Block a user