Skip to content

Instantly share code, notes, and snippets.

@aa65535
Last active April 22, 2024 14:33
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save aa65535/a48bc61dbf44184d480c88eab3fe9d74 to your computer and use it in GitHub Desktop.
Save aa65535/a48bc61dbf44184d480c88eab3fe9d74 to your computer and use it in GitHub Desktop.
# 定义配置目录, 根据需要修改
CONF_DIR=/etc/xiaoya
mkdir -p $CONF_DIR
# 创建三个配置文件
touch $CONF_DIR/mytoken.txt
touch $CONF_DIR/pikpak.txt
touch $CONF_DIR/guestpass.txt
# 启动容器
docker run -d -p 5678:80 -p 5244:5244 -v $CONF_DIR:/data --restart=always --name=xiaoya xiaoyaliu/alist:latest
# 替换绑定地址为 0.0.0.0
docker exec -it xiaoya sed -i 's/127.0.0.1/0.0.0.0/' /opt/alist/data/config.json
# 确认替换是否成功
docker exec -it xiaoya cat /opt/alist/data/config.json
# 删除配置备份,防止修改被恢复,这里需要等到完全启动后再执行
docker exec -it xiaoya rm -f /var/lib/data.zip
# 查看管理员帐号密码
docker exec -it xiaoya ./alist admin
# 重启容器
docker restart xiaoya
@qianzhouyang
Copy link

qianzhouyang commented Mar 12, 2023

貌似最新的小雅dock对后台登陆做了限制。在doker里搜了一下,看到docker里的/etc/nginx/http.d/default.conf 里有下面的代码,请问如何解除这个限制?谢谢啦

location ^~ /@manage {
                deny all;
        }

        location ^~ /api/admin {
               deny all;
        }

        location ^~ /api/fs/remove {
                deny all;
        }

        location ^~ /api/fs/rename {
                deny all;
        }

        location ^~ /api/fs/copy {
                deny all;
        }

        location ^~ /api/fs/move {
                deny all;
        }

        location ^~ /api/fs/mkdir {
                deny all;
        }

        location ^~ /api/fs/put {
                deny all;
        }

	location ^~ /api/fs/search {
                deny all;
        }

@aa65535
Copy link
Author

aa65535 commented Mar 13, 2023

貌似最新的小雅dock对后台登陆做了限制。在doker里搜了一下,看到docker里的/etc/nginx/http.d/default.conf 里有下面的代码,请问如何解除这个限制?谢谢啦

那就另外执行一下 docker exec -it xiaoya sed -i 's/deny/allow/' /etc/nginx/http.d/default.conf

@johnsyoun
Copy link

http://192.168.10.101:5244/@manage 可以进入管理页面,但是提示下面的错误:
failed get objs: failed get dir: object not found

@cmj2002
Copy link

cmj2002 commented Mar 15, 2023

现在无论是更改 nginx 配置还是更改 alist 监听地址都无法进入管理页面了,/@manage 进去是普通的目录而不是管理面板,容器内的 alist 程序本身很可能已经被改了。

现在建议直接用 docker cp 提取出容器内整个 /opt/alist/data (包括配置文件、数据库和临时文件)并挂载到原版的 alist 上,有兴趣的可以自动化这个过程。

作者这么做其实就是不想让其他人轻易得到数据库中资源的信息,保持资源只能通过 xiaoya 来访问。但是我实在是不理解,既然程序都跑在我们自己的服务器上,他的任何措施都不可能保护这些信息,无非是加大我们的获得难度罢了。

@wuliyu007
Copy link

现在无论是更改 nginx 配置还是更改 alist 监听地址都无法进入管理页面了,/@manage 进去是普通的目录而不是管理面板,容器内的 alist 程序本身很可能已经被改了。

现在建议直接用 docker cp 提取出容器内整个 /opt/alist/data (包括配置文件、数据库和临时文件)并挂载到原版的 alist 上,有兴趣的可以自动化这个过程。

作者这么做其实就是不想让其他人轻易得到数据库中资源的信息,保持资源只能通过 xiaoya 来访问。但是我实在是不理解,既然程序都跑在我们自己的服务器上,他的任何措施都不可能保护这些信息,无非是加大我们的获得难度罢了。

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

@cmj2002
Copy link

cmj2002 commented Mar 22, 2023

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0

然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

@guugg
Copy link

guugg commented Mar 23, 2023

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0

然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

大佬这样成功了吗

@cmj2002
Copy link

cmj2002 commented Mar 23, 2023

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0
然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

大佬这样成功了吗

成功了的

@wuliyu007
Copy link

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0

然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

感谢您,很详细的步骤,也可以成功的进入manage的页面

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0
然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

大佬这样成功了吗

成功了的

感谢您,很详细的教程

@wuliyu007
Copy link

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0

然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

我尝试了一下,后台什么的可以进,但是视频无法播放或下载:"failed link: failed get link:",并且目录不全,搜索也无法使用,尝试自己解决看看,结果高估自己了,有解决方案吗

@cmj2002
Copy link

cmj2002 commented Mar 24, 2023

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0
然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

我尝试了一下,后台什么的可以进,但是视频无法播放或下载:"failed link: failed get link:",并且目录不全,搜索也无法使用,尝试自己解决看看,结果高估自己了,有解决方案吗

视频和目录的问题应该是阿里云盘的 refresh_token 的问题,xiaoya 通过使用你自己的 refresh_token 解决,但是 alist 要一个个改。我目前的想法是用一个脚本自动更改 data.db 里的 refresh_token ,但是最近没空做。

搜索是因为 xiaoya 用的是自己实现的搜索而非 alist 自带的搜索,这个问题我的建议是不要直接用 xiaoya 的数据库的那个 alist ,而是把它以 Alist V3 挂载给自己的 alist ,然后在后者上构建索引。

@colind0pe
Copy link

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0

然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

我按照这个方法可以登进manage页面,但是登进去之后显示object not found,不是正常的管理页面

@tyj9713
Copy link

tyj9713 commented May 12, 2023

这是什么操作 我尝试了一下将xiaoya的data覆盖到alist下似乎没什么用,可以稍微详细说说吗

我指的是把 xiaoya 的 /opt/alist/data 目录拷贝到宿主机(比如说目录 /home/someuser/xiaoya/data ):

docker cp xiaoya:/opt/alist/data/. /home/someuser/xiaoya/data/

然后修改 /home/someuser/xiaoya/data/config.json ,将 address127.0.0.1 改为 0.0.0.0
然后把这个目录挂载给 alist:

docker run -d --restart=always -v /home/someuser/xiaoya/data:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist:latest

我尝试了一下,后台什么的可以进,但是视频无法播放或下载:"failed link: failed get link:",并且目录不全,搜索也无法使用,尝试自己解决看看,结果高估自己了,有解决方案吗

视频和目录的问题应该是阿里云盘的 refresh_token 的问题,xiaoya 通过使用你自己的 refresh_token 解决,但是 alist 要一个个改。我目前的想法是用一个脚本自动更改 data.db 里的 refresh_token ,但是最近没空做。

搜索是因为 xiaoya 用的是自己实现的搜索而非 alist 自带的搜索,这个问题我的建议是不要直接用 xiaoya 的数据库的那个 alist ,而是把它以 Alist V3 挂载给自己的 alist ,然后在后者上构建索引。

我把token都修改为自己的token了但是还是无法查看目录和电影

UPDATE x_storages SET addition = JSON_REPLACE(addition, '$.RefreshToken', 'your_new_value', '$.RefreshTokenOpen', 'your_new_value', '$.TempTransferFolderID', 'your_new_value');

@freetiger20150000
Copy link

能出个在termux里部署小雅的教程么?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment