mirror of
https://github.com/mainnika/a-quest.git
synced 2026-05-23 16:23:36 +00:00
task1 deployment
This commit is contained in:
@@ -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
|
||||
+1
-1
@@ -62,7 +62,7 @@ import '../css/util.css';
|
||||
|
||||
var rocking = setInterval((txt.text("хм 🚀"), function () { txt.text(txt.text() + "🚀") }), 50);
|
||||
|
||||
fetch('//127.0.0.1:8081/answer/check', {
|
||||
fetch('/answer/check', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ answer: answer.val().trim(), name: name.val().trim() }),
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user