Tom

Tom

dockerデプロイラン空図床

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 側の制限が原因であるかどうかを考慮する必要があります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。