[new] Support docker
This commit is contained in:
parent
b08090795b
commit
c95135bb19
|
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/
|
||||||
|
leaderboard.json
|
||||||
|
|
@ -1,2 +1,3 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
leaderboard.json
|
leaderboard.json
|
||||||
|
uploads/
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM node:lts-alpine3.12
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY ["package.json", "package-lock.json*", "./"]
|
||||||
|
|
||||||
|
RUN npm install --production
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
CMD [ "node", "server.js" ]
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
docker container run -d -p 80:8080 -v /var/run/docker.sock:/var/run/docker.sock -v /uploads/:/app/uploads/ -v /output/:/app/output/ com2014-server
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
com2014:
|
||||||
|
image: com2014-server
|
||||||
|
networks:
|
||||||
|
- traefik-public
|
||||||
|
deploy:
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.com2014.rule=Host(`com2014.trustai.uk`)"
|
||||||
|
- "traefik.http.routers.com2014.entrypoints=web"
|
||||||
|
- "traefik.http.services.com2014.loadbalancer.server.port=80"
|
||||||
|
# TLS
|
||||||
|
- "traefik.http.routers.com2014s.rule=Host(`com2014.trustai.uk`)"
|
||||||
|
- "traefik.http.routers.com2014s.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.com2014s.tls.certresolver=myhttpchallenge"
|
||||||
|
# Redirect
|
||||||
|
- "traefik.http.routers.com2014.middlewares=https_redirect"
|
||||||
|
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
|
||||||
|
placement:
|
||||||
|
constraints:
|
||||||
|
- node.role == worker
|
||||||
|
networks:
|
||||||
|
traefik-public:
|
||||||
|
external: true
|
||||||
10
server.js
10
server.js
|
|
@ -185,8 +185,9 @@ var docker_build = (socket, sessionID) => {
|
||||||
Image: 'com2014-tsp',
|
Image: 'com2014-tsp',
|
||||||
HostConfig: {
|
HostConfig: {
|
||||||
Binds: [
|
Binds: [
|
||||||
current_path.toString() + '/uploads/' + sessionID.toString() + '/requirements.txt:/tsp/requirements.txt',
|
'/uploads/' + sessionID.toString() + '/requirements.txt:/tsp/requirements.txt',
|
||||||
current_path.toString() + "/output/" + sessionID.toString() + ":/output"
|
'/uploads/' + sessionID.toString() + '/my_model.py:/tsp/model/my_model.py',
|
||||||
|
"/output/" + sessionID.toString() + "/:/output/"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -212,7 +213,8 @@ var docker_build = (socket, sessionID) => {
|
||||||
Image: 'com2014-tsp',
|
Image: 'com2014-tsp',
|
||||||
HostConfig: {
|
HostConfig: {
|
||||||
Binds: [
|
Binds: [
|
||||||
current_path.toString() + "/output/" + sessionID.toString() + ":/output"
|
'/uploads/' + sessionID.toString() + '/my_model.py:/tsp/model/my_model.py',
|
||||||
|
"/output/" + sessionID.toString() + "/:/output/"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
@ -308,7 +310,7 @@ io.on('connection', (socket) => {
|
||||||
require('./app/routers/file.router.js')(app, router, upload)
|
require('./app/routers/file.router.js')(app, router, upload)
|
||||||
|
|
||||||
// Create a Server
|
// Create a Server
|
||||||
var server = http.listen(8081, () => {
|
var server = http.listen(8080, () => {
|
||||||
|
|
||||||
var host = server.address().address
|
var host = server.address().address
|
||||||
var port = server.address().port
|
var port = server.address().port
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue