Loading... # 一. 简介 **Alist** 是一款支持多种存储的目录文件列表程序,支持 web 浏览与 webdav,后端基于`gin`,前端使用`react`。 官方文档: [ Alist Document (nn.ci)](https://alist-doc.nn.ci/docs/intro) ## 支持的存储 - 本地存储 - [阿里云盘](https://www.aliyundrive.com/) - OneDrive / Sharepoint([国际版](https://www.office.com/), [世纪互联](https://portal.partner.microsoftonline.cn/),de,us) - [天翼云盘](https://cloud.189.cn/) (个人云, 家庭云) - [GoogleDrive](https://drive.google.com/) - [123 云盘](https://www.123pan.com/) - [蓝奏云](https://pc.woozooo.com/) - [Alist](https://github.com/Xhofe/alist) - FTP - [PikPak](https://www.mypikpak.com/) - [闪电盘](https://shandianpan.com/) - [S3](https://aws.amazon.com/cn/s3/) - WebDav - Teambition([中国](https://www.teambition.com/),[国际](https://us.teambition.com/)) - [分秒帧](https://www.mediatrack.cn/) - [和彩云](https://yun.139.com/) (个人云, 家庭云) - [Yandex.Disk](https://disk.yandex.com/) - [百度网盘](http://pan.baidu.com/) - [夸克网盘](https://pan.quark.cn/) - [迅雷云盘](https://pan.xunlei.com/) ## 演示地址 - [https://alist.nn.ci](https://alist.nn.ci/) # 二. CentOs7/8 环境下安装和部署 ## 1. 一键脚本安装 仅支持Linux-x86_64/aarch64平台。 ### 安装 ```bash curl -fsSL "https://nn.ci/alist.sh" | bash -s install ``` ### 更新 ```bash curl -fsSL "https://nn.ci/alist.sh" | bash -s update ``` ### 卸载 ```bash curl -fsSL "https://nn.ci/alist.sh" | bash -s uninstall ``` ### 自定义路径 默认安装在 **`/opt/alist`**,要自定义安装路径,添加安装路径为第二个参数,必须是绝对路径(路径以alist结尾时直接安装到给定路径,否则会安装在给定路径alist目录下),如安装到`/root`: ```bash # 安装 curl -fsSL "https://nn.ci/alist.sh" | bash -s install /root # 更新 curl -fsSL "https://nn.ci/alist.sh" | bash -s update /root # 卸载 curl -fsSL "https://nn.ci/alist.sh" | bash -s uninstall /root ``` ## 2. 手动安装 ### 获取Alist 打开[AList Release](https://github.com/Xhofe/alist/releases)下载要部署的系统对应的文件,最新的版本前端已经与后端打包在一起,无需再次下载前端文件。 ### 运行起来 #### [Linux](https://alist-doc.nn.ci/docs/install/manual#linux) ```bash # 解压下载对文件得到可执行文件: tar -zxvf alist-xxxx.tar.gz # 赋予程序执行权限: chmod +x alist-xxxx # 运行程序 ./alist-xxxx ``` *其中的xxxx是指不同系统/架构对应的名称,一般Linux-x86/64是alist-linux-amd64,如果你的glibc版本过低,建议下载musl版本* <details class="details_Q743 isBrowser_rWTL alert alert--info details_h+cY" data-collapsed="true" style="box-sizing: border-box; color: var(--ifm-alert-foreground-color); --ifm-alert-background-color:var(--ifm-color-info-contrast-background); --ifm-alert-background-color-highlight:rgba(84,199,236,0.15); --ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground); --ifm-alert-border-color:var(--ifm-color-info-dark); --ifm-code-background:var(--ifm-alert-background-color-highlight); --ifm-link-color:var(--ifm-alert-foreground-color); --ifm-link-hover-color:var(--ifm-alert-foreground-color); --ifm-link-decoration:underline; --ifm-tabs-color:var(--ifm-alert-foreground-color); --ifm-tabs-color-active:var(--ifm-alert-foreground-color); --ifm-tabs-color-active-border:var(--ifm-alert-border-color); background-color: var(--ifm-alert-background-color); border: 1px solid var(--ifm-alert-border-color); border-radius: var(--ifm-alert-border-radius); box-shadow: var(--ifm-alert-shadow); padding: var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal); --docusaurus-details-summary-arrow-size:0.38rem; --docusaurus-details-transition:transform var(--ifm-transition-fast) ease; --docusaurus-details-decoration-color:var(--ifm-alert-border-color); margin: 0 0 var(--ifm-spacing-vertical); font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"><summary style="box-sizing: border-box; cursor: pointer; list-style: none; padding-left: 1rem; position: relative;">Windows</summary></details> 当看到输出`start server @ 0.0.0.0:5244`且之后没有报错后,就表示运行成功了,首次运行会输出初始密码,程序默认监听5244端口,现在打开`http://ip:5244`就可以看见登陆页面了,webdav相关请看[WebDav](https://alist-doc.nn.ci/docs/webdav)。 ### 守护进程 `vim /etc/systemd/system/alist.service`添加以下内容,其中path_alist为alist所在的路径 ```ini [Unit] Description=alist After=network.target [Service] Type=simple WorkingDirectory=path_alist ExecStart=path_alist/alist-xxxx -conf data/config.json Restart=on-failure [Install] WantedBy=multi-user.target ``` 然后`systemctl daemon-reload`,现在你就可以使用这些命令来管理程序了: - 启动: `systemctl start alist` - 关闭: `systemctl stop alist` - 自启: `systemctl enable alist` - 状态: `systemctl status alist` - 重启: `systemctl restart alist` ## 3. 使用 Docker 初始密码请查看日志输出: ```bash docker logs alist # 或者 docker exec -it alist ./alist -password ``` ### 稳定版 ```bash docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:latest ``` ### 开发版 不推荐,这有可能无法正常使用 ```bash docker run -d --restart=always -v /etc/alist:/opt/alist/data -p 5244:5244 --name="alist" xhofe/alist:v2 ``` ### 指定版本 具体见 https://hub.docker.com/r/xhofe/alist ## 4. 使用 Docker-Compose 安装 提供懒人脚本 docker-compose.yml 、build.sh、stop.sh、restart.sh , 这些文件放在同一目录下 ### docker-compose.yml 文件 ```yml version: '2.0' services: alist: image: xhofe/alist:latest container_name: alist ports: - "5101:5244" restart: always volumes: # alist的文件和配置目录(根据自身情况配置) - /data/public/alist/app/data:/opt/alist/data # 共享数据文件目录(根据自身情况配置) - /data/share:/data/share ``` ### build.sh 一键构建 ```bash #! /bin/bash # 创建和 docker-compose.yml中映射的共享数据文件目录(根据自身情况配置) mkdir -p /data/share; # 停止 Compose 应用相关的所有容器 docker-compose -f ./docker-compose.yml stop; # 删除已停止的 Compose 应用 docker-compose -f ./docker-compose.yml rm -f; # 部署当前的 Compose 应用 docker-compose -f ./docker-compose.yml up -d && # 列出当前的 Compose 应用的状态 docker-compose -f ./docker-compose.yml ps && # 打印 alist 日志 docker logs alist && echo " >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> alist docker-compose done ...... " ``` ### stop.sh 一键停止命令 ```bash #! /bin/bash docker-compose -f ./docker-compose.yml stop ``` ### restart.sh 一键重启命令 ``` #! /bin/bash docker-compose -f ./docker-compose.yml restart ``` > 有了以上文件后 执行命令 **sh build.sh** ## 5. PaaS The initial password refer to logs. ### Koyeb https://github.com/alist-org/alist-koyeb ### Render https://github.com/alist-org/alist-render ### Railway https://github.com/alist-org/alist-railway Easy to use but easy to violate ToS too. ### Heroku - https://github.com/alist-org/alist-heroku-postgres (recommend) - https://github.com/alist-org/alist-heroku ### Repl.it - https://github.com/alist-org/alist-replit 最后修改:2022 年 06 月 22 日 © 允许规范转载 赞 2 如果觉得我的文章对你有用,请点个赞吧~
2 条评论
(๑•̀ㅁ•́ฅ)
⌇●﹏●⌇