几年前使用 Oneindex 搭建的个人网盘也因为从阿里云迁出,而无法继续使用;顺便使用 Alist & Caddy 代替远古的 Oneindex 服务。

Alist

在线安装

AList 是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动;它设计为易于安装和使用,适用于所有平台并支持多种存储提供商,包括本地存储、阿里云盘、OneDrive、Google Drive等,并且可以扩展支持更多的存储服务‌。

1
2
3
4
5
6
7
8
9
10
##安装
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install
##更新
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update
##卸载
curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s uninstall

Alist 安装成功!
访问地址:http://YOUR_IP:5244/
配置文件路径:/opt/alist/data/config.json

获取密码

1
2
3
4
5
6
##先 cd 到 alist 所在目录
cd /opt/alist
##随机设置新密码
./alist admin random
##手动设置新密码
./alist admin set NEW_PASSWORD

服务启停

1
2
3
4
查看状态:systemctl status alist
启动服务:systemctl start alist
重启服务:systemctl restart alist
停止服务:systemctl stop alist

挂载网盘

详见《官方文档 - 添加存储

Caddy

Caddy 是一个支持 HTTP/2 的跨平台 Web 服务器,使用和配置都非常简单(如:自动申请证书),另外还支持 IPv6、Markdown、WebSockets、FastCGI、模板等…

二进制安装

1
2
3
wget -c https://caddyserver.com/api/download --no-check-certificate -O caddy
chmod a+x caddy
mv caddy /usr/bin/

配置服务

vi /etc/systemd/system/caddy.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target

[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

配置完成以后需要重新加载服务,并设置开机启动
1
2
systemctl daemon-reload
systemctl enable caddy

服务启停

1
2
3
4
查看状态:systemctl status caddy
启动服务:systemctl start caddy
重载服务:systemctl reload caddy
停止服务:systemctl stop caddy

配置文件

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
vi /etc/caddy/Caddyfile
:80 {
reverse_proxy 127.0.0.1:5244
}
example.com {
reverse_proxy 127.0.0.1:5244
}
##配置带域名的静态页面
example.com {
root * /usr/share/caddy
encode gzip
file_server
}
##配置带域名的反向代理
list.vioe.cc {
reverse_proxy 127.0.0.1:5244
tls work@yuwei.cc
log {
output file /var/log/caddy/alist.log
}
}
##配置带域名的重定向
example.com {
redir https://baidu.com{uri}
}

每次修改完配置,需要需要使用 systemctl reload caddy 命令重新加载