diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..06f93da
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,10 @@
+FROM openjdk:8
+
+COPY backend/build/libs/portal-1.0.jar /opt/portal/portal.jar
+COPY frontend/dist /opt/portal/dist/
+
+EXPOSE 8080
+
+WORKDIR /opt/portal
+
+CMD ["java" , "-jar", "portal.jar"]
\ No newline at end of file
diff --git a/backend/build.gradle b/backend/build.gradle
index d9047cc..dd3c0ca 100644
--- a/backend/build.gradle
+++ b/backend/build.gradle
@@ -5,10 +5,20 @@
     id 'org.jetbrains.kotlin.plugin.spring'
     id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.31'
     id 'io.spring.dependency-management'
+    id 'com.palantir.docker' version '0.22.1'
 }
 
+docker {
+    name 'harbor.supwisdom.com/dali/portal:' + version
+    println(jar.archivePath)
+    files jar.archivePath
+}
+
+docker.dependsOn(jar)
+
+archivesBaseName = 'portal'
 group 'com.supwisdom.dlpay'
-version '1.0-SNAPSHOT'
+version '1.0'
 
 sourceCompatibility = 1.8
 
diff --git a/backend/src/main/java/com/supwisdom/dlpay/framework/jpa/Finder.java b/backend/src/main/java/com/supwisdom/dlpay/framework/jpa/Finder.java
index a344ce8..c6dfcc5 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/framework/jpa/Finder.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/framework/jpa/Finder.java
@@ -278,10 +278,10 @@
 	public static final String ORDER_BY = "order by";
 	public static final String GROUP_BY = "group by";
 
-	public static void main(String[] args) {
-		Finder find = Finder
-				.create("select distinct p FROM BookType join fetch p");
-		System.out.println(find.getRowCountHql());
-		System.out.println(find.getOrigHql());
-	}
+//	public static void main(String[] args) {
+//		Finder find = Finder
+//				.create("select distinct p FROM BookType join fetch p");
+//		System.out.println(find.getRowCountHql());
+//		System.out.println(find.getOrigHql());
+//	}
 }
\ No newline at end of file
diff --git a/backend/src/main/java/com/supwisdom/dlpay/portal/util/SecurityConfig.java b/backend/src/main/java/com/supwisdom/dlpay/portal/util/SecurityConfig.java
new file mode 100644
index 0000000..3229dd0
--- /dev/null
+++ b/backend/src/main/java/com/supwisdom/dlpay/portal/util/SecurityConfig.java
@@ -0,0 +1,21 @@
+package com.supwisdom.dlpay.portal.util;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class SecurityConfig implements WebMvcConfigurer  {
+
+  @Bean
+  public WebMvcConfigurer forwordToIndex() {
+    return new WebMvcConfigurer() {
+      @Override
+      public void addViewControllers(ViewControllerRegistry registry) {
+        registry.addViewController("/pages").setViewName("forward:/pages/index.html");
+        registry.addViewController("/pages/").setViewName("forward:/pages/index.html");
+      }
+    };
+  }
+}
diff --git a/backend/src/main/java/com/supwisdom/dlpay/util/RSAKeysGenerate.java b/backend/src/main/java/com/supwisdom/dlpay/util/RSAKeysGenerate.java
index 82d2b82..f040c44 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/util/RSAKeysGenerate.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/util/RSAKeysGenerate.java
@@ -33,18 +33,18 @@
   private static final int MAX_DECRYPT_BLOCK = 128;
   /** 默认的安全服务提供者 */
   private static final Provider DEFAULT_PROVIDER = new BouncyCastleProvider();
-  public static void main(String[] args) {
-    Map<String, Object> keyMap;
-    try {
-      keyMap = initKey();
-      String publicKey = getPublicKey(keyMap);
-      System.out.println(publicKey);
-      String privateKey = getPrivateKey(keyMap);
-      System.out.println(privateKey);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-  }
+//  public static void main(String[] args) {
+//    Map<String, Object> keyMap;
+//    try {
+//      keyMap = initKey();
+//      String publicKey = getPublicKey(keyMap);
+//      System.out.println(publicKey);
+//      String privateKey = getPrivateKey(keyMap);
+//      System.out.println(privateKey);
+//    } catch (Exception e) {
+//      e.printStackTrace();
+//    }
+//  }
 
   public static String getPublicKey(Map<String, Object> keyMap) throws Exception {
     Key key = (Key) keyMap.get(PUBLIC_KEY);
diff --git a/backend/src/main/java/com/supwisdom/dlpay/util/TOTP.java b/backend/src/main/java/com/supwisdom/dlpay/util/TOTP.java
index bcab4d3..ea4bbcc 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/util/TOTP.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/util/TOTP.java
@@ -182,20 +182,20 @@
 		return result;
 	}
 
-	public static void main(String[] args) {
-		long X = 30;
-		long T0 = 0;
-		String steps = "0";
-		long time = System.currentTimeMillis() / 1000;
-		System.out.println(time);
-		long T = (time - T0) / X;
-		steps = Long.toHexString(T).toUpperCase();
-		while (steps.length() < 16) {
-			steps = "0" + steps;
-		}
-		String seed = "9e8bb3d2df73741c041aef39e37ee015fc98233720a1350fcd67d5c3027896ac";
-		String totp = TOTP.generateTOTP(seed, steps, "8", "HmacSHA256");
-		System.out.println(totp);
+//	public static void main(String[] args) {
+//		long X = 30;
+//		long T0 = 0;
+//		String steps = "0";
+//		long time = System.currentTimeMillis() / 1000;
+//		System.out.println(time);
+//		long T = (time - T0) / X;
+//		steps = Long.toHexString(T).toUpperCase();
+//		while (steps.length() < 16) {
+//			steps = "0" + steps;
+//		}
+//		String seed = "9e8bb3d2df73741c041aef39e37ee015fc98233720a1350fcd67d5c3027896ac";
+//		String totp = TOTP.generateTOTP(seed, steps, "8", "HmacSHA256");
+//		System.out.println(totp);
 
 		/*
 
@@ -260,5 +260,5 @@
 		}
 
 		*/
-	}
+//	}
 }
\ No newline at end of file
diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties
index ffe72fb..d757f8f 100644
--- a/backend/src/main/resources/application.properties
+++ b/backend/src/main/resources/application.properties
@@ -7,7 +7,6 @@
 spring.jpa.show-sql=true
 spring.datasource.hikari.connection-timeout=60000
 spring.datasource.hikari.maximum-pool-size=5
-spring.jpa.hibernate.ddl-auto=update
 # logging
 logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
 logging.level.org.hibernate.SQL=debug
@@ -15,10 +14,9 @@
 #spring.mvc.view.prefix=/pages/
 #spring.mvc.view.suffix=.jsp
 server.servlet.context-path=/portal
-server.port=8089
 #################### thymeleaf ####################
-spring.mvc.static-path-pattern=/static/**
-spring.thymeleaf.prefix=classpath:/templates/
+spring.mvc.static-path-pattern=/pages/**
+spring.resources.static-locations=file:/opt/portal/dist/
 spring.thymeleaf.suffix=.html
 spring.thymeleaf.encoding=UTF-8
 spring.thymeleaf.mode=HTML5
@@ -31,7 +29,6 @@
 server.tomcat.uri-encoding=UTF-8
 ##################################################
 ## quartz task scheduler
-shopbalance.updater.cron=*/10 * * * * ?
 dayend.settletask.cron=0 3/30 2-3 * * ?
 query.third.transdtl.result.cron=7 0/1 * * * ?
 payapi.sourcetype.checker.scheduler=7 3/10 * * * ?
@@ -41,5 +38,4 @@
 # user password
 auth.password.bcrypt.length=10
 ###################################################
-spring.redis.database=0
 multi-tenant.datasource.base-package=com.supwisdom.dlpay
\ No newline at end of file
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 53d2f04..664084c 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -17,6 +17,8 @@
 spring.redis.port=6379
 spring.redis.password=
 spring.redis.database=2
+#port
+server.port=8089
 # jwt settings
 jwt.secret=Zj5taLomEbrM0lk+NMQZbHfSxaDU1wekjT+kiC3YzDw=
 # timeout seconds
diff --git a/frontend/.env.production b/frontend/.env.production
index 80c8103..144e79a 100644
--- a/frontend/.env.production
+++ b/frontend/.env.production
@@ -2,5 +2,5 @@
 ENV = 'production'
 
 # base api
-VUE_APP_BASE_API = '/prod-api'
+VUE_APP_BASE_API = '/portal/portalapi'
 
diff --git a/frontend/vue.config.js b/frontend/vue.config.js
index dfe2483..19b8cb8 100644
--- a/frontend/vue.config.js
+++ b/frontend/vue.config.js
@@ -14,7 +14,12 @@
 // You can change the port by the following method:
 // port = 9527 npm run dev OR npm run dev --port = 9527
 const port = process.env.port || process.env.npm_config_port || 9527 // dev port
-
+var publicPath = 'portal'
+if (process.env.NODE_ENV === 'development') {
+  publicPath = '/portal'
+} else if (process.env.NODE_ENV === 'production') {
+  publicPath = '/portal/pages'
+}
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
   /**
@@ -24,7 +29,7 @@
    * In most cases please use '/' !!!
    * Detail: https://cli.vuejs.org/config/#publicpath
    */
-  publicPath: '/portal',
+  publicPath: publicPath,
   outputDir: 'dist',
   assetsDir: 'static',
   lintOnSave: process.env.NODE_ENV === 'development',
