From fbe9dceb89e52eea54b632e32cea32b39ffbab03 Mon Sep 17 00:00:00 2001 From: Kishan Takoordyal Date: Fri, 12 Feb 2021 09:55:13 +0400 Subject: [PATCH] move to docker-compose + add db --- .env | 14 +++++++++++++ Dockerfile => bin/app/Dockerfile | 7 +++++-- config/code-server.yml | 4 ++++ config/init-mongo.js | 12 +++++++++++ docker-compose.yml | 34 ++++++++++++++++++++++++++++++++ mongo-volume/.gitkeep | 0 run-docker.sh | 9 ++++++--- 7 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 .env rename Dockerfile => bin/app/Dockerfile (93%) create mode 100644 config/code-server.yml create mode 100644 config/init-mongo.js create mode 100644 docker-compose.yml create mode 100644 mongo-volume/.gitkeep diff --git a/.env b/.env new file mode 100644 index 0000000..b766f0f --- /dev/null +++ b/.env @@ -0,0 +1,14 @@ +PROJECT_NAME=kinesis-docker + +HTTP_PORT=8080 +HTTPS_PORT=8443 + +REACT_PORT=3000 + +API_PORT=20000 +WS_PORT=21000 + +CODE_SERVER_PORT=9000 +MISC_PORT=13000 + +DB_PORT=30000 diff --git a/Dockerfile b/bin/app/Dockerfile similarity index 93% rename from Dockerfile rename to bin/app/Dockerfile index 79cccba..ac991ab 100644 --- a/Dockerfile +++ b/bin/app/Dockerfile @@ -43,10 +43,13 @@ RUN deno upgrade && \ deno --version && \ deno run https://deno.land/std/examples/welcome.ts +# Install code-server +RUN curl -fsSL https://code-server.dev/install.sh | sh + EXPOSE 80/tcp EXPOSE 443/tcp -EXPOSE 8080/tcp EXPOSE 3000/tcp EXPOSE 20000/tcp EXPOSE 21000/tcp -EXPOSE 3306/tcp +EXPOSE 9000/tcp +EXPOSE 8080/tcp diff --git a/config/code-server.yml b/config/code-server.yml new file mode 100644 index 0000000..6e51b42 --- /dev/null +++ b/config/code-server.yml @@ -0,0 +1,4 @@ +bind-addr: 127.0.0.1:9000 +auth: password +password: a5d14b610c4d585e24fe9414 +cert: false diff --git a/config/init-mongo.js b/config/init-mongo.js new file mode 100644 index 0000000..0768486 --- /dev/null +++ b/config/init-mongo.js @@ -0,0 +1,12 @@ +db.createUser( + { + user: "user", + pwd: "password", + roles: [ + { + role: "readWrite", + db : "db" + } + ] + } +) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7b0036f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +version: "3.8" + +services: + app: + build: + context: "./bin/app" + container_name: '${PROJECT_NAME}-app' + restart: 'always' + ports: + - "${HTTP_PORT}:80" + - "${HTTPS_PORT}:443" + - "${REACT_PORT}:3000" + - "${API_PORT}:20000" + - "${WS_PORT}:21000" + - "${CODE_SERVER_PORT}:9000" + - "${MISC_PORT}:8080" + links: + - db + volumes: + - ${CODE_SERVER_CONFIG-./config/code-server.yml}:/root/.config/code-server/config.yaml + db: + image: 'mongo' + container_name: '${PROJECT_NAME}-db' + restart: 'always' + environment: + - MONGO_INITDB_DATABASE=db + - MONGO_INITDB_ROOT_USERNAME=root + - MONGO_INITDB_ROOT_PASSWORD=toor + volumes: + - ${MONGO_CONFIG-./config/init-mongo.js}:/docker-entrypoint-initdb.d/init-mongo.js:ro + - ${MONGO_VOLUME-./mongo-volume}:/data/db + ports: + - ${DB_PORT}:27017 + diff --git a/mongo-volume/.gitkeep b/mongo-volume/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/run-docker.sh b/run-docker.sh index 3861f18..8dca857 100755 --- a/run-docker.sh +++ b/run-docker.sh @@ -1,4 +1,7 @@ -#!/bin/bash +#!/bin/sh -docker build -t kinesis-debian . -docker run -d --tty --name kinesis-debian kinesis-debian +curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose +ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose + +docker-compose up -d