老苏一直在折腾各种开源软件,但总是记不清哪些应用占用了哪些端口,每次都是先随机想一个端口,然后在笔记中搜索,看有没有被占用过。Portall
就是用来解决老苏遇到的这种情况的,当然,excel
也是可以的 😂
什么是 Portall ?
Portall
是一个自托管端口管理系统,它提供了一个直观的Web
界面,用于生成、跟踪和组织跨多个主机的端口和服务。它旨在让您更轻松地管理自托管应用和服务。
软件主要特征:
- **轻松的端口管理:**添加、删除和分配端口到不同的服务和主机
- **端口号生成:**为您的应用程序快速生成唯一的端口号
- **导入工具:**从
Caddyfile
、Docker-Compose
或JSON
数据导入现有配置 - **自定义规则:**定义您自己的端口范围并为端口生成器设置排除项
- **块级设计:**拖放元素来组织端口并在主机之间移动应用程序
- **主题:**包括明暗模式,计划推出更多主题
- **CSS Playground:**使用自定义
CSS
支持修改外观 - **移动响应:**从任何地方管理您的端口
技术栈
- 后端: Flask(Python)
- 数据库: SQLAlchemy 和 SQLite
- 前端: HTML、CSS、JavaScript
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 portall
,选择第一个 need4swede/portall:
,版本选择 latest
。
本文写作时,
latest
版本对应为1.0.3
;
卷
在 docker
文件夹中,创建一个新文件夹 portall
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/portall/data | /app/instance | 存放数据库文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
8855 | 8080 |
环境
可变 | 值 |
---|---|
PORT | 容器端口设置,默认设为 8080 |
SECRET_KEY | 用于加密和安全认证的密钥,根据需要进行修改 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 portall 和 子目录
mkdir -p /volume1/docker/portall/data
# 进入 portall 目录
cd /volume1/docker/portall
# 运行容器
docker run -d \
--restart unless-stopped \
--name portall \
-p 8855:8080 \
-v $(pwd)/data:/app/instance \
-e PORT=8080 \
-e SECRET_KEY=<your_secret_key> \
need4swede/portall:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
rediary:
image: need4swede/portall:latest
container_name: portall
restart: unless-stopped
ports:
- 8855:8080
volumes:
- ./data:/app/instance
environment:
- PORT=8080
- SECRET_KEY=<your_secret_key>
然后执行下面的命令
# 新建文件夹 portall 和 子目录
mkdir -p /volume1/docker/portall/data
# 进入 portall 目录
cd /volume1/docker/portall
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:8855
就能看到主界面
点 Add IP
添加 IP address
加个描述
点 Generate
,会随机生成了一个端口
进 Settings
--> General
,点 Save
将这个地址保存为缺省的 IP
进 Ports
会看到之前生成的端口
点 +
号可以添加一些之前已经使用的端口
添加完成之后
官方的动图更直观
参考文档
need4swede/Portall: Port Management Interface
地址:https://github.com/need4swede/Portall
Introducing Portall: A Self-Hosted Port Management System : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1dyack6/introducing_portall_a_selfhosted_port_management/