🚀 自建图床利器:Lsky Pro

在日常开发、写作、分享中,我们经常需要插入图片。如果直接把图片放在本地,不仅不便于管理,还可能出现图片丢失、外链失效等问题。于是,图床(Image Hosting) 就成为了解决方案。

本文将介绍一款开源且功能丰富的自建图床程序 —— Lsky Pro,并带你一步步使用 Docker 部署一个属于自己的图床系统。


🌈 Lsky Pro 简介

Lsky Pro 是一款优雅强大的自建图床程序,基于 PHP + Laravel 开发,前端界面简洁美观,功能非常完善。

主要特性:

  • ✅ 简单易用:界面简洁直观,上传和管理图片方便。
  • ☁️ 支持多存储方式:可将图片存储在本地或云存储(如阿里云 OSS、七牛云等)。
  • 🔗 接口丰富:提供 API,可供网站或应用调用,实现图片上传和展示。
  • 🔒 自建安全:数据存储自主可控,避免第三方图床可能出现的限制或隐私问题。

简单来说,它不仅仅是一个图床,还能成为你的图片资源管理中心。


🖼 图床的常见使用场景

在实际应用中,图床主要用于以下场景:

  1. 博客写作
    写 Markdown 博客时,将截图、插图上传到图床,生成的外链可以稳定插入到文章中。

  2. 接口返回/文档展示
    开发 API 文档或接口说明时,图片都可以通过图床托管,避免文档体积过大。

  3. 社交媒体分享
    在论坛、微信群、Telegram 等聊天中,直接引用图床外链即可展示高清图片。

  4. 个人知识管理
    自建一个图床,把平时的截图、表情包、笔记插图存储起来,形成个人素材库。


🐳 使用 Docker 安装 Lsky Pro(mysql数据库)

1. 创建目录

cd ~/docker
sudo mkdir -p lsky-pro && cd lsky-pro

2. 编写 docker-compose.yml

我们使用 Lsky Pro + MySQL 组合,方便数据管理。

services:
  lskypro:
    image: dko0/lsky-pro:latest
    container_name: lskypro
    restart: unless-stopped
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=mysql  # 如果 MySQL 在同一个 Docker 网络,用容器名
      - DB_PORT=3306
      - DB_DATABASE=lskypro_db  # 创建的lskypro数据库名
      - DB_USERNAME=lsky_user   # 数据库用户名
      - DB_PASSWORD=yourpassword  # 数据库密码
      - APP_URL=https://lsky.example.com #你的域名
    volumes:
      - ./lskypro/storage:/var/www/html/storage
    networks:
      - halonet

networks:
  halonet:
    external: true

3. 创建数据库

  • 进入容器(注意替换容器名)
docker exec -it mysql bash
  • 登录 MySQL
mysql -u root -p
  • 系统会提示输入 MySQL root 密码。
  • 创建lsky-db数据库
CREATE DATABASE lsky-db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  • 创建用户并授权(注意替换'lsky_user'、'yourpassword'为你自己的数据库用户名和密码)
CREATE USER 'lsky_user'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON lsky.* TO 'lskyuser'@'%';
FLUSH PRIVILEGES;
  • 退出 MySQL
EXIT;

4. 启动服务

sudo docker compose up -d

🌟 配置 Nginx 反向代理(可选)

如果需要绑定域名并启用 HTTPS,可以使用 Nginx:

server {
    listen 80;
    server_name lsky.example.com; # 替换为你的域名

    # 重定向到HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name lsky.example.com; # 替换为你的域名

    ssl_certificate /etc/nginx/ssl/lsky.example.com_cert.pem;
    ssl_certificate_key /etc/nginx/ssl/lsky.example.com_key.pem;
    


    access_log /var/log/nginx/lsky.access.log;
    error_log /var/log/nginx/lsky.error.log;


    location / {
        proxy_pass http://lskypro:80;
        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_set_header REMOTE-HOST $remote_addr;
        
        # 超时设置
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }

    location ~* ^/(storage|bootstrap/cache) {
        deny all;
        return 404;
    }
}

🌍 网页配置

打开网页(你自己的网页地址)

https://lsky.example.com/install/

  • 输入数据库地址和端口
  • 确认数据库用户名和密码
  • 创建管理员和密码
  • 立即安装

🎉 总结

  • Lsky Pro 是一款开源、强大的自建图床系统
  • 图床的常见应用场景(博客、接口文档、素材库)
  • 如何用 Docker 快速安装并运行 Lsky Pro
  • 使用 Nginx 配置反向代理和域名访问

有了 Lsky Pro,你就可以随时随地上传图片、获取外链,打造属于自己的高效图床服务 🚀


文章作者: stature
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 西西乐园
好玩的docker项目
喜欢就支持一下吧