利用docker部署Olaindex

吹爆docker!

前言

利用Aria2和Rclone成功地让我的小鸡实现了远程下载,下载完成后自动上传到OneDrive的功能。想知道的话可以看我的这篇博客

这个功能搞定后我又想整一个方便直接显示想分享的文件的列表。于是找了找,发现了Oneindex。不过看别人说这个不好用,那就算了吧。于是尝试了Olaindex。

但是官网要求的php环境我不会搭啊,用了官网介绍的Oneinstack也没有用。在安装的过程中会报错,我怀疑是我的内存不够大造成的。而且报错就算了,报错之后它还把我的环境给搞坏了,导致我想自己手动安装配置 php 环境都失败了。所以只好无奈的回滚了。

回滚之后我还是不甘心,又突然想到了docker。因为我搜Oneindex的时候找到了Oneindex的docker,又因为经常听说docker是方便部署的,所有的环境需求都被封装了,所以是即开即用。真的这么神奇么?于是我就试了下,没想到真的就有**这 么 神 奇!**。直接从下载安装,配置Nginx的转发就搞定了!

我的环境

  • debian10
  • amd64架构的CPU
  • 512M内存

安装docker

安装过程可以参考我的这篇博客利用官方脚本一键安装 docker

安装过程真的很简单。

下载docker镜像

在安装好docker,并且确定正确配置了之后,输入以下命令

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -d \
--name=olaindex \
--restart always \
-p 8085:80 \
-p 8443:443 \
--mount type=tmpfs,destination=/tmp \
-v /home/hacklog/.config/olaindex/conf:/vol/conf \
-v /home/hacklog/.config/olaindex/storage:/vol/storage \
-v /home/hacklog/.config/olaindex/ssl:/vol/ssl \
-e PHP_TZ=Asia/Shanghai \
-e PHP_MAX_EXECUTION_TIME=600 \
-e APP_DEBUG=false \
80x86/olaindex:latest

配置nginx

新建一个olaindex.conf文件

1
nano /etc/nginx/conf.d/olaindex.conf

之后这样配置nginx,我这里默认使用olaindex.yikakia.com作为访问网站Olaindex服务的域名。

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
server {
listen 80;
server_name olaindex.yikakia.com; #这里改成你的用于访问olaindex的域名

#charset koi8-r;
access_log /var/log/nginx/rom.nanodm.net.access.log;
error_log /var/log/nginx/rom.nanodm.net.error.log;

location / {

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;

#this is the maximum upload size
client_max_body_size 100m;
client_body_buffer_size 256k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Connection ""; # Clear for keepalive

proxy_pass http://127.0.0.1:8085;
}
}


server {

listen 443;
server_name olaindex.yikakia.com; # 这里改成你用于访问Olaindex的域名

ssl_certificate /etc/nginx/ssl/ssl.crt; #这里写你的ssl证书公钥
ssl_certificate_key /etc/nginx/ssl/ssl.key; #这里写你的ssl证书私钥

ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

access_log /var/log/nginx/rom.nanodm.net_ssl.access.log;
error_log /var/log/nginx/rom.nanodm.net_ssl.error.log;

location / {

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_max_temp_file_size 0;

#this is the maximum upload size
client_max_body_size 100m;
client_body_buffer_size 256k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Connection ""; # Clear for keepalive

proxy_pass https://127.0.0.1:8443;
}
}

没有ssl证书的话可以参考我的这篇博客 利用 Lets Encrypt 为你的网站加把小锁

现在重启nginx

1
service nginx restart

再去访问你用于Olaindex的域名就可以了。这里最好专门另外申请一个二级域名。就是类似于这样的:olaindex.yikakia.com

配置Olaindex,申请账号

安装

做到了这一步,艰难的事情就做完了。
现在你可以在浏览器输入olaindex.yikakia.com(替换成你用于访问Olaindex服务的域名)来进行配置。
可以直接参考官网这个配置

在这里这么填写你的域名,把图片上的http://localhost:8000/oauth改成https://olaindex.yikakia.com,就是你自己设定的那个域名。

然后点击申请。

获取密钥

打开一个记事本,把你获取的那个应用机密复制保存好。

然后点击继续。

获取id

把获得的那个client_id也复制到记事本里面。

保存提交


接下来就把之前获取的那两个输入进去。同时第一个回调地址就是你之前申请的那个。
如果没错的话,现在就配置完成了。你可以访问olaindex.yikakia.com/admin进入管理后台,默认的密码是12345678。一定要改!

参考

OLAINDEX官方文档
80x86/olaindex docker镜像提供者


利用docker部署Olaindex
https://www.yikakia.com/利用docker部署Olaindex/
作者
Yika
发布于
2020年4月11日
许可协议