mirror of
https://github.com/simon987/task_tracker.git
synced 2025-04-10 05:56:42 +00:00
Update dockerfile
This commit is contained in:
parent
0e387d32c1
commit
f7b0071d2e
28
Dockerfile
28
Dockerfile
@ -1,16 +1,26 @@
|
||||
# Build
|
||||
# Build API
|
||||
FROM golang:1.11.5 as go_build
|
||||
WORKDIR /go/src/github.com/simon987/task_tracker/
|
||||
|
||||
COPY . .
|
||||
COPY .git .git
|
||||
COPY api api
|
||||
COPY client client
|
||||
COPY config config
|
||||
COPY main main
|
||||
COPY storage storage
|
||||
RUN go get ./main/ && GOOS=linux CGO_ENABLED=0 go build -a -installsuffix cgo -o tt_api ./main/
|
||||
|
||||
# Execute in alpine
|
||||
FROM alpine:3.9.2
|
||||
# Build Web
|
||||
FROM node:10-alpine as npm_build
|
||||
COPY ./web/ ./
|
||||
RUN cd ./angular/ && npm install
|
||||
RUN cd ./angular/ && ./node_modules/@angular/cli/bin/ng build --prod --optimization --output-path "/webroot"
|
||||
|
||||
FROM nginx:alpine
|
||||
WORKDIR /root
|
||||
|
||||
COPY --from=go_build ["/go/src/github.com/simon987/task_tracker/tt_api",\
|
||||
"/go/src/github.com/simon987/task_tracker/schema.sql",\
|
||||
"/go/src/github.com/simon987/task_tracker/config.yml",\
|
||||
"./"]
|
||||
CMD ["./tt_api"]
|
||||
COPY nginx.conf schema.sql config.yml ./
|
||||
COPY --from=go_build ["/go/src/github.com/simon987/task_tracker/tt_api", "./"]
|
||||
COPY --from=npm_build ["/webroot", "/webroot"]
|
||||
|
||||
CMD ["sh", "-c", "nginx -c /root/nginx.conf && /root/tt_api"]
|
||||
|
45
nginx.conf
Normal file
45
nginx.conf
Normal file
@ -0,0 +1,45 @@
|
||||
user nginx;
|
||||
worker_processes 1;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
index index.html;
|
||||
root /webroot;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
|
||||
location ~ /api(.*)$ {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection 'upgrade';
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass http://127.0.0.1:3010$1?$args;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user