8000 GitHub - yuanxiaoming8899/picoshare: 一种简约、易于托管规则和其他文件共享服务
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

yuanxiaoming8899/picoshare

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微共享

圆环 Docker 版本 GitHub 提交活动 GitHub 上次提交 贡献者 执照

概述

PicoShare 是一项简约的服务,可让您轻松共享文件。

PicoShare 演示

为什么选择PicoShare?

有上百万种文件共享服务,但没有一种能与 PicoShare 媲美。以下是 PicoShare 的优势:

  • 直接下载链接:PicoShare 为您提供可与任何人共享的直接下载链接。他们可以查看或下载文件,无需广告或注册。
  • 没有文件限制:与 imgur、Vimeo 或 SoundCloud 等仅允许您共享特定类型文件的网站不同,PicoShare 允许您共享任何大小的文件。
  • 无需调整大小/重新编码:如果您上传图像、视频或音频等媒体,PicoShare 绝不会强迫您等待重新编码。您上传文件后会立即获得直接下载链接,并且 PicoShare 绝不会调整文件大小或重新编码。

运行PicoShare

从源头

PS_SHARED_SECRET=somesecretpass PORT=4001 \
  go run cmd/picoshare/main.go

来自 Docker

要在 Docker 容器中运行 PicoShare,请从本地系统挂载一个卷来存储 PicoShare sqlite 数据库。

docker run \
  --env "PORT=4001" \
  --env "PS_SHARED_SECRET=somesecretpass" \
  --publish 4001:4001/tcp \
  --volume "${PWD}/data:/data" \
  --name picoshare \
  mtlynch/picoshare

从Docker+云数据复制

如果您指定与Litestream兼容的云存储位置的设置,PicoShare 将自动复制您的数据。

您可以终止容器并稍后启动它,PicoShare 将从云存储位置恢复您的数据并继续运行,就像没有中断一样。

PORT=4001
PS_SHARED_SECRET="somesecretpass"
LITESTREAM_BUCKET=YOUR-LITESTREAM-BUCKET
LITESTREAM_ENDPOINT=YOUR-LITESTREAM-ENDPOINT
LITESTREAM_ACCESS_KEY_ID=YOUR-ACCESS-ID
LITESTREAM_SECRET_ACCESS_KEY=YOUR-SECRET-ACCESS-KEY

docker run
--publish "${PORT}:${PORT}/tcp"
--env "PORT=${PORT}"
--env "PS_SHARED_SECRET=${PS_SHARED_SECRET}"
--env "LITESTREAM_ACCESS_KEY_ID=${LITESTREAM_ACCESS_KEY_ID}"
--env "LITESTREAM_SECRET_ACCESS_KEY=${LITESTREAM_SECRET_ACCESS_KEY}"
--env "LITESTREAM_BUCKET=${LITESTREAM_BUCKET}"
--env "LITESTREAM_ENDPOINT=${LITESTREAM_ENDPOINT}"
--name picoshare
mtlynch/picoshare

笔记:

  • 每个 Litestream 位置仅运行一个 Docker 容器。
    • PicoShare 无法跨多个实例同步写入。

使用 Docker Compose

要在 docker-compose 下运行 PicoShare,请将以下内容复制到名为 的文件中docker-compose.yml,然后运行docker-compose up

version: "3.2"
services:
  picoshare:
    image: mtlynch/picoshare
    environment:
      - PORT=4001
      - PS_SHARED_SECRET=dummypass # Change to any password
    ports:
      - 4001:4001
    command: -db /data/store.db
    volumes:
      - ./data:/data

参数

命令行标志

旗帜 意义 默认值
-db SQLite 数据库路径 "data/store.db"

环境变量

环境变量 意义
PORT 用于监听 HTTP 连接的 TCP 端口(默认为 4001)。
PS_BEHIND_PROXY "true"当 PicoShare 在反向代理后面运行时,设置为以便更好地记录日志。
PS_SHARED_SECRET (必需)指定管理员用户登录 PicoShare 的密码。

Docker 环境变量

您可以通过指定这些特定于 Docker 的变量来调整 Docker 容器的行为docker run -e

环境变量 意义
LITESTREAM_BUCKET Litestream 兼容的云存储存储桶,Litestream 应在其中复制数据。
LITESTREAM_ENDPOINT Litestream 兼容的云存储端点,Litestream 应在其中复制数据。
LITESTREAM_ACCESS_KEY_ID 您想要复制数据的存储桶的 Litestream 兼容云存储访问密钥 ID。
LITESTREAM_SECRET_ACCESS_KEY 您想要复制数据的存储桶的 Litestream 兼容云存储秘密访问密钥。
LITESTREAM_RETENTION Litestream 快照和 WAL 文件将保留的时间(默认为 72 小时)。

Docker 构建参数

如果你从源代码重建 Docker 映像,则可以使用以下命令调整构建行为docker build --build-arg

构建参数 意义 默认值
litestream_version 用于数据复制的Litestream版本 0.3.9

PicoShare 的范围和未来

PicoShare 由 Michael Lynch 作为一个业余项目进行维护。

由于时间限制,我将 PicoShare 的范围限制在适合我的工作流程的功能上。不幸的是,这意味着我有时会拒绝非常好的功能的提案或贡献。这并不是反对这些功能,但我只有带宽来维护我使用的功能。

部署

PicoShare 易于部署到云托管平台:

技巧和窍门

回收保留的数据库空间

一些用户感到惊讶的是,当他们从 PicoShare 删除文件时,文件系统上的可用空间并没有恢复。

当您删除文件时,PicoShare 会保留空间以供将来上传。如果您想减少 PicoShare 对文件系统的使用,可以执行以下步骤手动强制 PicoShare 放弃空间:

  1. 关闭 PicoShare。
  2. 运行PicoShare 数据库的路径sqlite3 data/store.db 'VACUUM'data/store.db

您会发现data/store.db文件大小会缩小,因为它放弃了以前删除的文件专用的空间。如果您再次启动 PicoShare,系统信息屏幕将显示 PicoShare 文件的较小尺寸。

About

一种简约、易于托管规则和其他文件共享服务

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 53.8%
  • HTML 22.4%
  • TypeScript 12.7%
  • Shell 5.0%
  • JavaScript 4.7%
  • Dockerfile 0.6%
  • Other 0.8%
0