mirror of https://github.com/mainnika/a-quest.git
parent
2408336bdd
commit
cb34ae11eb
@ -0,0 +1,20 @@ |
|||||||
|
version: "3.7" |
||||||
|
|
||||||
|
services: |
||||||
|
redis: |
||||||
|
image: redis |
||||||
|
# volumes: |
||||||
|
# - "./default.conf:/etc/nginx/conf.d/default.conf" |
||||||
|
# - "./html:/usr/share/nginx/html" |
||||||
|
restart: unless-stopped |
||||||
|
networks: |
||||||
|
- net |
||||||
|
|
||||||
|
networks: |
||||||
|
net: |
||||||
|
driver: bridge |
||||||
|
name: tasks-net |
||||||
|
ipam: |
||||||
|
driver: default |
||||||
|
config: |
||||||
|
- subnet: 10.103.0.1/16 |
@ -0,0 +1,27 @@ |
|||||||
|
FROM alpine as builder |
||||||
|
|
||||||
|
ENV GOPATH /root/go |
||||||
|
ENV PATH ${GOPATH}/bin:${PATH} |
||||||
|
|
||||||
|
RUN mkdir -p /app |
||||||
|
WORKDIR /app |
||||||
|
|
||||||
|
RUN apk add --no-cache go git curl |
||||||
|
|
||||||
|
COPY . . |
||||||
|
RUN go build -o task1 github.com/mainnika/a-quest/task1-backend |
||||||
|
|
||||||
|
FROM alpine |
||||||
|
|
||||||
|
ENV GOPATH /root/go |
||||||
|
ENV PATH ${GOPATH}/bin:${PATH} |
||||||
|
|
||||||
|
RUN mkdir -p /app |
||||||
|
WORKDIR /app |
||||||
|
|
||||||
|
COPY --from=builder task1 . |
||||||
|
COPY --from=builder task1-backend/config . |
||||||
|
|
||||||
|
EXPOSE 8081 |
||||||
|
|
||||||
|
CMD ["/app/task1"] |
@ -0,0 +1,40 @@ |
|||||||
|
upstream backend1 { |
||||||
|
server backend1:8081; |
||||||
|
} |
||||||
|
|
||||||
|
server { |
||||||
|
listen 80; |
||||||
|
server_name _; |
||||||
|
|
||||||
|
location / { |
||||||
|
|
||||||
|
if ($request_method = 'OPTIONS') { |
||||||
|
add_header 'Access-Control-Allow-Origin' '*'; |
||||||
|
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; |
||||||
|
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; |
||||||
|
add_header 'Access-Control-Max-Age' 1728000; |
||||||
|
add_header 'Content-Type' 'text/plain; charset=utf-8'; |
||||||
|
add_header 'Content-Length' 0; |
||||||
|
return 204; |
||||||
|
} |
||||||
|
|
||||||
|
if ($request_method = 'GET') { |
||||||
|
add_header 'Access-Control-Allow-Origin' '*'; |
||||||
|
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; |
||||||
|
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; |
||||||
|
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; |
||||||
|
} |
||||||
|
|
||||||
|
root /usr/share/nginx/html; |
||||||
|
index index.html index.htm; |
||||||
|
} |
||||||
|
|
||||||
|
error_page 500 502 503 504 /50x.html; |
||||||
|
location = /50x.html { |
||||||
|
root /usr/share/nginx/html; |
||||||
|
} |
||||||
|
|
||||||
|
location = /answer { |
||||||
|
proxy_pass http://backend1; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
version: '3' |
||||||
|
services: |
||||||
|
static: |
||||||
|
image: nginx |
||||||
|
volumes: |
||||||
|
- "./default.conf:/etc/nginx/conf.d/default.conf" |
||||||
|
- "../../build/task1:/usr/share/nginx/html" |
||||||
|
restart: unless-stopped |
||||||
|
networks: |
||||||
|
net: |
||||||
|
ipv4_address: 10.103.204.1 |
||||||
|
backend1: |
||||||
|
build: |
||||||
|
dockerfile: ./Dockerfile.task1 |
||||||
|
context: ../../task1-backend |
||||||
|
restart: unless-stopped |
||||||
|
networks: |
||||||
|
net: {} |
||||||
|
|
||||||
|
networks: |
||||||
|
net: |
||||||
|
external: |
||||||
|
name: tasks-net |
Loading…
Reference in new issue