使用Docker搭建OneNav网址导航程序
当前搭建的服务较多 把书签栏迁移下
记录下搭建过程
系统:CENTOS
环境:宝塔 DOCKER
(其它Linux系统安装步骤也可参考)
宝塔安装教程
https://www.bt.cn/bbs/thread-19376-1-1.html
然后安装Docker
curl -fsSL https://get.docker.com/ | sh
启动Docker
sudo systemctl start docker
查看Dockers状态
sudo systemctl status docker
设置Docker开机自启
sudo systemctl enable docker
安装Dockers-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
更改权限
chmod +x /usr/local/bin/docker-compose
创建链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
检查状态及版本
docker-compose --version
创建程序目录
mkdir onenav
创建docker-compose.yml 配置文件
vi docker-compose.yml
写入以下内容version: '3'
services:
onenav:
image: helloz/onenav
restart: always
ports:
- '8019:80'
volumes:
- /root/onenav:/data/wwwroot/default/data
保存配置文件
启动服务
docker-compose up -d
提示端口占用怎么办?
可以修改8019端口为其它未使用的端口即可
端口映射关系 服务器端口:Docker容器内端口
宝塔添加域名
nav.199188.xyz
设置SSL
修改网站配置文件 注释及添加以下内容# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log off;
# access_log /dev/null;
# }
# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log off;
# access_log /dev/null;
# }
location / {
proxy_pass http://127.0.0.1:8019/;
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
上面如果修改了端口 也将这里的端口修改一致
搭建完毕
以下开始配置自动更新服务 也可以自己在后台手动更新 二选一即可
创建自动更新脚本
vi updater.sh
写入以下内容#!/bin/sh
date=
`date +"%Y%m%d"`cd /root/onenav
docker-compose down | tee onenav_update_$date.txt > /dev/null
docker pull helloz/onenav | tee -a onenav_update_$date.txt > /dev/null
docker-compose up -d | tee -a onenav_update_$date.txt > /dev/null
uptime | tee -a onenav_update_$date.txt > /dev/null
mail -s 'onenav_UPDATE' [email protected] < ./onenav_update_$date.txt
rm -rf ./onenav_update_$date.txt
保存后设置文件执行权限
chmod +x
测试执行
sh ./updater.sh
如果出现mail command not found ,可以安装mailx 执行
yum -y install mailx
再次测试执行
sh ./updater.sh
你的[email protected]邮箱会收到一封onenav_UPDATE为标题的邮件
添加crontab定时任务 执行定时更新
crontab -e
增加一行 每周一早上7点2分执行更新任务
2 7 * * 1 sh /root/onenav/updater.sh
至此定时更新设置完毕
参考
https://github.com/helloxz/onenav
https://199188.xyz/2022/03/12/Tiny_Tiny_RSS_Setup_with_Docker.html