完善部署docker

This commit is contained in:
wanjia 2025-04-29 11:37:58 +08:00
parent f80301b068
commit 9c4eff0bea
5 changed files with 29 additions and 14 deletions

15
.env Normal file
View File

@ -0,0 +1,15 @@
# 数据库配置
DATABASE_NAME=rolebasedfilemanagement
DATABASE_USER=root
DATABASE_PASSWORD=Ooin2025!
DATABASE_HOST=db
DATABASE_PORT=3306
# Redis配置
REDIS_HOST=redis
REDIS_PORT=6379
# Django设置
DEBUG=False
SECRET_KEY=django-insecure-5f*=0_2did)e(()n58=e#vd5gaf&y$thgt(h6&=p+wm1*r6mb=
ALLOWED_HOSTS=localhost,127.0.0.1,*

View File

@ -8,6 +8,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
default-libmysqlclient-dev \ default-libmysqlclient-dev \
build-essential \ build-essential \
gcc \ gcc \
pkg-config \
python3-dev \
default-mysql-client \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# 复制依赖文件并安装 # 复制依赖文件并安装

View File

@ -30,7 +30,7 @@ services:
- MYSQL_DATABASE=rolebasedfilemanagement - MYSQL_DATABASE=rolebasedfilemanagement
- MYSQL_ROOT_PASSWORD=Ooin2025! - MYSQL_ROOT_PASSWORD=Ooin2025!
ports: ports:
- "3306:3306" - "3307:3306"
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
redis: redis:

Binary file not shown.

View File

@ -12,17 +12,14 @@ https://docs.djangoproject.com/en/5.1/ref/settings/
import os import os
from pathlib import Path from pathlib import Path
from dotenv import load_dotenv
# 加载.env文件中的环境变量
load_dotenv()
# API 配置 # API 配置
API_BASE_URL = 'http://81.69.223.133:48329' API_BASE_URL = 'http://81.69.223.133:48329'
DEPARTMENT_GROUPS = {
"技术部": ["开发组", "测试组", "运维组"],
"产品部": ["产品组", "设计组"],
"市场部": ["销售组", "推广组"],
"行政部": ["人事组", "财务组"]
}
# Build paths inside the project like this: BASE_DIR / 'subdir'. # Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent BASE_DIR = Path(__file__).resolve().parent.parent
@ -105,11 +102,11 @@ WSGI_APPLICATION = 'role_based_system.wsgi.application'
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.mysql', 'ENGINE': 'django.db.backends.mysql',
'NAME': 'rolebasedfilemanagement', 'NAME': os.environ.get('DATABASE_NAME', 'rolebasedfilemanagement'),
'USER': 'root', 'USER': os.environ.get('DATABASE_USER', 'root'),
'PASSWORD': 'Ooin2025!', 'PASSWORD': os.environ.get('DATABASE_PASSWORD', 'Ooin2025!'),
'HOST': 'localhost', 'HOST': os.environ.get('DATABASE_HOST', 'localhost'),
'PORT': '3306', 'PORT': os.environ.get('DATABASE_PORT', '3306'),
'OPTIONS': { 'OPTIONS': {
'charset': 'utf8mb4', # 使用 utf8mb4 字符集 'charset': 'utf8mb4', # 使用 utf8mb4 字符集
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'; SET innodb_strict_mode=1; SET NAMES utf8mb4;", 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'; SET innodb_strict_mode=1; SET NAMES utf8mb4;",
@ -174,7 +171,7 @@ CHANNEL_LAYERS = {
"default": { "default": {
"BACKEND": "channels_redis.core.RedisChannelLayer", "BACKEND": "channels_redis.core.RedisChannelLayer",
"CONFIG": { "CONFIG": {
"hosts": [("127.0.0.1", 6379)], "hosts": [(os.environ.get('REDIS_HOST', '127.0.0.1'), int(os.environ.get('REDIS_PORT', 6379)))],
"capacity": 1500, # 默认100 "capacity": 1500, # 默认100
"expiry": 60, # 默认60秒 "expiry": 60, # 默认60秒
}, },