Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -21,13 +21,15 @@ DATABASE_PORT = 3306
|
|||||||
# # 数据库用户名
|
# # 数据库用户名
|
||||||
DATABASE_USER = "root"
|
DATABASE_USER = "root"
|
||||||
# # 数据库密码
|
# # 数据库密码
|
||||||
DATABASE_PASSWORD = "DVADMIN3"
|
DATABASE_PASSWORD = 'DVADMIN3'
|
||||||
|
|
||||||
# 表前缀
|
# 表前缀
|
||||||
TABLE_PREFIX = "dvadmin_"
|
TABLE_PREFIX = "dvadmin_"
|
||||||
# ================================================= #
|
# ================================================= #
|
||||||
# ******** redis配置,无redis 可不进行配置 ******** #
|
# ******** redis配置,无redis 可不进行配置 ******** #
|
||||||
# ================================================= #
|
# ================================================= #
|
||||||
|
REDIS_DB = 1
|
||||||
|
CELERY_BROKER_DB = 3
|
||||||
REDIS_PASSWORD = 'DVADMIN3'
|
REDIS_PASSWORD = 'DVADMIN3'
|
||||||
REDIS_HOST = '127.0.0.1'
|
REDIS_HOST = '127.0.0.1'
|
||||||
REDIS_URL = f'redis://:{REDIS_PASSWORD or ""}@{REDIS_HOST}:6379'
|
REDIS_URL = f'redis://:{REDIS_PASSWORD or ""}@{REDIS_HOST}:6379'
|
||||||
|
|||||||
@@ -485,7 +485,7 @@ class SystemConfig(CoreModel):
|
|||||||
help_text="父级",
|
help_text="父级",
|
||||||
)
|
)
|
||||||
title = models.CharField(max_length=50, verbose_name="标题", help_text="标题")
|
title = models.CharField(max_length=50, verbose_name="标题", help_text="标题")
|
||||||
key = models.CharField(max_length=20, verbose_name="键", help_text="键", db_index=True)
|
key = models.CharField(max_length=100, verbose_name="键", help_text="键", db_index=True)
|
||||||
value = models.JSONField(max_length=100, verbose_name="值", help_text="值", null=True, blank=True)
|
value = models.JSONField(max_length=100, verbose_name="值", help_text="值", null=True, blank=True)
|
||||||
sort = models.IntegerField(default=0, verbose_name="排序", help_text="排序", blank=True)
|
sort = models.IntegerField(default=0, verbose_name="排序", help_text="排序", blank=True)
|
||||||
status = models.BooleanField(default=True, verbose_name="启用状态", help_text="启用状态")
|
status = models.BooleanField(default=True, verbose_name="启用状态", help_text="启用状态")
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "3306:3306"
|
- "3306:3306"
|
||||||
environment:
|
environment:
|
||||||
MYSQL_ROOT_PASSWORD: "DVADMIN3"
|
MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}
|
||||||
MYSQL_DATABASE: "django-vue3-admin"
|
MYSQL_DATABASE: "django-vue3-admin"
|
||||||
TZ: Asia/Shanghai
|
TZ: Asia/Shanghai
|
||||||
command:
|
command:
|
||||||
@@ -101,7 +101,7 @@ services:
|
|||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
sysctls: # 设置容器中的内核参数
|
sysctls: # 设置容器中的内核参数
|
||||||
- net.core.somaxconn=1024
|
- net.core.somaxconn=1024
|
||||||
command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --appendonly yes --requirepass DVADMIN3" # 指定配置文件并开启持久化
|
command: /bin/sh -c "echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && redis-server /etc/redis/redis.conf --appendonly yes --requirepass ${MYSQL_PASSWORD}" # 指定配置文件并开启持久化
|
||||||
privileged: true # 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
|
privileged: true # 使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
|
||||||
networks:
|
networks:
|
||||||
network:
|
network:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ WORKDIR /backend
|
|||||||
COPY ./backend/ .
|
COPY ./backend/ .
|
||||||
RUN ls ./conf/
|
RUN ls ./conf/
|
||||||
RUN awk 'BEGIN { cmd="cp -i ./conf/env.example.py ./conf/env.py "; print "n" |cmd; }'
|
RUN awk 'BEGIN { cmd="cp -i ./conf/env.example.py ./conf/env.py "; print "n" |cmd; }'
|
||||||
RUN sed -i "s|DATABASE_HOST = "127.0.0.1"|DATABASE_HOST = '177.10.0.1'|g" ./conf/env.py
|
RUN sed -i "s|DATABASE_HOST = '127.0.0.1'|DATABASE_HOST = '177.10.0.1'|g" ./conf/env.py
|
||||||
RUN sed -i "s|REDIS_HOST = '127.0.0.1'|REDIS_HOST = '177.10.0.1'|g" ./conf/env.py
|
RUN sed -i "s|REDIS_HOST = '127.0.0.1'|REDIS_HOST = '177.10.0.1'|g" ./conf/env.py
|
||||||
RUN python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt
|
RUN python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt
|
||||||
CMD ["/backend/docker_start.sh"]
|
CMD ["/backend/docker_start.sh"]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[mysql]
|
[mysql]
|
||||||
#设置mysql客户端默认字符集
|
#设置mysql客户端默认字符集
|
||||||
default-character-set=utf8
|
default-character-set=utf8
|
||||||
socket=/var/run/mysql/mysql.sock
|
socket=/var/lib/mysql/mysql.sock
|
||||||
|
|
||||||
|
|
||||||
[mysqld]
|
[mysqld]
|
||||||
@@ -9,7 +9,7 @@ socket=/var/run/mysql/mysql.sock
|
|||||||
#mysql5.7以后的不兼容问题处理
|
#mysql5.7以后的不兼容问题处理
|
||||||
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
|
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
|
||||||
datadir=/var/lib/mysql
|
datadir=/var/lib/mysql
|
||||||
socket=/var/run/mysql/mysql.sock
|
socket=/var/lib/mysql/mysql.sock
|
||||||
|
|
||||||
# Disabling symbolic-links is recommended to prevent assorted security risks
|
# Disabling symbolic-links is recommended to prevent assorted security risks
|
||||||
symbolic-links=0
|
symbolic-links=0
|
||||||
@@ -30,4 +30,4 @@ default-time_zone='+8:00'
|
|||||||
|
|
||||||
[mysqld_safe]
|
[mysqld_safe]
|
||||||
log-error=/var/log/mariadb/mariadb.log
|
log-error=/var/log/mariadb/mariadb.log
|
||||||
pid-file=/var/run/mariadb/mariadb.pid
|
pid-file=/var/lib/mariadb/mariadb.pid
|
||||||
|
|||||||
31
init.sh
Normal file
31
init.sh
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
ENV_FILE=".env"
|
||||||
|
# 检查 .env 文件是否存在
|
||||||
|
if [ -f "$ENV_FILE" ]; then
|
||||||
|
echo "$ENV_FILE 文件已存在。"
|
||||||
|
else
|
||||||
|
# 生成MYSQL随机密码
|
||||||
|
MYSQL_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 18)
|
||||||
|
echo "MYSQL_PASSWORD=$MYSQL_PASSWORD" >> "$ENV_FILE"
|
||||||
|
echo "MYSQL随机密码已生成并写入 $ENV_FILE 文件。"
|
||||||
|
# 生成REDIS随机密码
|
||||||
|
REDIS_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 12)
|
||||||
|
# 将密码写入 .env 文件
|
||||||
|
echo "REDIS_PASSWORD=$REDIS_PASSWORD" >> "$ENV_FILE"
|
||||||
|
echo "REDIS随机密码已生成并写入 $ENV_FILE 文件。"
|
||||||
|
|
||||||
|
awk 'BEGIN { cmd="cp -i ./backend/conf/env.example.py ./backend/conf/env.py "; print "n" |cmd; }'
|
||||||
|
sed -i "s|DATABASE_HOST = '127.0.0.1'|DATABASE_HOST = '177.10.0.13'|g" ./backend/conf/env.py
|
||||||
|
sed -i "s|REDIS_HOST = '127.0.0.1'|REDIS_HOST = '177.10.0.15'|g" ./backend/conf/env.py
|
||||||
|
sed -i "s|DATABASE_PASSWORD = 'DVADMIN3'|DATABASE_PASSWORD = '$MYSQL_PASSWORD'|g" ./backend/conf/env.py
|
||||||
|
sed -i "s|REDIS_PASSWORD = 'DVADMIN3'|REDIS_PASSWORD = '$REDIS_PASSWORD'|g" ./backend/conf/env.py
|
||||||
|
echo "初始化密码创建成功"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker-compose up -d
|
||||||
|
docker exec dvadmin3-django python manage.py makemigrations
|
||||||
|
docker exec dvadmin3-django python manage.py migrate
|
||||||
|
docker exec dvadmin3-django python manage.py init
|
||||||
|
echo "欢迎使用dvadmin3项目"
|
||||||
|
echo "登录地址:http://ip:8080"
|
||||||
|
echo "如访问不到,请检查防火墙配置"
|
||||||
@@ -10,10 +10,11 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@element-plus/icons-vue": "^2.0.10",
|
"@element-plus/icons-vue": "^2.0.10",
|
||||||
"@fast-crud/fast-crud": "^1.19.2",
|
"@fast-crud/fast-crud": "^1.20.1",
|
||||||
"@fast-crud/fast-extends": "^1.19.2",
|
"@fast-crud/fast-extends": "^1.20.1",
|
||||||
"@fast-crud/ui-element": "^1.19.2",
|
"@fast-crud/ui-element": "^1.20.1",
|
||||||
"@fast-crud/ui-interface": "^1.19.2",
|
"@fast-crud/ui-interface": "^1.20.1",
|
||||||
|
"@iconify/vue": "^4.1.1",
|
||||||
"@types/lodash": "^4.14.202",
|
"@types/lodash": "^4.14.202",
|
||||||
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
"@vitejs/plugin-vue-jsx": "^3.0.0",
|
||||||
"@wangeditor/editor": "^5.1.23",
|
"@wangeditor/editor": "^5.1.23",
|
||||||
@@ -22,7 +23,7 @@
|
|||||||
"axios": "^1.2.1",
|
"axios": "^1.2.1",
|
||||||
"countup.js": "^2.3.2",
|
"countup.js": "^2.3.2",
|
||||||
"cropperjs": "^1.5.13",
|
"cropperjs": "^1.5.13",
|
||||||
"e-icon-picker": "^2.1.1",
|
"e-icon-picker": "^2.2.0",
|
||||||
"echarts": "^5.4.1",
|
"echarts": "^5.4.1",
|
||||||
"echarts-gl": "^2.0.9",
|
"echarts-gl": "^2.0.9",
|
||||||
"echarts-wordcloud": "^2.1.0",
|
"echarts-wordcloud": "^2.1.0",
|
||||||
@@ -32,6 +33,7 @@
|
|||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"js-table2excel": "^1.0.3",
|
"js-table2excel": "^1.0.3",
|
||||||
"jsplumb": "^2.15.6",
|
"jsplumb": "^2.15.6",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.0.28",
|
"pinia": "^2.0.28",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { storeToRefs } from 'pinia';
|
|||||||
import { useThemeConfig } from '/@/stores/themeConfig';
|
import { useThemeConfig } from '/@/stores/themeConfig';
|
||||||
import logoMini from '/@/assets/logo-mini.svg';
|
import logoMini from '/@/assets/logo-mini.svg';
|
||||||
import { SystemConfigStore } from "/@/stores/systemConfig";
|
import { SystemConfigStore } from "/@/stores/systemConfig";
|
||||||
import _ from "lodash";
|
import _ from "lodash-es";
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const storesThemeConfig = useThemeConfig();
|
const storesThemeConfig = useThemeConfig();
|
||||||
const { themeConfig } = storeToRefs(storesThemeConfig);
|
const { themeConfig } = storeToRefs(storesThemeConfig);
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ import { getBaseURL } from "/@/utils/baseUrl";
|
|||||||
const Account = defineAsyncComponent(() => import('/@/views/system/login/component/account.vue'));
|
const Account = defineAsyncComponent(() => import('/@/views/system/login/component/account.vue'));
|
||||||
const Mobile = defineAsyncComponent(() => import('/@/views/system/login/component/mobile.vue'));
|
const Mobile = defineAsyncComponent(() => import('/@/views/system/login/component/mobile.vue'));
|
||||||
const Scan = defineAsyncComponent(() => import('/@/views/system/login/component/scan.vue'));
|
const Scan = defineAsyncComponent(() => import('/@/views/system/login/component/scan.vue'));
|
||||||
import _ from "lodash";
|
import _ from "lodash-es";
|
||||||
|
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const storesThemeConfig = useThemeConfig();
|
const storesThemeConfig = useThemeConfig();
|
||||||
|
|||||||
Reference in New Issue
Block a user