xChar
·7 months ago

docker部署兰空图床

最近图床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这边限制导致。

Loading comments...