准备工作

  1. 需要一个域名(购买:namesilo,托管到cloudflare,解析到服务器)
  2. 一台服务器(debian10系统,安装好docker,docker-compose,nginx proxy manage)
  3. 使用nginx proxy manage做反向代理

项目地址

docker(支持arm+x86)

docker(支持arm+x86)

安装过程

创建目录

  • 创建项目根目录dujiaoka,并cd到根目录

后续所说的项目根目录就是这个/root/data/docker_data/dujiaoka

1
mkdir -p /root/data/docker_data/dujiaoka && cd !$
  • 创建docker-compose.yml文件
1
touch docker-compose.yml
  • 创建映射文件和目录,赋予权限
1
2
touch env.conf && chmod -R 777 env.conf
mkdir dujiaoka uploads && chmod -R 777 storage uploads

粘贴代码

把以下代码粘贴到对应文件。

  • docker-compose.yml文件

注意修改数据库密码,即把YOUR_PASSWORD改成你的密码。 56789:80左边的56789可以改成你想要的端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
  • env.conf文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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

安装

浏览器访问:ip:端口

docker-compose.yml有56789:80,端口是冒号左边的即56789

填写安装信息

  1. 数据库地址填db
  2. 密码填docker-compose.yml中你设置root密码
  3. Redis连接地址填redis
  4. 网站url:填写解析到服务器的域名
  5. 后台路径自定义,或者默认/admin

安装页面

填好后,点击安装

安装成功,但是先不着急访问

安装成功

修改文件

项目根目录执行以下命令来停止并删除容器

1
docker-compose down
  • 修改docker-comose.yml文件

注释掉INSTALL=true,取消注释INSTALL=false;保存退出。

修改文件

  • 修改env.conf文件

把第四行的APP_DEBUG=true改为APP_DEBUG=false

如果开启https,把最后一行改成ADMIN_HTTPS=true

保存退出

修改env.conf

再次执行以下命令启动容器

1
docker-compose up -d

然后就可以使用域名访问啦

前台展示

前台

后台展示

后台

参考资料

docker 部署 dujiaoka 独角数卡自动售货系统 支持 X86 和 ARM 架构