静看光阴荏苒
不管不顾不问不说也不念

Sharry:一个非常好用的文件分享程序

Sharry非常适合用于临时分享一些你的文件,同时它还可以创建一个公共上传页面用于接收别人分享给你的文件。

功能方面基本满足我的所有需求,我用过很多同类程序,可以说这个Sharry是我体验后感觉最好的了。

安装这里使用docker+nginx反代,首先还是老样子把需要用到的软件装一下:

apt -y update
apt -y install nginx python-certbot-nginx curl
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker nginx
curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

新建一个docker-compose:

mkdir -p /opt/docker-sharry && cd /opt/docker-sharry && nano docker-compose.yml

写入如下配置:

version: '3.5'

services:
  sharry:
    image: eikek0/sharry:1.3.1
    container_name: sharry
    depends_on:
      - sharry-db
    ports:
      - "9090:9090"
    volumes:
      - ./sharry.conf:/opt/sharry.conf
    command: /opt/sharry.conf
    restart: unless-stopped

  sharry-db:
    image: postgres:11-alpine
    container_name: sharry_db
    environment:
      - POSTGRES_DB=sharry
      - POSTGRES_USER=sharry
      - POSTGRES_PASSWORD=password
    volumes:
      - ./postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

接着新建一个sharry的配置文件:

nano sharry.conf

写入如下配置:

sharry.restserver {

  base-url = "https://sharry.imlala.best" # 修改成你的域名

  bind {
    address = "0.0.0.0"
    port = 9090
  }

  webapp {
    app-name = "imlala"
    app-icon = ""
    app-logo = ""
    app-footer = ""
    app-footer-visible = false
    chunk-size = "100M"
    welcome-message = ""
  }

  backend {

    auth {
      fixed {
        enabled = true
        user = "admin" # 管理员账号
        password = "password" # 管理员密码
      }
    }

    jdbc {
      url = "jdbc:postgresql://sharry-db:5432/sharry"
      user = "sharry"
      password = "password" # 数据库密码,与POSTGRES_PASSWORD环境变量要一致
    }

    signup {
      mode = "invite"
      invite-time = "14 days"
      invite-password = "generate-invite" # 邀请链接生成密码
    }

    share {
      chunk-size = "512K"
      max-size = "1024G"
      max-validity = 365 days
    }

    cleanup {
      enabled = true
      interval = 14 days
      invalid-age = 7 days
    }

  }

}

注:

上面的这个配置是我根据自己的需求来的,还有一些其他的配置,你可以参考官方的文档来更改,这里就不多介绍了

https://eikek.github.io/sharry/doc/configure

确认没问题后up起来即可:

docker-compose up -d

现在新建一个nginx反代配置文件:

nano /etc/nginx/conf.d/sharry.conf

写入如下配置:

server {
   listen 80;
   server_name  sharry.imlala.best; # 换成你的域名
   client_max_body_size 0;

location / {
    proxy_pass       http://127.0.0.1:9090;
    proxy_buffering  off;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }
}

最后使用certbot签发一个ssl证书即可:

certbot --nginx --agree-tos --no-eff-email --email xxxxx@qq.com

访问你的域名能看到程序的登录页面:

首页很简洁:

点创建分享,就可以开始分享你的文件了,在这里可以设置描述/过期时间/密码保护/最大浏览次数等:

赞(5)
未经允许不得转载:荒岛 » Sharry:一个非常好用的文件分享程序
分享到: 更多 (0)

评论 10

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    文件最大上传有限制吗?

    Foliage3个月前 (06-19) Chrome 83.0.4103.88 Chrome 83.0.4103.88 iPhone iOS 13.5 iPhone iOS 13.5回复
    • 没有限制,可以自己改这个配置调整:max-size = “1024G”

      LALA3个月前 (06-22) Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 谢谢大佬

        Foliage3个月前 (06-22) Google Chrome 83.0.4103.106 Google Chrome 83.0.4103.106 Windows 10 x64 Edition Windows 10 x64 Edition回复
      • 大佬,打开域名显示错误502 :cry:

        Foliage3个月前 (06-27) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition回复
        • 直接访问ip:9090能打开吗?

          LALA3个月前 (06-30) Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition回复
          • 这到没试过,明天试试,明天晚上答复你 :???:

            Foliage3个月前 (06-30) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition
          • ip:9090打不开,显示“500 Internal Privoxy Error :eek:

            Foliage3个月前 (07-02) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition
          • docker-compose ps看看容器是不是没起来,没起来的话可能是配置写错了或者内存不够。
            另外你这个500 Internal Privoxy Error这是代理服务器的响应吧,不能看到真正后端网站无法访问具体是什么错误。。

            LALA3个月前 (07-03) Google Chrome 80.0.3987.163 Google Chrome 80.0.3987.163 Windows 10 x64 Edition Windows 10 x64 Edition
          • 大佬,终于弄出来了,就是配置估计写错了,后来我连你的中文注释都没删除,然后就UP成功了 :eek:

            Foliage2个月前 (07-11) Google Chrome 83.0.4103.116 Google Chrome 83.0.4103.116 Windows 10 x64 Edition Windows 10 x64 Edition
  2. #2

    最近lala更新好勤快,点个赞!!!!

    minruikun3个月前 (06-20) Google Chrome 83.0.4103.106 Google Chrome 83.0.4103.106 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿