marvzhang 5 лет назад
Родитель
Сommit
48dbb07698
9 измененных файлов с 62 добавлено и 6 удалено
  1. 1 0
      .gitignore
  2. 4 2
      Dockerfile
  3. 18 0
      Dockerfile-local
  4. 2 1
      backend/package.json
  5. 11 2
      docker-compose.yaml
  6. 17 0
      docker_init.sh
  7. 7 0
      nginx/artipub.conf
  8. 1 0
      server.js
  9. 1 1
      src/pages/document.ejs

+ 1 - 0
.gitignore

@@ -7,3 +7,4 @@ yarn.lock
 .DS_Store
 package-lock.json
 .umi/
+dist/

+ 4 - 2
Dockerfile

@@ -2,7 +2,7 @@ FROM jelastic/nodejs:8.16.1-npm AS frontend
 
 WORKDIR /app
 ADD . /app
-RUN npm install --registry=https://registry.npm.taobao.org
+RUN npm install
 RUN npm run build
 
 FROM jelastic/nodejs:8.16.1-npm
@@ -12,5 +12,7 @@ ADD . /app
 COPY --from=frontend /app/dist /frontend
 RUN cp ./backend/package.json .
 RUN npm install --registry=https://registry.npm.taobao.org
+RUN yum install -y nginx
+RUN cp /app/nginx/artipub.conf /etc/nginx/conf.d
 
-CMD npm run start:backend
+CMD /app/docker_init.sh

+ 18 - 0
Dockerfile-local

@@ -0,0 +1,18 @@
+FROM jelastic/nodejs:8.16.1-npm AS frontend
+
+WORKDIR /app
+ADD . /app
+RUN npm install --registry=https://registry.npm.taobao.org
+RUN npm run build
+
+FROM jelastic/nodejs:8.16.1-npm
+
+WORKDIR /app
+ADD . /app
+COPY --from=frontend /app/dist /frontend
+RUN cp ./backend/package.json .
+RUN npm install --registry=https://registry.npm.taobao.org
+RUN yum install -y nginx
+RUN cp /app/nginx/artipub.conf /etc/nginx/conf.d
+
+CMD /app/docker_init.sh

+ 2 - 1
backend/package.json

@@ -4,7 +4,8 @@
   "description": "",
   "main": "server.js",
   "scripts": {
-    "start": "node server.js"
+    "start": "node server.js",
+    "start:backend": "node server.js"
   },
   "author": "",
   "license": "ISC",

+ 11 - 2
docker-compose.yaml

@@ -1,7 +1,16 @@
 version: '3.3'
 services:
-  master:
+  app:
     image: "tikazyq/artipub:latest"
+    environment:
+      MONGO_HOST: "mongo"
     ports:
-      - "8080:8080" # frontend
+      - "8000:8000" # frontend
       - "3000:3000" # backend
+    depends_on:
+      - mongo
+  mongo:
+    image: mongo:latest
+    restart: always
+    ports:
+      - "27017:27017"

+ 17 - 0
docker_init.sh

@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+# replace original url to new one
+if [ "${ARTIPUB_API_ADDRESS}" = "" ];
+then
+	:
+else
+	jspath=`ls /frontend/umi.*.js`
+	sed -i "s?localhost:3000?${ARTIPUB_API_ADDRESS}?g" ${jspath}
+fi
+
+# start frontend
+nginx -s stop | true
+nginx
+
+# start backend
+npm run start:backend

+ 7 - 0
nginx/artipub.conf

@@ -0,0 +1,7 @@
+server {
+  listen  8000;
+  location / {
+    root    /frontend;
+    index   index.html;
+  }
+}

+ 1 - 0
server.js

@@ -13,6 +13,7 @@ const logger = require('./logger')
 const app = express()
 
 // 环境变量覆盖
+console.log(process.env)
 if (process.env.MONGO_HOST) config.MONGO_HOST = process.env.MONGO_HOST
 if (process.env.MONGO_PORT) config.MONGO_PORT = process.env.MONGO_PORT
 if (process.env.MONGO_DB) config.MONGO_DB = process.env.MONGO_DB

+ 1 - 1
src/pages/document.ejs

@@ -9,7 +9,7 @@
     />
     <title>ArtiPub</title>
     <link rel="icon" href="/favicon.ico" type="image/x-icon" />
-    <script src="http://sdk.talkingdata.com/app/h5/v1?appid=378E36452AF64EDCA6EF5EAAF53A7993&vn=0.1.1&vc=0.1.1"></script>
+    <script src="http://sdk.talkingdata.com/app/h5/v1?appid=378E36452AF64EDCA6EF5EAAF53A7993&vn=0.1.2&vc=0.1.2"></script>
   </head>
   <body>
     <noscript>Sorry, we need js to run correctly!</noscript>