mirror of
https://github.com/201206030/novel-cloud.git
synced 2025-04-26 09:20:51 +00:00
chore: 优化 Docker Compose 容器编排文件,进一步简化安装过程
This commit is contained in:
parent
a0f5bb8449
commit
eb26b6e599
32
doc/docker/.env
Normal file
32
doc/docker/.env
Normal file
@ -0,0 +1,32 @@
|
||||
# MYSQL 配置
|
||||
MYSQL_VERSION=8.0
|
||||
MYSQL_ROOT_PASSWORD=test123456
|
||||
|
||||
# Redis 配置
|
||||
REDIS_VERSION=7.0
|
||||
REDIS_PASSWORD=test123456
|
||||
|
||||
# RabbitMQ 配置
|
||||
RABBITMQ_VERSION=3-management
|
||||
RABBITMQ_DEFAULT_USER=xxyopen
|
||||
RABBITMQ_DEFAULT_PASS=test123456
|
||||
RABBITMQ_DEFAULT_VHOST=novel
|
||||
|
||||
# Elasticsearch 配置
|
||||
ELASTIC_VERSION=8.6.2
|
||||
# 'elastic' 账户的密码 (至少 6 个字符)
|
||||
ELASTIC_PASSWORD=Fy2JWjJ1hcO2mi1USFL1
|
||||
# 'kibana_system' 账号的密码 (至少 6 个字符)
|
||||
KIBANA_PASSWORD=5JbbVsW9TkYcJu9Y9
|
||||
|
||||
# Kibana 配置
|
||||
KIBANA_VERSION=8.6.2
|
||||
|
||||
# XXL-JOB 配置
|
||||
XXLJOB_VERSION=2.3.1
|
||||
XXLJOB_ACCESSTOKEN=123
|
||||
|
||||
# Nacos 配置
|
||||
NACOS_VERSION=v2.2.1
|
||||
|
||||
|
@ -3,76 +3,92 @@ version: '3.9'
|
||||
services:
|
||||
novel-mysql:
|
||||
container_name: novel-mysql
|
||||
image: mysql:8.0
|
||||
image: mysql:${MYSQL_VERSION}
|
||||
restart: always
|
||||
hostname: novel-mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=test123456
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
volumes:
|
||||
- "/data/docker/mysql/data:/var/lib/mysql"
|
||||
- "/data/docker/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql"
|
||||
command: mysqld --max_allowed_packet=100M
|
||||
ports:
|
||||
- 3306:3306
|
||||
- "3306:3306"
|
||||
networks:
|
||||
- novelnet
|
||||
|
||||
novel-redis:
|
||||
container_name: novel-redis
|
||||
image: redis:7.0
|
||||
image: redis:${REDIS_VERSION}
|
||||
restart: always
|
||||
hostname: novel-redis
|
||||
command: redis-server --save 60 1 --loglevel warning
|
||||
command: redis-server --save 60 1 --loglevel warning --requirepass "${REDIS_PASSWORD}"
|
||||
ports:
|
||||
- 6379:6379
|
||||
- "6379:6379"
|
||||
networks:
|
||||
- novelnet
|
||||
|
||||
novel-rabbitmq:
|
||||
container_name: novel-rabbitmq
|
||||
image: rabbitmq:3-management
|
||||
image: rabbitmq:${RABBITMQ_VERSION}
|
||||
restart: always
|
||||
hostname: novel-rabbitmq
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=xxyopen
|
||||
- RABBITMQ_DEFAULT_PASS=test123456
|
||||
- RABBITMQ_DEFAULT_VHOST=novel
|
||||
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
|
||||
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
|
||||
- RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST}
|
||||
ports:
|
||||
- 15672:15672
|
||||
- 5672:5672
|
||||
- "15672:15672"
|
||||
- "5672:5672"
|
||||
networks:
|
||||
- novelnet
|
||||
|
||||
novel-elasticsearch-setup:
|
||||
container_name: novel-elasticsearch-setup
|
||||
image: elasticsearch:${ELASTIC_VERSION}
|
||||
hostname: novel-elasticsearch-setup
|
||||
user: "0"
|
||||
command: >
|
||||
bash -c '
|
||||
echo "Waiting for Elasticsearch availability";
|
||||
until curl -s http://novel-elasticsearch:9200 | grep -q "missing authentication credentials"; do sleep 30; done;
|
||||
echo "Setting kibana_system password";
|
||||
until curl -s -X POST -u "elastic:${ELASTIC_PASSWORD}" -H "Content-Type: application/json" http://novel-elasticsearch:9200/_security/user/kibana_system/_password -d "{\"password\":\"${KIBANA_PASSWORD}\"}" | grep -q "^{}"; do sleep 10; done;
|
||||
echo "All done!";
|
||||
'
|
||||
networks:
|
||||
- novelnet
|
||||
|
||||
novel-elasticsearch:
|
||||
container_name: novel-elasticsearch
|
||||
image: elasticsearch:8.6.2
|
||||
image: elasticsearch:${ELASTIC_VERSION}
|
||||
restart: always
|
||||
hostname: novel-elasticsearch
|
||||
environment:
|
||||
# 内存不够用的话最好不要配置这个
|
||||
# - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
- "ES_JAVA_OPTS=-Xms125m -Xmx512m"
|
||||
- discovery.type=single-node
|
||||
# 挂载本地目录时需要修改该目录的读写权限才能正常启动
|
||||
# volumes:
|
||||
# - /data/docker/elasticsearch/data:/usr/share/elasticsearch/data
|
||||
# - /data/docker/elasticsearch/logs:/usr/share/elasticsearch/logs
|
||||
- ELASTIC_PASSWORD=${ELASTIC_PASSWORD}
|
||||
- KIBANA_PASSWORD=${KIBANA_PASSWORD}
|
||||
- xpack.security.http.ssl.enabled=false
|
||||
ports:
|
||||
- 9200:9200
|
||||
- 9300:9300
|
||||
- "9200:9200"
|
||||
depends_on:
|
||||
- novel-elasticsearch-setup
|
||||
networks:
|
||||
- novelnet
|
||||
|
||||
novel-kibana:
|
||||
container_name: novel-kibana
|
||||
image: kibana:8.6.2
|
||||
image: kibana:${KIBANA_VERSION}
|
||||
restart: always
|
||||
hostname: novel-kibana
|
||||
environment:
|
||||
ELASTICSEARCH_HOSTS: '["https://novel-elasticsearch:9200"]'
|
||||
volumes:
|
||||
- /data/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
|
||||
- ELASTICSEARCH_HOSTS=http://novel-elasticsearch:9200
|
||||
- ELASTICSEARCH_USERNAME=kibana_system
|
||||
- ELASTICSEARCH_PASSWORD=${KIBANA_PASSWORD}
|
||||
# - ELASTICSEARCH_SSL_VERIFICATIONMODE=none
|
||||
ports:
|
||||
- 5601:5601
|
||||
- "5601:5601"
|
||||
depends_on:
|
||||
- novel-elasticsearch
|
||||
networks:
|
||||
@ -80,16 +96,16 @@ services:
|
||||
|
||||
novel-xxl-job-admin:
|
||||
container_name: novel-xxl-job-admin
|
||||
image: xuxueli/xxl-job-admin:2.3.1
|
||||
image: xuxueli/xxl-job-admin:${XXLJOB_VERSION}
|
||||
restart: always
|
||||
hostname: novel-xxl-job-admin
|
||||
environment:
|
||||
- PARAMS=--spring.datasource.url=jdbc:mysql://novel-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=test123456 --xxl.job.accessToken=123
|
||||
- PARAMS=--spring.datasource.url=jdbc:mysql://novel-mysql:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=${MYSQL_ROOT_PASSWORD} --xxl.job.accessToken=${XXLJOB_ACCESSTOKEN}
|
||||
- JAVA_OPTS=-Xmx512m
|
||||
volumes:
|
||||
- /data/docker/xxl-job-admin/data/applogs:/data/applogs
|
||||
ports:
|
||||
- 8080:8080
|
||||
- "8080:8080"
|
||||
depends_on:
|
||||
- novel-mysql
|
||||
networks:
|
||||
@ -97,7 +113,7 @@ services:
|
||||
|
||||
novel-nacos-server:
|
||||
container_name: novel-nacos-server
|
||||
image: nacos/nacos-server:v2.2.1
|
||||
image: nacos/nacos-server:${NACOS_VERSION}
|
||||
restart: always
|
||||
hostname: novel-nacos-server
|
||||
environment:
|
||||
@ -108,7 +124,7 @@ services:
|
||||
- MYSQL_SERVICE_DB_NAME=nacos
|
||||
- MYSQL_SERVICE_PORT=3306
|
||||
- MYSQL_SERVICE_USER=root
|
||||
- MYSQL_SERVICE_PASSWORD=test123456
|
||||
- MYSQL_SERVICE_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
||||
- NACOS_AUTH_IDENTITY_KEY=xxyopen
|
||||
- NACOS_AUTH_IDENTITY_VALUE=xxyopen
|
||||
@ -128,4 +144,4 @@ services:
|
||||
|
||||
networks:
|
||||
novelnet:
|
||||
driver: bridge
|
||||
driver: bridge
|
@ -9,16 +9,13 @@ PUT /book
|
||||
"type" : "long"
|
||||
},
|
||||
"authorName" : {
|
||||
"type" : "text",
|
||||
"analyzer": "ik_smart"
|
||||
"type" : "text"
|
||||
},
|
||||
"bookName" : {
|
||||
"type" : "text",
|
||||
"analyzer": "ik_smart"
|
||||
"type" : "text"
|
||||
},
|
||||
"bookDesc" : {
|
||||
"type" : "text",
|
||||
"analyzer": "ik_smart"
|
||||
"type" : "text"
|
||||
},
|
||||
"bookStatus" : {
|
||||
"type" : "short"
|
||||
@ -27,15 +24,13 @@ PUT /book
|
||||
"type" : "integer"
|
||||
},
|
||||
"categoryName" : {
|
||||
"type" : "text",
|
||||
"analyzer": "ik_smart"
|
||||
"type" : "text"
|
||||
},
|
||||
"lastChapterId" : {
|
||||
"type" : "long"
|
||||
},
|
||||
"lastChapterName" : {
|
||||
"type" : "text",
|
||||
"analyzer": "ik_smart"
|
||||
"type" : "text"
|
||||
},
|
||||
"lastChapterUpdateTime" : {
|
||||
"type": "long"
|
||||
|
4
novel-author/novel-author-service/Dockerfile
Normal file
4
novel-author/novel-author-service/Dockerfile
Normal file
@ -0,0 +1,4 @@
|
||||
FROM java:17
|
||||
ADD novel-author-service-2.0.0-SNAPSHOT.jar /root
|
||||
ENV NACOS_ADDR=""
|
||||
ENTRYPOINT ["sh","-c","java -Dspring.cloud.nacos.config.server-addr=${NACOS_ADDR} -Dspring.cloud.nacos.discovery.server-addr=${NACOS_ADDR} -jar novel-author-service-2.0.0-SNAPSHOT.jar"]
|
@ -8,7 +8,6 @@ import io.github.xxyopen.novel.book.service.BookService;
|
||||
import io.github.xxyopen.novel.common.constant.ApiRouterConsts;
|
||||
import io.github.xxyopen.novel.common.resp.PageRespDto;
|
||||
import io.github.xxyopen.novel.common.resp.RestResp;
|
||||
import io.github.xxyopen.novel.user.dto.resp.UserInfoRespDto;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
Loading…
x
Reference in New Issue
Block a user