Add Dockerfile.dev for backend, migrate frontend image to "serve" and change both docker-compose.ymls
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/**/.idea
|
||||||
|
/**/node_modules
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
FROM node:alpine AS builder
|
FROM node:14.3.0-alpine AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY ./package.json ./
|
COPY package.json .
|
||||||
|
COPY package-lock.json .
|
||||||
RUN npm install
|
RUN npm install
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
FROM node:alpine
|
FROM node:14.3.0-alpine
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=builder /app ./
|
COPY --from=builder /app .
|
||||||
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
CMD ["npm", "run", "start:prod"]
|
CMD ["npm", "run", "start:prod"]
|
||||||
|
|||||||
12
backend/Dockerfile.dev
Normal file
12
backend/Dockerfile.dev
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM node:14.3.0-alpine AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
ENV ENVIRONMENT dev
|
||||||
|
|
||||||
|
COPY package.json .
|
||||||
|
COPY package-lock.json .
|
||||||
|
RUN npm install
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
CMD ["npm", "run", "start:${ENVIRONMENT}"]
|
||||||
|
|
||||||
@@ -4,49 +4,22 @@ services:
|
|||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
context: ./frontend
|
context: ./frontend
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile.dev
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
env_file: .env
|
env_file: .env
|
||||||
labels:
|
ports:
|
||||||
- traefik.enable=true
|
- 5000:5000
|
||||||
|
|
||||||
# HTTP + Redirect
|
|
||||||
- traefik.http.routers.tsotr-frontend.entrypoints=web
|
|
||||||
- traefik.http.routers.tsotr-frontend.rule=Host(`tsotr.humenius.me`)
|
|
||||||
- traefik.http.routers.tsotr-frontend.middlewares=redirect@file
|
|
||||||
|
|
||||||
# HTTPS + Port + network
|
|
||||||
- traefik.http.routers.tsotr-frontend-secure.entrypoints=web-secure
|
|
||||||
- traefik.http.routers.tsotr-frontend-secure.rule=Host(`tsotr.humenius.me`)
|
|
||||||
- traefik.http.routers.tsotr-frontend-secure.tls=true
|
|
||||||
- traefik.http.routers.tsotr-frontend-secure.tls.certresolver=letsencrypt
|
|
||||||
- traefik.http.services.tsotr-frontend.loadbalancer.server.port=80
|
|
||||||
- traefik.docker.network=proxy
|
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
# image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:latest
|
|
||||||
build:
|
build:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile.dev
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
env_file: .env
|
env_file: .env
|
||||||
labels:
|
ports:
|
||||||
- traefik.enable=true
|
- 5001:3000
|
||||||
|
|
||||||
# HTTP + Redirect
|
|
||||||
- traefik.http.routers.tsotr-backend.entrypoints=web
|
|
||||||
- traefik.http.routers.tsotr-backend.rule=Host(`api.tsotr.humenius.me`)
|
|
||||||
- traefik.http.routers.tsotr-backend.middlewares=redirect@file
|
|
||||||
|
|
||||||
# HTTPS + Port + network
|
|
||||||
- traefik.http.routers.tsotr-backend-secure.entrypoints=web-secure
|
|
||||||
- traefik.http.routers.tsotr-backend-secure.rule=Host(`api.tsotr.humenius.me`)
|
|
||||||
- traefik.http.routers.tsotr-backend-secure.tls=true
|
|
||||||
- traefik.http.routers.tsotr-backend-secure.tls.certresolver=letsencrypt
|
|
||||||
- traefik.http.services.tsotr-backend.loadbalancer.server.port=3000
|
|
||||||
- traefik.docker.network=proxy
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
@@ -2,44 +2,47 @@ version: '3.7'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
frontend:
|
frontend:
|
||||||
image: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend:latest
|
build:
|
||||||
|
context: ./frontend
|
||||||
|
dockerfile: Dockerfile
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
|
env_file: .env
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
|
- traefik.http.services.tsotr-frontend.loadbalancer.server.port=5000
|
||||||
|
|
||||||
# HTTP + Redirect
|
# HTTP + Redirect
|
||||||
- traefik.http.routers.tsotr-frontend.entrypoints=web
|
- traefik.http.routers.tsotr-frontend.entrypoints=web
|
||||||
- traefik.http.routers.tsotr-frontend.rule=Host(`tsotr.humenius.me`)
|
- traefik.http.routers.tsotr-frontend.rule=Host(`tsotr.humenius.me`)
|
||||||
- traefik.http.routers.tsotr-frontend.middlewares=redirect@file
|
- traefik.http.routers.tsotr-frontend.middlewares=redirect@file
|
||||||
|
|
||||||
# HTTPS + Port + network
|
# HTTPS
|
||||||
- traefik.http.routers.tsotr-frontend-secure.entrypoints=web-secure
|
- traefik.http.routers.tsotr-frontend-secure.entrypoints=web-secure
|
||||||
- traefik.http.routers.tsotr-frontend-secure.rule=Host(`tsotr.humenius.me`)
|
- traefik.http.routers.tsotr-frontend-secure.rule=Host(`tsotr.humenius.me`)
|
||||||
- traefik.http.routers.tsotr-frontend-secure.tls=true
|
|
||||||
- traefik.http.routers.tsotr-frontend-secure.tls.certresolver=letsencrypt
|
- traefik.http.routers.tsotr-frontend-secure.tls.certresolver=letsencrypt
|
||||||
- traefik.http.services.tsotr-frontend.loadbalancer.server.port=80
|
|
||||||
- traefik.docker.network=proxy
|
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:latest
|
# image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:latest
|
||||||
|
build:
|
||||||
|
context: ./backend
|
||||||
|
dockerfile: Dockerfile
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
|
env_file: .env
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
|
- traefik.http.services.tsotr-backend.loadbalancer.server.port=3000
|
||||||
|
|
||||||
# HTTP + Redirect
|
# HTTP + Redirect
|
||||||
- traefik.http.routers.tsotr-backend.entrypoints=web
|
- traefik.http.routers.tsotr-backend.entrypoints=web
|
||||||
- traefik.http.routers.tsotr-backend.rule=Host(`api.tsotr.humenius.me`)
|
- traefik.http.routers.tsotr-backend.rule=Host(`api.tsotr.humenius.me`)
|
||||||
- traefik.http.routers.tsotr-backend.middlewares=redirect@file
|
- traefik.http.routers.tsotr-backend.middlewares=redirect@file
|
||||||
|
|
||||||
# HTTPS + Port + network
|
# HTTPS
|
||||||
- traefik.http.routers.tsotr-backend-secure.entrypoints=web-secure
|
- traefik.http.routers.tsotr-backend-secure.entrypoints=web-secure
|
||||||
- traefik.http.routers.tsotr-backend-secure.rule=Host(`api.tsotr.humenius.me`)
|
- traefik.http.routers.tsotr-backend-secure.rule=Host(`api.tsotr.humenius.me`)
|
||||||
- traefik.http.routers.tsotr-backend-secure.tls=true
|
|
||||||
- traefik.http.routers.tsotr-backend-secure.tls.certresolver=letsencrypt
|
- traefik.http.routers.tsotr-backend-secure.tls.certresolver=letsencrypt
|
||||||
- traefik.http.services.tsotr-backend.loadbalancer.server.port=3000
|
|
||||||
- traefik.docker.network=proxy
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
FROM node:alpine as builder
|
FROM node:14.3.0-alpine as builder
|
||||||
WORKDIR '/app'
|
WORKDIR /app
|
||||||
|
ENV PATH /app/node_modules/.bin:$PATH
|
||||||
COPY ./package.json ./
|
COPY ./package.json ./
|
||||||
RUN yarn
|
RUN yarn
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN yarn build
|
RUN yarn build
|
||||||
|
|
||||||
FROM nginx:alpine
|
FROM node:14.3.0-alpine
|
||||||
LABEL maintainer="Kevin Reis <contact@humenius.me>"
|
WORKDIR /app
|
||||||
|
COPY --from=builder /app/build .
|
||||||
|
RUN yarn global add serve
|
||||||
|
|
||||||
COPY --from=builder /app/build /usr/share/nginx/html
|
EXPOSE 5000
|
||||||
COPY nginx/nginx.conf /etc/nginx/conf.d
|
CMD ["serve", "-s", ""]
|
||||||
|
|
||||||
EXPOSE 80
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
FROM node:alpine
|
FROM node:14.3.0-alpine
|
||||||
|
WORKDIR /app
|
||||||
|
ENV PATH /app/node_modules/.bin:$PATH
|
||||||
|
|
||||||
WORKDIR '/app'
|
COPY package.json ./
|
||||||
|
|
||||||
COPY package.json .
|
|
||||||
RUN yarn
|
RUN yarn
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
CMD ["yarn", "start"]
|
CMD ["yarn", "start"]
|
||||||
|
|||||||
Reference in New Issue
Block a user