最近图床vps到期,迁移的时候发现原来的开源版chevereto图床docker版直接没了,直接删库逼氪了。因此所幸不用了,换一个国产的,虽然兰空图床的开源版也不更新了,但起码docker可以拉到,自用也没有问题,而且还可以不用mysql,小机器可以不用mysql肯定首选。
1.docker拉取镜像
镜像地址:https://github.com/HalcyonAzure/lsky-pro-docker
我使用docker-compose部署,并且不使用mysql,使用sqlite。如有其他变动可参考作者仓库内的docker-compose文件。
解释一下端口,我这里有点颠倒,HTTPS_PORT是提供给https使用的端口,WEB_PORT是http的端口,https的端口默认自带的是自签证书。我使用的是NGINX代理WEB_PORT端口,目前没有什么问题。正常按照手册NGINX对接的应该是HTTPS_PORT端口,注意区分。
version: '3'
services:
lskypro:
image: halcyonazure/lsky-pro-docker:latest
restart: unless-stopped
hostname: lskypro
container_name: lskypro
environment:
- HTTPS_PORT=8088
- WEB_PORT=8089
volumes:
- $PWD/web:/var/www/html/
ports:
- "9080:8088"
- "9081:8089"
networks:
- lsky-net
2.配置NGINX开启https
我的NGINX配置文件
server {
listen 443 ssl;
server_name xxx.com;
#证书
ssl_certificate /root/.acme.sh/xxx.com_ecc/xxx.com.cer;
ssl_certificate_key /root/.acme.sh/xxx.com_ecc/xxx.com.key;
access_log /var/log/nginx/lskylog/access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_pass http://127.0.0.1:9081;
proxy_redirect off;
client_max_body_size 100m;
client_body_buffer_size 128k;
}
}
其中“client_max_body_size 100m;”这一串是避免上传图片过大导致NGINX中断传输的。这个容器默认修改了phpini文件中上传限制,但是上传个几兆图片还是报错的话,需要考虑是不是NGINX这边限制导致。