This commit is contained in:
张威33321
2026-09-08 17:39:29 +08:00
parent 538dc1339d
commit 9a2defc0ee
10 changed files with 0 additions and 459 deletions

View File

@@ -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

View File

@@ -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 "自动续期任务安装成功!"

View File

@@ -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/)。

View File

@@ -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:

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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";
}
}
}

View File

@@ -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