Docker方式部署V2Board
V2Board是个很优秀的系统。
按照官方的文档,部署V2Board需要用到aapanel。但官方其实一直有开发Docker版,只不过一直没有相关部署文档罢了。
最近,宝塔的骚操作,让人越来越没有安全感,于是,本篇就简单介绍一下用Docker方式部署V2Board的方法。
一、前期准备
1、安装Docker
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
2、安装Docker Compose
apt-get install docker-compose -y
curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
你也可以为Docker Compose创建一个快捷键,创建好以后,就可以直接用dc命令替代docker compose了。
chmod a+x /usr/local/bin/docker-compose
rm -rf `which dc`
ln -s /usr/local/bin/docker-compose /usr/bin/dc
二、安装V2B
1、拉取
git clone https://github.com/v2board/v2board-docker.git
mv v2board-docker v2b
配置稳定版
cd v2b/
git submodule update --init
echo ' branch = master' >> .gitmodules
git submodule update --remote
配置开发版
cd v2b/
git submodule update --init
echo ' branch = dev' >> .gitmodules
git submodule update --remote
2、修改 docker-compose.yaml
若数据库不在本地
version: '3'
services:
www:
image: tokumeikoi/lcrp
volumes:
- './www:/www'
- './wwwlogs:/wwwlogs'
- './caddy.conf:/run/caddy/caddy.conf'
- './supervisord.conf:/run/supervisor/supervisord.conf'
- './crontabs.conf:/etc/crontabs/root'
- './.caddy:/root/.caddy'
ports:
- '80:80'
- '443:443'
restart: always
若数据库在本地
version: '3'
services:
www:
image: tokumeikoi/lcrp
volumes:
- './www:/www'
- './wwwlogs:/wwwlogs'
- './caddy.conf:/run/caddy/caddy.conf'
- './supervisord.conf:/run/supervisor/supervisord.conf'
- './crontabs.conf:/etc/crontabs/root'
- './.caddy:/root/.caddy'
ports:
- '80:80'
- '443:443'
restart: always
+ links:
+ - mysql
mysql:
image: mysql:5.7.29
volumes:
- './mysql:/var/lib/mysql'
restart: always
environment:
MYSQL_ROOT_PASSWORD: 请修改密码
MYSQL_DATABASE: v2b
3、修改caddy.conf
http://你的域名 {
root /www/public
fastcgi / /tmp/php-cgi.sock php
rewrite {
to {path} {path}/ /index.php?{query}
}
}
https://你的域名 {
tls 你的CF邮箱
root /www/public
log /wwwlogs/caddy.log
fastcgi / /tmp/php-cgi.sock php
rewrite {
to {path} {path}/ /index.php?{query}
}
}
如果你需要用反代的方式处理订阅链接,那么反代的网址也要填进去。
4、安装
先启动Docker
dc up -d
进入容器
dc exec www bash
配置环境及安装
wget https://getcomposer.org/download/1.9.0/composer.phar
php composer.phar global require hirak/prestissimo
php -d memory_limit=-1 composer.phar install
php artisan v2board:install
如果数据库在本地,则配置如下
__ ______ ____ _
\ \ / /___ \| __ ) ___ __ _ _ __ __| |
\ \ / / __) | _ \ / _ \ / _` | '__/ _` |
\ V / / __/| |_) | (_) | (_| | | | (_| |
\_/ |_____|____/ \___/ \__,_|_| \__,_|
请输入数据库地址(默认:localhost) [localhost]:
> mysql
请输入数据库名:
> v2board
请输入数据库用户名:
> root
请输入数据库密码:
> v2boardisbest
正在导入数据库请稍等...
数据库导入完成
请输入管理员邮箱?:
> [email protected]
请输入管理员密码?:
> 12345678
一切就绪
访问 http(s)://你的站点/admin 进入管理面板
如果数据库在远程,则填写远程地址。建议远程数据库设置防火墙。
5、 启动horizon
dc exec www bash
php artisan horizon &
6、升级
dc exec www bash
sh update.sh
php artisan horizon &
三、其他
1、清除高磁盘占用的日志文件
当V2Board运行一段时间,会发现磁盘可用率变低了。大概率是因为laravel的日志文件造成的。
处理方法如下
进入Docker
dc exec www bash
进入日志文件夹
cd storage/logs
删除久远的日志即可。
打完收工!
阅读剩余
版权声明:
作者:codion
链接:https://mrchou.com/topic/install-v2board-with-docker.html
文章版权归作者所有,未经允许请勿转载。
THE END