pve下 可以把lxc当作应用容器使用,所以系统肯定选择只有3m的alpinelinux
不用docker配置,优点体积小,缺点略微繁琐一丢。
创建alpine lxc容器
pve下操作,特权容器,创建完成后,选项功能 里面 最好勾选 嵌套和 fuse,磁盘大小0.3G。
1
2
3
4
5
6
7
8
9
10
| # 配置源和时区 alpine内运行
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
apk add tzdata
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
apk del tzdata
rm -rf /var/cache/apk/*
# vim替换为nano
apk add nano
apk del vim && ln -s /usr/bin/nano /usr/bin/vim && rm -rf /usr/bin/vi && ln -s /usr/bin/nano /usr/bin/vi
|
安装alist
官网一键安装命令 不支持alpine,手动装,alpine 没有 glibc,我用musl版本
1
2
3
4
5
6
| akp add wget
cd ~
wget https://github.com/alist-org/alist/releases/download/v3.11.0/alist-linux-musl-amd64.tar.gz
tar -zxvf alist-*.tar.gz && rm alist-*.tar.gz
chmod +x alist
./alist server # 运行程序 查看有没有异常
|
ctrl +c 停止
如果要更新alist,上面命令简单修改一下即可
1
2
| ./alist admin # 获得管理员用户名和密码信息 kT0voJRZ
./alist server & # 临时后台运行,然后去后台配置 配置完成后 killall alist
|
alpine下配置alist守护进程
可以用 rc.local , 我这里使用supervisor 更简单一些
1
2
3
| apk add supervisor nano
rc-update add supervisord boot
service supervisord restart
|
初始化配置文件
1
2
| echo_supervisord_conf > /etc/supervisord.conf
nano /etc/supervisord.conf
|
编辑或者添加文件末尾两行
1
2
| [include]
files = /etc/supervisord_conf/*.ini
|
1
2
| mkdir -p /etc/supervisord_conf/
nano /etc/supervisord_conf/alist.ini
|
根据自己的情况配置 注意这个文件是ini格式的
1
2
3
4
5
6
7
8
| [program:alist]
directory=/root/
command=/root/alist server
autostart=true
autorestart=true
;stderr_logfile=/tmp/alist.err
;stdout_logfile=/tmp/alist.log
environment=CODENATION_ENV=prod
|
管理
1
2
3
4
5
| supervisord -c /etc/supervisord.conf
supervisorctl start alist
supervisorctl stop alist
supervisorctl status alist
reboot # 重启后检查alist是否已经ok
|
配置外网ssl
获取证书
获取你的域名证书。我这里是 部署到github上的acme.sh,直接拉回来解压。你可以自签,也可以单独装acmesh 甚至宝塔 自己随意就好。
1
2
3
| wget https://github.com/joyanhui/ssl/raw/main/ssl.zip
apk add p7zip
7z x ssl.zip -p密码 #密码和p字母之间没有空格
|
配置nginx
alpine下nginx的配置文件 是在 http.d 目录下哈
1
2
3
4
| apk add nginx
rc-update add nginx
rc-service nginx start
nginx -s reload # 重载
|
1
2
| mv /etc/nginx/http.d/default.conf /etc/nginx/http.d/default.conf-bak #非必须
nano /etc/nginx/http.d/alist.conf
|
内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| server {
listen 端口号码 ssl;
server_name 你的域名;
ssl_certificate /root/ssl/ddns.leiyanhui.com.cer; # fullchain.pem
ssl_certificate_key /root/ssl/ddns.leiyanhui.com.key; #privkey.pem
ssl_verify_client off;
server_tokens off;
root /usr/share/nginx/html;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
# the max size of file to upload
client_max_body_size 20000m;
}
}
|
结束
重载nginx,路由器设置好ip绑定和端口转发 完毕
windows下 挂载后,尝试复制大文件正常。