Commit 5ff53c65 authored by Liang Ding's avatar Liang Ding

🐳 #12718 简化

parent c1a61d6e
FROM maven:3-jdk-8-alpine FROM maven:3-jdk-8-alpine
LABEL maintainer="Tomaer Ma<i@tomaer.com>" LABEL maintainer="Tomaer Ma<i@tomaer.com>"
WORKDIR /opt/b3log/solo WORKDIR /opt/solo
ADD . /tmp ADD . /tmp
RUN cd /tmp && mvn install -DskipTests -Pci && mv target/solo/* /opt/b3log/solo/ \ RUN cd /tmp && mvn install -DskipTests -Pci && mv target/solo/* /opt/solo/ \
&& mkdir -p /opt/b3log/backup/ && mkdir -p /opt/b3log/tmp/ \
&& rm -rf /opt/b3log/solo/WEB-INF/classes/local.properties /opt/b3log/solo/WEB-INF/classes/latke.properties \
&& rm -rf /tmp/* && rm -rf ~/.m2 && rm -rf /tmp/* && rm -rf ~/.m2
ADD ./src/main/resources/docker/entrypoint.sh $WORKDIR
ADD ./src/main/resources/docker/local.properties.h2 /opt/b3log/tmp
ADD ./src/main/resources/docker/local.properties.mysql /opt/b3log/tmp
ADD ./src/main/resources/docker/latke.properties /opt/b3log/tmp
RUN chmod 777 /opt/b3log/solo/entrypoint.sh
VOLUME ["/opt/b3log/backup/"]
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT [ "/opt/b3log/solo/entrypoint.sh" ] ENTRYPOINT [ "java -cp \"WEB-INF/lib/*:WEB-INF/classes\" org.b3log.solo.Starter" ]
version: '3.1'
services:
web:
image: b3log/solo
restart: unless-stopped
ports:
- 8080:8080
environment:
SERVER_SCHEME: https
SERVER_NAME: <your host>
SERVER_PORT: 80
volumes:
- database:/opt/b3log/backup
volumes:
database:
...@@ -17,22 +17,18 @@ ...@@ -17,22 +17,18 @@
# #
# #
# Description: B3log Latke configurations. Configures the section "Server" carefully. # Description: Latke configurations for docker.
# Version: 1.5.3.9, Aug 11, 2017 # Version: 2.0.0.0, Mar 19, 2019
# Author: Liang Ding # Author: Liang Ding
# #
#### Server #### #### Server ####
# Browser visit protocol # Browser visit protocol
serverScheme={{SERVER_SCHEME}} serverScheme=${SERVER_SCHEME}
# Browser visit domain name # Browser visit domain name
serverHost={{SERVER_NAME}} serverHost=${SERVER_NAME}
# Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT! # Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!
serverPort={{SERVER_PORT}} serverPort=${SERVER_PORT}
#### Cookie ####
cookieName=solo
cookieSecret=Beyond
#### Runtime Mode #### #### Runtime Mode ####
### runtimeMode=DEVELOPMENT ### runtimeMode=DEVELOPMENT
......
#!/bin/bash
# #
# Solo - A small and beautiful blogging system written in Java. # Solo - A small and beautiful blogging system written in Java.
# Copyright (c) 2010-2019, b3log.org & hacpai.com # Copyright (c) 2010-2019, b3log.org & hacpai.com
...@@ -17,30 +16,21 @@ ...@@ -17,30 +16,21 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# #
## author: tomaer.Ma <i@tomaer.com> #
# Description: Solo local environment configurations for docker.
DATEBASE_TYPE=${DATEBASE_TYPE:-h2} # Version: 2.0.0.0, Mar 19, 2019
# Author: Liang Ding
if [ ! -f "/opt/b3log/solo/WEB-INF/classes/local.properties" ]; then #
if [ "$DATABASE_TYPE" == "mysql" ]; then
cat /opt/b3log/tmp/local.properties.mysql | sed \
-e "s|{{DATABASE_HOST}}|${DATABASE_HOST}|g" \
-e "s|{{DATABASE_PORT}}|${DATABASE_PORT:-3306}|g" \
-e "s|{{DATABASE_NAME}}|${DATABASE_NAME:-solo}|g" \
-e "s|{{DATABASE_USERNAME}}|${DATABASE_USERNAME:-root}|g" \
-e "s|{{DATABASE_PASSWORD}}|${DATABASE_PASSWORD}|g" \
> /opt/b3log/solo/WEB-INF/classes/local.properties
else
cp /opt/b3log/tmp/local.properties.h2 /opt/b3log/solo/WEB-INF/classes/local.properties
fi
cat /opt/b3log/tmp/latke.properties | sed \ runtimeDatabase=${RUNTIME_DB}
-e "s|{{SERVER_SCHEME}}|${SERVER_SCHEME:-http}|g" \ jdbc.username=${JDBC_USERNAME}
-e "s|{{SERVER_NAME}}|${SERVER_NAME:-localhost}|g" \ jdbc.password=${JDBC_PASSWORD}
-e "s|{{SERVER_PORT}}|${SERVER_PORT:-8080}|g" \ jdbc.driver=${JDBC_DRIVER}
> /opt/b3log/solo/WEB-INF/classes/latke.properties jdbc.URL=${JDBC_URL}
rm -rf /opt/b3log/tmp # The minConnCnt MUST larger or equal to 3
fi jdbc.minConnCnt=5
jdbc.maxConnCnt=10
java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter # The specific table name prefix
jdbc.tablePrefix=b3_solo
#
# Description: Solo local environment configurations for test.
# Version: 1.1.3.10, Sep 13, 2018
# Author: Liang Ding
#
#### H2 runtime ####
runtimeDatabase=H2
jdbc.username=root
jdbc.password=
jdbc.driver=org.h2.Driver
jdbc.URL=jdbc:h2:/opt/b3log/backup/solo_h2/db
#### MySQL runtime ####
# runtimeDatabase=MYSQL
# jdbc.username={{DATABASE_USERNAME}}
# jdbc.password={{DATABASE_PASSWORD}}
# jdbc.driver=com.mysql.jdbc.Driver
# jdbc.URL=jdbc:mysql://{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}?useUnicode=yes&characterEncoding=utf8
# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10
# The specific table name prefix
jdbc.tablePrefix=b3_solo
#
# Description: Solo local environment configurations for test.
# Version: 1.1.3.10, Sep 13, 2018
# Author: Liang Ding
#
#### H2 runtime ####
# runtimeDatabase=H2
# jdbc.username=root
# jdbc.password=
# jdbc.driver=org.h2.Driver
# jdbc.URL=jdbc:h2:~/solo_h2/db
#### MySQL runtime ####
runtimeDatabase=MYSQL
jdbc.username={{DATABASE_USERNAME}}
jdbc.password={{DATABASE_PASSWORD}}
jdbc.driver=com.mysql.jdbc.Driver
jdbc.URL=jdbc:mysql://{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}?useUnicode=yes&characterEncoding=utf8
# The minConnCnt MUST larger or equal to 3
jdbc.minConnCnt=5
jdbc.maxConnCnt=10
# The specific table name prefix
jdbc.tablePrefix=b3_solo
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment