Xintao
Xintao
发布于 2023-11-17 / 3 阅读
0

Picsur—一个开源免费的图床工具

介绍

今天分享的是一个开源免费的图床 Picsur,按照规矩点击这里可以直接到达项目地址。

这是一个易于使用、可自行托管的图片分享服务,而且还内置转换功能,界面也非常简单。

相关地址

Github官方仓库:https://github.com/caramelfur/picsur
官方Demo:https://picsur.org/

搭建

搭建环境

  • 服务器:硬盘越大越好
  • 系统:Ubuntu20.04 (Debian系列也可以)
  • 安装好Docker和Docker Compose
  • 域名(非必须,但是推荐)
  • NginxProxyManager(非必须,但是推荐)

搭建过程

创建文件夹

sudo -i

mkdir -p /root/data/docker_data/picsur

cd /root/data/docker_data/picsur

编辑Docker Compose文件

vim docker-compose.yml
# 或者下面的命令
nano docker-compose.yml

上面两个命令 vimnano 任选一个就可以
如果选择的是 vim ,进入输入页面后英文输入法下按下字母 i 就行,如果是 nano 命令直接进行编辑即可

下面是我的 docker-compose.yml 文件内容,官方的最新镜像会出现跨域问题,导致资源无法访问,把版本回退到0.5.1就可以了,截止到今天还没修复(20231121),后续有更新我会再进行更新。

version: '3'
services:
  picsur:
    image: ghcr.io/caramelfur/picsur:0.5.1
    container_name: picsur
    ports:
      - '8003:8080' #8003可以改成服务器上没有用过的端口
    environment:
      PICSUR_HOST: '0.0.0.0'
      PICSUR_PORT: 8080
      PICSUR_DB_HOST: picsur_postgres
      PICSUR_DB_PORT: 5432
      PICSUR_DB_USERNAME: picsur
      PICSUR_DB_PASSWORD: nice-long-strong-passw0rd-here  # 确保和picsur_postgres:部分的 POSTGRES_PASSWORD 匹配
      PICSUR_DB_DATABASE: picsur

      ## 默认管理员账户是 admin, 这个没法改,密码就是下面这个你设置的
      PICSUR_ADMIN_PASSWORD: different-nice-long-str0n6-passw0rd-here       

      ## 可选的,如果没有设置会默认生产随机字符
      # PICSUR_JWT_SECRET: CHANGE_ME
      # PICSUR_JWT_EXPIRY: 7d
      
      ## 最大可以上传的字节数
      PICSUR_MAX_FILE_SIZE: 128000000  # 128 MB
      ## No need to touch this, unless you use a custom frontend
      # PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"

      ## Warning: Verbose mode might log sensitive data
      # PICSUR_VERBOSE: "true"
    restart: unless-stopped
    
  picsur_postgres:
    image: postgres:14-alpine
    container_name: picsur_postgres
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: nice-long-strong-passw0rd-here
      POSTGRES_USER: picsur
    restart: unless-stopped
    volumes:
      - ./picsur-data:/var/lib/postgresql/data  # 默认数据存放在当前文件夹下的picsur-data目录中,可以自行修改

如果是 vim 命令编辑的,修改完成后点击 esc 然后输入 :wq 然后回车即可
如果是 nano 命令编辑,修改完成后按下 Ctrl+X ,输入 y 然后回车即可

检查端口并运行

按照你设置的端口,在终端中输入以下命令,看是否占用。如果回车后什么也没有,说明并没有占用。在Linux中,什么都没有就是最好的反馈。

lsof -i:8003  # 这里的8003换成你自己设置的端口

没有占用则可以在终端输入下面的命令进行运行

docker-compose up -d

访问

成功运行起来以后,就可以使用 ip:port 的方式进行访问了
如果出现无法访问,看看是不是服务器运营商那边的端口没有开放。

反向代理

其实到这里已经可以正常使用图床服务了,但是为了美观,我们使用解析好的域名进行反向代理后可以使用域名直接访问。这样既解决了美观问题,也更安全和好记。
这里我推荐使用NginxProxyManager进行反向代理。关于反向代理的详细步骤,过两天我会单独出一期详细的食用方法,到时候会一并附在这里。
好了,这就是今天要分享的内容,谢谢小伙伴的阅读!