文件共享应用程序Palmr

简介

什么是 Palmr ?

Palmr 是一个开源的文件共享平台,专注于隐私和安全性,允许用户上传、管理和分享文件。它提供了密码保护、自定义链接和访问控制等功能,而无需任何跟踪或限制。

主要特点

  1. 自托管 :用户可以在自己的服务器或 VPS 上部署,确保数据控制和隐私。
  2. 完全控制:无第三方依赖,用户对文件共享过程有完全的掌控。
  3. 无人工限制:共享文件没有隐藏的限制或费用,提供自由的文件传输体验。
  4. 简单部署 :使用 SQLite 数据库和文件系统存储,便于快速设置。
  5. 可扩展存储 :支持 S3 兼容的对象存储,适合企业需求。
  6. 现代技术栈 :后端使用 FastifyNode.js),前端使用 Next.jsTypeScript,保证高性能和安全性。

应用场景

  1. 个人文件共享:适合个人用户安全地共享和存储文件,避免使用公共平台的隐私风险。
  2. 团队协作 :团队可以通过 Palmr 共享项目文件,确保文件管理的安全性和隐私。
  3. 企业解决方案 :企业可以部署 Palmr 以满足内部文件传输需求,确保数据安全和合规性。
  4. 教育机构 :教育机构可以利用 Palmr 进行课程资料的共享与管理,保护学生和教师的隐私。

通过这些特点和应用场景,Palmr 为用户提供了一个灵活、安全的文件共享解决方案。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 kyantech ,选择第一个 kyantech/palmr,版本选择 latest

本文写作时, latest 版本对应为 v3.1.1-beta

docker 文件夹中,创建一个新文件夹 palmr,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/palmr/data /app/server 存放数据库和上传文件等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口 用途
5487 5487 WEB 端口
3333 3333 API 端口

API 端口可以不映射,不影响使用

环境

环境变量 描述
ENABLE_S3 设置为 false 以禁用 S3 支持;如需启用,请设置为 true
ENCRYPTION_KEY 用于加密的密钥,必须至少 32 个字符(在生产环境中请更改此密钥以增强安全性)。 可以用 openssl rand -base64 32 生成
PALMR_UID 容器进程的用户 ID,默认设为 1000;可以更改为运行容器的用户的 UID
PALMR_GID 容器进程的组 ID,默认设为 1000;可以更改为运行容器的用户的 GID
SECURE_SITE 设置为 true 如果你使用反向代理;否则保持为 false

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 palmr 和 子目录
mkdir -p /volume1/docker/palmr/data

# 进入 palmr 目录
cd /volume1/docker/palmr

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name palmr \
   -p 5487:5487 \
   -p 3333:3333 \
   -v $(pwd)/data:/app/server \
   -e ENABLE_S3=false \
   -e ENCRYPTION_KEY=change-this-key-in-production-min-32-chars \
   -e PALMR_UID=1000 \
   -e PALMR_GID=1000 \
   -e SECURE_SITE=false \
   kyantech/palmr:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
services:
  palmr:
    image: kyantech/palmr:latest
    container_name: palmr
    environment:
      - ENABLE_S3=false
      - ENCRYPTION_KEY=change-this-key-in-production-min-32-chars # CHANGE THIS KEY FOR SECURITY
      - PALMR_UID=1000 # UID for the container processes (default is 1001) you can change it to the UID of the user running the container
      - PALMR_GID=1000 # GID for the container processes (default is 1001) you can change it to the GID of the user running the container
      - SECURE_SITE=false # Set to true if you are using a reverse proxy
    ports:
      - "5487:5487" # Web port
      - "3333:3333" # API port (OPTIONAL EXPOSED - ONLY IF YOU WANT TO ACCESS THE API DIRECTLY)
    volumes:
      # Bind mount for persistent data (uploads, database, temp files)
      - ./data:/app/server # Volume for the application data
    restart: unless-stopped # Restart the container unless it is stopped

然后执行下面的命令

bash 复制代码
# 新建文件夹 palmr 和 子目录
mkdir -p /volume1/docker/palmr/data

# 进入 palmr 目录
cd /volume1/docker/palmr

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5487 就能看到主界面

点左上角的 Login,第一次需要建管理员账号

密码不能少于 8

创建成功之后,还需要登录

登录成功后的主界面

右上角可以进入 Setting,虽然不支持中文,但是使用还是比较简单的

  • My Files :我的文件,这里可以访问和管理您上传的文件
  • My Shares:我的共享,这里可以查看和管理您共享的文件
  • Receive Files:接收文件,这里可以创建链接,供他人向您发送文件

直接拖拽就可以上传文档

支持预览、分享等操作

pdf 的预览效果挺不错的

分享支持设置到期时间,阅读次数和密码保护

生成的链接可以分享给别人

回到首页面

FileStation 中看,文件名称已经被更改了

参考文档

kyantech/Palmr: 🌴 Palmr. is an open-source file-sharing platform focused on privacy and security. It enables users to upload, manage, and share files with features like password protection, custom links, and access control without tracking or limitations. Designed for seamless and secure sharing, Palmr. is completely free.

地址:https://github.com/kyantech/Palmr/
Palmr. | Official Website

地址:https://palmr.kyantech.com.br/
Welcome to Palmr. | Palmr. Docs

地址:https://palmr.kyantech.com.br/docs/

相关推荐
学习3人组18 分钟前
CentOS9安装Docker
docker·容器·eureka
何包蛋H2 小时前
Docker Maven 插件深度配置指南:Spotify vs Fabric8
docker·容器·maven
从零开始学习人工智能2 小时前
解决Docker容器无法访问宿主机IP和端口的全维度实践指南
tcp/ip·docker·容器
隔壁阿布都3 小时前
Docker 安装 Redis
redis·docker·容器
程序员老赵3 小时前
Apache IoTDB Docker 容器化部署指南:从入门到生产环境实践
docker·apache
一过菜只因4 小时前
Docker入门
运维·docker·容器
weixin_46684 小时前
K8S-RBAC2
docker·容器·kubernetes
不惑_4 小时前
在 Docker 中运行 Java JAR 包实战教程
java·docker·jar
小嘟嘟135 小时前
Kurator深度解析:云原生多集群管理的高效解决方案
linux·运维·docker·云原生·自动化
java_logo5 小时前
TDengine Docker 容器化部署指南
大数据·docker·tdengine·docker tdengine·tdengine部署教程·tdengine部署文档·tdengine部署