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
访问你的域名能看到程序的登录页面:
首页很简洁:
点创建分享,就可以开始分享你的文件了,在这里可以设置描述/过期时间/密码保护/最大浏览次数等:
文件最大上传有限制吗?
没有限制,可以自己改这个配置调整:max-size = “1024G”
谢谢大佬
大佬,打开域名显示错误502
直接访问ip:9090能打开吗?
这到没试过,明天试试,明天晚上答复你
ip:9090打不开,显示“500 Internal Privoxy Error ”
docker-compose ps看看容器是不是没起来,没起来的话可能是配置写错了或者内存不够。
另外你这个500 Internal Privoxy Error这是代理服务器的响应吧,不能看到真正后端网站无法访问具体是什么错误。。
大佬,终于弄出来了,就是配置估计写错了,后来我连你的中文注释都没删除,然后就UP成功了
最近lala更新好勤快,点个赞!!!!