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更新好勤快,点个赞!!!!