0908
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
navidrome:
|
||||
container_name: navidrome
|
||||
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/deluan/navidrome:pr-4181
|
||||
ports:
|
||||
- "4533:4533"
|
||||
restart: always
|
||||
environment:
|
||||
# 扫描音乐库的计划
|
||||
ND_SCANSCHEDULE: "@every 1h"
|
||||
# 日志级别
|
||||
ND_LOGLEVEL: "info"
|
||||
# 默认语言
|
||||
ND_DEFAULTLANGUAGE: "zh"
|
||||
# 会话超时时间
|
||||
ND_SESSIONTIMEOUT: "24h"
|
||||
# 启用下载功能
|
||||
ND_ENABLEDOWNLOADS: "true"
|
||||
# 启用收藏夹
|
||||
ND_ENABLEFAVOURITES: "true"
|
||||
# 启用共享功能
|
||||
ND_ENABLESHARING: "false"
|
||||
# 在 UI 中启用5星评级
|
||||
ND_ENABLESTARRATING: "true"
|
||||
# 启用转码配置
|
||||
ND_ENABLETRANSCODINGCONFIG: "true"
|
||||
# 转码缓存大小
|
||||
ND_TRANSCODINGCACHESIZE: "2000M"
|
||||
# 图片缓存大小
|
||||
ND_IMAGECACHESIZE: "1000M"
|
||||
# 音乐文件路径
|
||||
ND_MUSICFOLDER: "/music"
|
||||
# 数据路径
|
||||
ND_DATAFOLDER: "/data"
|
||||
volumes:
|
||||
# 将宿主机的数据目录挂载到容器的数据目录,用于数据持久化
|
||||
- "./data:/data"
|
||||
# 将宿主机的音乐目录挂载到容器的音乐目录,只读模式
|
||||
- "./music:/music:ro"
|
||||
networks:
|
||||
- navidrome-net
|
||||
|
||||
networks:
|
||||
navidrome-net:
|
||||
driver: bridge
|
||||
@@ -1,39 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 定义变量
|
||||
DOMAIN="stonelan.cn" # 主域名
|
||||
ADDITIONAL_DOMAINS=("gitea.stonelan.cn" "oneapi.stonelan.cn" "navidrome.stonelan.cn" "v.stonelan.cn" "sy.stonelan.cn" "registry.stonelan.cn" "image.stonelan.cn" "fastgpt.stonelan.cn" "membank.stonelan.cn") # 额外域名(与 nginx/conf.d 中的 server_name 对应)
|
||||
EMAIL="hpuzhagnwei@163.com" # 请替换为你的邮箱地址
|
||||
|
||||
# 检查 Certbot 是否安装
|
||||
if ! command -v certbot &> /dev/null
|
||||
then
|
||||
echo "Certbot 未安装,开始安装..."
|
||||
sudo apt update
|
||||
sudo apt install -y certbot python3-certbot-nginx
|
||||
fi
|
||||
|
||||
# 申请证书
|
||||
echo "开始申请证书..."
|
||||
|
||||
# 构建域名参数
|
||||
DOMAIN_ARGS="-d $DOMAIN"
|
||||
for domain in "${ADDITIONAL_DOMAINS[@]}"; do
|
||||
DOMAIN_ARGS="$DOMAIN_ARGS -d $domain"
|
||||
done
|
||||
|
||||
sudo certbot certonly --nginx $DOMAIN_ARGS --email $EMAIL --agree-tos --no-eff-email
|
||||
|
||||
# 检查证书是否申请成功
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "证书申请成功!"
|
||||
else
|
||||
echo "证书申请失败,请检查错误信息。"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 安装自动续期任务
|
||||
# echo "安装自动续期任务..."
|
||||
# (crontab -l 2>/dev/null; echo "0 12 * * * /usr/bin/certbot renew --quiet") | crontab -
|
||||
|
||||
# echo "自动续期任务安装成功!"
|
||||
@@ -1,151 +0,0 @@
|
||||
# Dolibarr ERP/CRM Docker部署指南
|
||||
|
||||
本指南将帮助您使用Docker Compose快速部署Dolibarr ERP/CRM系统。
|
||||
|
||||
## 功能特点
|
||||
|
||||
- 使用官方Dolibarr Docker镜像
|
||||
- 集成MariaDB数据库
|
||||
- 数据持久化存储
|
||||
- 可自定义配置
|
||||
|
||||
## 系统要求
|
||||
|
||||
- Docker 18.06.0+
|
||||
- Docker Compose 1.22.0+
|
||||
|
||||
## 部署步骤
|
||||
|
||||
### 1. 克隆或下载配置文件
|
||||
|
||||
确保您已经在`dolibarr`目录下有`docker-compose.yml`文件。
|
||||
|
||||
### 2. 启动服务
|
||||
|
||||
在`dolibarr`目录下执行以下命令:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
这将启动两个容器:
|
||||
- `dolibarr`:Dolibarr ERP/CRM应用
|
||||
- `dolibarr_db`:MariaDB数据库
|
||||
|
||||
### 3. 访问Dolibarr
|
||||
|
||||
启动完成后,通过以下地址访问Dolibarr:
|
||||
|
||||
```
|
||||
http://localhost:8080
|
||||
```
|
||||
|
||||
### 4. 完成安装
|
||||
|
||||
首次访问时,您需要完成Dolibarr的安装配置:
|
||||
|
||||
1. 选择您的语言并点击"开始安装"
|
||||
2. 检查系统需求(应该都是绿色的)
|
||||
3. 数据库配置:
|
||||
- 数据库类型:MySQL
|
||||
- 数据库服务器:db
|
||||
- 数据库名称:dolibarr
|
||||
- 数据库用户:dolibarr
|
||||
- 数据库密码:dolibarr_password
|
||||
4. 点击"测试连接"并确认连接成功
|
||||
5. 完成剩余的安装步骤
|
||||
|
||||
## 配置说明
|
||||
|
||||
### 环境变量
|
||||
|
||||
在`docker-compose.yml`文件中,您可以修改以下环境变量:
|
||||
|
||||
- `DOLI_ADMIN_LOGIN`:Dolibarr管理员用户名(默认:admin)
|
||||
- `DOLI_ADMIN_PASSWORD`:Dolibarr管理员密码(默认:admin_password)
|
||||
- `DOLI_URL_ROOT`:Dolibarr访问URL(默认:http://localhost:8080)
|
||||
- `MYSQL_ROOT_PASSWORD`:MariaDB root用户密码(默认:root_password)
|
||||
- `MYSQL_DATABASE`:数据库名称(默认:dolibarr)
|
||||
- `MYSQL_USER`:数据库用户名(默认:dolibarr)
|
||||
- `MYSQL_PASSWORD`:数据库密码(默认:dolibarr_password)
|
||||
|
||||
### 端口映射
|
||||
|
||||
默认将Dolibarr的80端口映射到主机的8080端口。您可以通过修改`ports`部分来更改:
|
||||
|
||||
```yaml
|
||||
ports:
|
||||
- "您选择的端口:80"
|
||||
```
|
||||
|
||||
### 数据持久化
|
||||
|
||||
使用Docker卷来持久化存储数据:
|
||||
- `dolibarr_html`:存储Dolibarr应用文件
|
||||
- `dolibarr_documents`:存储Dolibarr文档和上传文件
|
||||
- `dolibarr_db`:存储MariaDB数据库数据
|
||||
|
||||
## 管理命令
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看Dolibarr日志
|
||||
docker-compose logs dolibarr
|
||||
|
||||
# 查看数据库日志
|
||||
docker-compose logs db
|
||||
|
||||
# 查看所有日志
|
||||
docker-compose logs
|
||||
```
|
||||
|
||||
### 停止服务
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### 重启服务
|
||||
|
||||
```bash
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### 更新服务
|
||||
|
||||
```bash
|
||||
# 拉取最新镜像
|
||||
docker-compose pull
|
||||
|
||||
# 重新启动服务
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 安全建议
|
||||
|
||||
1. 生产环境中请修改默认密码
|
||||
2. 考虑使用HTTPS协议访问
|
||||
3. 定期备份数据卷
|
||||
4. 限制容器的网络访问
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 无法访问Dolibarr?
|
||||
A: 检查容器是否正在运行,端口是否正确映射,以及防火墙设置。
|
||||
|
||||
### Q: 忘记管理员密码?
|
||||
A: 您可以通过修改数据库中的`llx_user`表来重置密码,或者在环境变量中重新设置`DOLI_ADMIN_PASSWORD`并重启容器。
|
||||
|
||||
### Q: 如何备份数据?
|
||||
A: 您可以使用`docker cp`命令将数据卷中的内容复制到本地:
|
||||
|
||||
```bash
|
||||
docker cp dolibarr:/var/www/html ./backup/html
|
||||
docker cp dolibarr:/var/www/documents ./backup/documents
|
||||
docker exec dolibarr_db mysqldump -u root -proot_password dolibarr > ./backup/dolibarr.sql
|
||||
```
|
||||
|
||||
## 联系方式
|
||||
|
||||
如有问题,请参考[Dolibarr官方文档](https://wiki.dolibarr.org/index.php/Main_Page)或[Docker Hub页面](https://hub.docker.com/r/dolibarr/dolibarr/)。
|
||||
@@ -1,42 +0,0 @@
|
||||
version: '3.7'
|
||||
|
||||
services:
|
||||
# Dolibarr ERP/CRM
|
||||
dolibarr:
|
||||
image: dolibarr/dolibarr:latest
|
||||
container_name: dolibarr
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:80"
|
||||
depends_on:
|
||||
- db
|
||||
environment:
|
||||
- DOLI_DB_HOST=db
|
||||
- DOLI_DB_USER=dolibarr
|
||||
- DOLI_DB_PASSWORD=dolibarr_password
|
||||
- DOLI_DB_NAME=dolibarr
|
||||
- DOLI_ADMIN_LOGIN=admin
|
||||
- DOLI_ADMIN_PASSWORD=admin_password
|
||||
- DOLI_URL_ROOT=http://localhost:8080
|
||||
volumes:
|
||||
- dolibarr_html:/var/www/html
|
||||
- dolibarr_documents:/var/www/documents
|
||||
|
||||
# MariaDB Database
|
||||
db:
|
||||
image: mariadb:10.6
|
||||
container_name: dolibarr_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=root_password
|
||||
- MYSQL_DATABASE=dolibarr
|
||||
- MYSQL_USER=dolibarr
|
||||
- MYSQL_PASSWORD=dolibarr_password
|
||||
volumes:
|
||||
- dolibarr_db:/var/lib/mysql
|
||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||
|
||||
volumes:
|
||||
dolibarr_html:
|
||||
dolibarr_documents:
|
||||
dolibarr_db:
|
||||
@@ -1,11 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name stonelan.cn;
|
||||
|
||||
root /usr/share/nginx/html/membank;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name membank.stonelan.cn;
|
||||
|
||||
location / {
|
||||
proxy_pass http://10.0.3.173:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 添加代理超时配置
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_read_timeout 600s;
|
||||
proxy_send_timeout 600s;
|
||||
}
|
||||
location /bbs-go {
|
||||
proxy_pass http://10.0.3.173:9000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 添加代理超时配置
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_read_timeout 600s;
|
||||
proxy_send_timeout 600s;
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name navidrome.stonelan.cn;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:4533;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# 添加代理超时配置
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_read_timeout 600s;
|
||||
proxy_send_timeout 600s;
|
||||
|
||||
# 针对Navidrome的特殊配置
|
||||
# 支持大文件上传和流媒体传输
|
||||
client_max_body_size 100M;
|
||||
proxy_buffering off;
|
||||
|
||||
# 启用gzip压缩
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_min_length 1024;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_types
|
||||
text/plain
|
||||
text/css
|
||||
text/xml
|
||||
text/javascript
|
||||
application/json
|
||||
application/javascript
|
||||
application/xml+rss
|
||||
application/atom+xml
|
||||
image/svg+xml;
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name sy.stonelan.cn;
|
||||
|
||||
location / {
|
||||
proxy_pass http://10.0.3.173:6806;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
# WebSocket 支持
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
|
||||
# 添加代理超时配置
|
||||
proxy_connect_timeout 60s;
|
||||
proxy_read_timeout 600s;
|
||||
proxy_send_timeout 600s;
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name v.stonelan.cn;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/html/v;
|
||||
index index.html index.htm;
|
||||
|
||||
# 启用目录浏览(可选)
|
||||
autoindex on;
|
||||
|
||||
# 添加缓存配置
|
||||
location ~* \.(html|css|js|png|jpg|jpeg|gif|ico|svg)$ {
|
||||
expires 1d;
|
||||
add_header Cache-Control "public, immutable";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
services:
|
||||
mysql:
|
||||
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/mysql:8.0
|
||||
container_name: mysql
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- MYSQL_ROOT_PASSWORD=oneapi_root_pass
|
||||
- MYSQL_DATABASE=oneapi
|
||||
- MYSQL_USER=oneapi
|
||||
- MYSQL_PASSWORD=oneapi_pass
|
||||
restart: always
|
||||
volumes:
|
||||
- ./mysql/data:/var/lib/mysql
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "3307:3306"
|
||||
networks:
|
||||
- trim-default
|
||||
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
||||
|
||||
redis:
|
||||
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/redis:7-alpine
|
||||
container_name: redis
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
restart: always
|
||||
volumes:
|
||||
- ./redis/data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "6380:6379"
|
||||
networks:
|
||||
- trim-default
|
||||
command: redis-server --appendonly yes
|
||||
|
||||
oneapi:
|
||||
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/songquanpeng/one-api:v0.6.7
|
||||
container_name: oneapi
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
- SESSION_SECRET=change_this_to_your_secret_key
|
||||
- SQL_DSN=oneapi:oneapi_pass@tcp(mysql:3306)/oneapi?charset=utf8mb4&parseTime=true
|
||||
- REDIS_CONN_STRING=redis://redis:6379/0
|
||||
- MEMORY_CACHE=1
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "3003:3000"
|
||||
networks:
|
||||
- trim-default
|
||||
depends_on:
|
||||
- mysql
|
||||
- redis
|
||||
|
||||
networks:
|
||||
trim-default:
|
||||
external: true
|
||||
Reference in New Issue
Block a user