update dujiaoka
This commit is contained in:
parent
03b4a66950
commit
fa4a9e1f0e
|
@ -1,7 +1,86 @@
|
|||
# dujiaoka
|
||||
GitHub [stilleshan/dockerfiles](https://github.com/stilleshan/dockerfiles)
|
||||
Docker [stilleshan/dujiaoka](https://hub.docker.com/r/stilleshan/dujiaoka)
|
||||
> *docker image support for X86 and ARM*
|
||||
|
||||
## 更新
|
||||
- **2022-07-19** 更新`2.0.4`版 docker 镜像,同时支持 X86 和 ARM 架构.
|
||||
- **2022-07-19** 更新`2.0.3`版 docker 镜像,同时支持 X86 和 ARM 架构.
|
||||
|
||||
|
||||
## 简介
|
||||
待优化中...
|
||||
基于 🦄独角数卡 [assimon/dujiaoka](https://github.com/assimon/dujiaoka) 的 docker 镜像,支持 docker-compose 数据持久化部署。
|
||||
|
||||
> *本项目基于现有的 [Apocalypsor/dujiaoka-docker](https://github.com/Apocalypsor/dujiaoka-docker) 项目重新制作支持 ARM64 架构镜像,你也可以参考下文作者博客链接部署。*
|
||||
|
||||
## 部署
|
||||
### 准备配置文件
|
||||
```shell
|
||||
mkdir dujiaoka && cd dujiaoka
|
||||
# 创建主目录
|
||||
mkdir storage uploads
|
||||
chmod -R 777 storage uploads
|
||||
# 创建数据目录用于挂载
|
||||
```
|
||||
|
||||
下载本项目中的`env.conf`和`docker-compose.yml`到上述的`dujiaoka`目录中。
|
||||
|
||||
```shell
|
||||
chmod -R 777 env.conf
|
||||
# 重要步骤
|
||||
```
|
||||
|
||||
### 配置 nginx
|
||||
参考`domian.conf`修改`域名`和`证书路径`,最重要的是`location ^~ /`中的相关配置。
|
||||
```nginx
|
||||
location ^~ / {
|
||||
proxy_pass http://127.0.0.1:56789;
|
||||
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 REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
|
||||
proxy_set_header Accept-Encoding "";
|
||||
sub_filter "http://" "https://";
|
||||
sub_filter_once off;
|
||||
}
|
||||
```
|
||||
|
||||
### 启动容器
|
||||
确保目录中有`docker-compose.yml`,`env.conf`,`storage`和`uploads`后执行以下命令`首次`启动:
|
||||
> *注意修改 docker-compose.yml 中的 mysql 密码*
|
||||
```shell
|
||||
docker-compose up -d
|
||||
```
|
||||
首次启动后,会自动生成`mysql`和`redis`的数据目录。
|
||||
|
||||
### 网页安装
|
||||
访问域名开始安装:
|
||||
- 将`mysql`的地址改为`db`
|
||||
- 将`mysql`的用户名改为`dujiaoka`
|
||||
- 将`redis`的地址改为`redis`
|
||||
- 填写网站名称
|
||||
- 网站 url 填写完整域名地址,例如`https://shop.ioiox.com`
|
||||
|
||||
点击安装,并成功安装,先修改其他参数后在进行登录使用。
|
||||
```shell
|
||||
docker-compose down
|
||||
# 停止服务
|
||||
```
|
||||
将`docker-compose.yml`中的`INSTALL`改为`false`
|
||||
将`env.conf`中的`APP_DEBUG`改为`false`
|
||||
此时可以看到`env.conf`中的相关配置已经自动变为安装时填写的参数。
|
||||
```shell
|
||||
docker-compose up -d
|
||||
# 再次启动开始使用
|
||||
```
|
||||
### 完成部署
|
||||
自此已完成安装部署,访问域名开始使用:
|
||||
- 所有配置,数据,缓存,数据库都存储在整个`dujiaoka`目录中,定期备份即可。
|
||||
- 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有`chmod 777`的权限命令,再次`docker-compose up -d`即可恢复上线。
|
||||
|
||||
## 链接
|
||||
- [Apocalypsor/dujiaoka-docker](https://github.com/Apocalypsor/dujiaoka-docker)
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
web:
|
||||
image: stilleshan/dujiaoka
|
||||
environment:
|
||||
# - INSTALL=false
|
||||
- INSTALL=true
|
||||
# - MODIFY=true
|
||||
volumes:
|
||||
- ./env.conf:/dujiaoka/.env
|
||||
- ./uploads:/dujiaoka/public/uploads
|
||||
- ./storage:/dujiaoka/storage
|
||||
ports:
|
||||
- 56789:80
|
||||
restart: always
|
||||
|
||||
db:
|
||||
image: mariadb:focal
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=YOUR_PASSWORD
|
||||
- MYSQL_DATABASE=dujiaoka
|
||||
- MYSQL_USER=dujiaoka
|
||||
- MYSQL_PASSWORD=YOUR_PASSWORD
|
||||
volumes:
|
||||
- ./mysql:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
volumes:
|
||||
- ./redis:/data
|
|
@ -0,0 +1,46 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name shop.domain.com;
|
||||
return 301 https://shop.domain.com$request_uri;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443 ssl http2;
|
||||
server_name shop.domain.com;
|
||||
index index.html index.htm index.php default.html default.htm default.php;
|
||||
|
||||
ssl_certificate /usr/local/nginx/conf/ssl/domain.com.cer;
|
||||
ssl_certificate_key /usr/local/nginx/conf/ssl/domain.com.key;
|
||||
ssl_trusted_certificate /usr/local/nginx/conf/ssl/domain.com.cer;
|
||||
|
||||
ssl_stapling on;
|
||||
ssl_stapling_verify on;
|
||||
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
ssl_prefer_server_ciphers on;
|
||||
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4;
|
||||
ssl_ecdh_curve secp384r1;
|
||||
ssl_session_timeout 10m;
|
||||
ssl_session_cache builtin:1000 shared:SSL:10m;
|
||||
ssl_session_tickets off;
|
||||
resolver 8.8.8.8 8.8.4.4 valid=60s ipv6=off;
|
||||
resolver_timeout 5s;
|
||||
add_header Strict-Transport-Security "max-age=63072000" always;
|
||||
|
||||
location ^~ / {
|
||||
proxy_pass http://127.0.0.1:56789;
|
||||
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 REMOTE-HOST $remote_addr;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
|
||||
add_header X-Cache $upstream_cache_status;
|
||||
|
||||
proxy_set_header Accept-Encoding "";
|
||||
sub_filter "http://" "https://";
|
||||
sub_filter_once off;
|
||||
}
|
||||
|
||||
# access_log /home/wwwlogs/shop.domain.com.access.log main;
|
||||
# error_log /home/wwwlogs/shop.domain.com.error.log warn;
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
APP_NAME=独角数卡
|
||||
APP_ENV=local
|
||||
APP_KEY=base64:hDVkYhfkUjaePiaI1tcBT7G8bh2A8RQxwWIGkq7BO18=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://dujiaoka.test
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
|
||||
# 数据库配置
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=dujiaoka
|
||||
DB_USERNAME=dujiaoka
|
||||
DB_PASSWORD=YOUR_PASSWORD
|
||||
|
||||
# redis 配置
|
||||
REDIS_HOST=redis
|
||||
REDIS_PASSWORD=
|
||||
REDIS_PORT=6379
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
|
||||
|
||||
# 缓存配置
|
||||
# file 为磁盘文件 redis 为内存级别
|
||||
# redis 为内存需要安装好 redis 服务端并配置
|
||||
CACHE_DRIVER=redis
|
||||
|
||||
# 异步消息队列
|
||||
# sync 为同步 redis 为异步
|
||||
# 使用 redis 异步需要安装好 redis 服务端并配置
|
||||
QUEUE_CONNECTION=redis
|
||||
|
||||
# 后台语言
|
||||
## zh_CN 简体中文
|
||||
## zh_TW 繁体中文
|
||||
## en 英文
|
||||
DUJIAO_ADMIN_LANGUAGE=zh_CN
|
||||
|
||||
# 后台登录地址
|
||||
ADMIN_ROUTE_PREFIX=/admin
|
||||
|
||||
# 后台 https 支持 docker 部署无需开启
|
||||
#ADMIN_HTTPS=true
|
Loading…
Reference in New Issue