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
|
||||
COPY ./package.json ./
|
||||
COPY package.json .
|
||||
COPY package-lock.json .
|
||||
RUN npm install
|
||||
COPY . .
|
||||
RUN npm run build
|
||||
|
||||
FROM node:alpine
|
||||
FROM node:14.3.0-alpine
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app ./
|
||||
COPY --from=builder /app .
|
||||
|
||||
EXPOSE 3000
|
||||
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:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
dockerfile: Dockerfile.dev
|
||||
networks:
|
||||
- proxy
|
||||
env_file: .env
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
|
||||
# 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
|
||||
ports:
|
||||
- 5000:5000
|
||||
|
||||
backend:
|
||||
# image: docker.humenius.me/humenius/ts-onlinetime-ranks-backend:latest
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
dockerfile: Dockerfile.dev
|
||||
networks:
|
||||
- proxy
|
||||
env_file: .env
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
|
||||
# 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
|
||||
ports:
|
||||
- 5001:3000
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
|
||||
@@ -2,44 +2,47 @@ version: '3.7'
|
||||
|
||||
services:
|
||||
frontend:
|
||||
image: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend:latest
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
networks:
|
||||
- proxy
|
||||
env_file: .env
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.services.tsotr-frontend.loadbalancer.server.port=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
|
||||
# HTTPS
|
||||
- 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:
|
||||
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:
|
||||
- proxy
|
||||
env_file: .env
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.services.tsotr-backend.loadbalancer.server.port=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
|
||||
# HTTPS
|
||||
- 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:
|
||||
proxy:
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
FROM node:alpine as builder
|
||||
WORKDIR '/app'
|
||||
FROM node:14.3.0-alpine as builder
|
||||
WORKDIR /app
|
||||
ENV PATH /app/node_modules/.bin:$PATH
|
||||
COPY ./package.json ./
|
||||
RUN yarn
|
||||
COPY . .
|
||||
RUN yarn build
|
||||
|
||||
FROM nginx:alpine
|
||||
LABEL maintainer="Kevin Reis <contact@humenius.me>"
|
||||
FROM node:14.3.0-alpine
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/build .
|
||||
RUN yarn global add serve
|
||||
|
||||
COPY --from=builder /app/build /usr/share/nginx/html
|
||||
COPY nginx/nginx.conf /etc/nginx/conf.d
|
||||
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
EXPOSE 5000
|
||||
CMD ["serve", "-s", ""]
|
||||
|
||||
@@ -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
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD ["yarn", "start"]
|
||||
|
||||
Reference in New Issue
Block a user