本仓库 Fork 自 assimon/dujiaoka
原项目完整说明请查看: 原版 README
- ✅ 零配置启动:容器启动时自动初始化数据库,无需访问
/install页面 - ✅ 配置持久化:容器重启后自动恢复配置,无需重新安装
- ✅ 环境变量管理:所有配置通过
docker-compose.yml统一管理 - ✅ 增加支付方式:增加了 linux.do ldc 积分支付
前置要求:
- 外部 MySQL 数据库(5.6+)
- 外部 Redis 服务
1. 创建数据库
CREATE DATABASE dujiaoka CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;2. 创建项目目录并保存配置
mkdir dujiaoka && cd dujiaoka
nano docker-compose.yml # 或使用你喜欢的编辑器将以下内容粘贴到 docker-compose.yml(记得修改数据库和 Redis 配置):
services:
web:
image: edaorenchan/dujiaoka:latest # 使用 Docker Hub 镜像
container_name: dujiaoka
ports:
- "8111:80"
volumes:
- ./data/uploads:/app/public/uploads
environment:
# Web 服务器配置
WEB_DOCUMENT_ROOT: "/app/public"
TZ: Asia/Shanghai
# 应用配置
APP_NAME: "独角数卡"
APP_URL: "http://localhost:8111" # 改成你的域名
APP_ENV: "production"
APP_DEBUG: "false"
APP_HTTPS: "false" # 如果配置 HTTPS 域名,改为 true
# APP_KEY 用于加密,建议修改为你自己的密钥(必须保留 base64: 前缀)
APP_KEY: "base64:hDVkYhfkUjaePiaI1tcBT7G8bh2A8RQxwWIGkq7BO18="
# 数据库配置(请修改为你的实际配置)
DB_HOST: "your_mysql_host"
DB_PORT: "3306"
DB_DATABASE: "dujiaoka"
DB_USERNAME: "your_mysql_user"
DB_PASSWORD: "your_mysql_password"
# Redis 配置(请修改为你的实际配置)
REDIS_HOST: "your_redis_host"
REDIS_PORT: "6379"
REDIS_PASSWORD: ""
# 后台配置
ADMIN_ROUTE_PREFIX: "admin"
ADMIN_LANGUAGE: "zh_CN"
tty: true
restart: always
networks:
- dujiaoka
networks:
dujiaoka:
driver: bridge3. 启动容器
docker-compose up -d4. 访问
- 前台:
http://localhost:8111 - 后台:
http://localhost:8111/admin(账号:admin/ 密码:admin)
1. 克隆并配置
git clone https://github.com/EDaoren/dujiaoka.git
cd dujiaoka
# 编辑 docker-compose.yml,修改数据库和 Redis 配置2. 在 MySQL 中创建空数据库
CREATE DATABASE dujiaoka CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;3. 启动容器(会自动初始化)
docker-compose build
docker-compose up -d4. 访问
- 前台:
http://localhost:8111 - 后台:
http://localhost:8111/admin(账号:admin/ 密码:admin)
加密数据用的,部署后就不要改,否则加密数据无法解密
# 生成随机密钥
openssl rand -base64 32
# 输出:xK3j8mN9pL2qR5sT7vU1wX4yZ6aB8cD0
# 添加 base64: 前缀后填入配置
APP_KEY: "base64:xK3j8mN9pL2qR5sT7vU1wX4yZ6aB8cD0"base64: 前缀,且 APP_KEY 一旦设置就不要改变!
修改 docker-compose.yml 中的环境变量:
environment:
APP_URL: "http://your-domain.com" # 你的域名
DB_HOST: "your_mysql_host" # MySQL 地址
DB_DATABASE: "dujiaoka"
DB_USERNAME: "your_mysql_user"
DB_PASSWORD: "your_mysql_password"
REDIS_HOST: "your_redis_host" # Redis 地址本项目遵循原项目的 MIT license
感谢原作者 assimon 的开源贡献!
