QianheYu / headscale-panel

A management program that works with headscale
MIT License
32 stars 6 forks source link

建议使用sqlite3作为后端数据库 #10

Open liangyoufeng opened 10 months ago

liangyoufeng commented 10 months ago

后端数据库为PostgreSQL还是太臃肿了,建议使用sqlite3作为后端数据库。

QianheYu commented 8 months ago

的确存在这一问题,但是使用PostgreSQL可以满足headscale和headscale-panel分别部署在不同机器上的需要。对于有没有什么即能轻量化又能满足分别部署需要的实现方案还需要进行探索,您是否有什么更好的方案呢?

liangyoufeng commented 8 months ago

请教一下,有没有更好的部署教程呢,我看了一下README,有点不太明白,文中提示需要PostgreSQL,也给出了安装deploy/postgres/docker-compose.yml,但我在代码中,并未找到相对应的文件,以及Initialize the database:步骤不是很明白,是全新安装的需要init-data: true,还是安装后init-data: true,以及后面怎么对接呢?

QianheYu commented 8 months ago

你需要使用docker-compose启动PostgreSQL数据库(使用云数据库应跳过此步骤),将连接的用户名密码等写到配置文件中,首次启动(即首次搭建没有任何数据)应设置init-data为true,启动headscale-panel程序将自动创建数据表以及插入默认数据,待数据初始化完成后修改init-data为false并重启headscale-panel;如果已有数据应(包括手动迁移数据后的情况)应直接设置init-data为false并启动headscale-panel即可。 如果你使用docker部署headscale-panel可以使用默认配置文件(除数据库连接设置外),但需要注意配置文件的映射目录;如果你使用二进制文件部署可能需要修改相关文件路径。

haokfw commented 7 months ago

PostgreSQL强是强但是生态差能切换为MySQL数据库吗?

QianheYu commented 7 months ago

PostgreSQL强是强但是生态差能切换为MySQL数据库吗?

这里为了保证数据一致性,headscale-panel与headscale共用部分数据库表(users表)。我也很想用MySQL,但是headscale只支持sqlite和PostgreSQL,如果headscale-panel和headscale使用各自的数据库(采用微服务架构)可能带来数据一致性问题。关于如何实现高性能和高可靠性的保持数据的一致性方案需要考究,我也希望能有更多的朋友参与进来集思广益。

QianheYu commented 7 months ago

PostgreSQL强是强但是生态差能切换为MySQL数据库吗?

你有什么好方法吗?