logo
0
0
WeChat Login
Forkfromhsred/postgres_database, behindmain1 commits

PostgreSQL + FRP 内网穿透项目

这是一个基于Docker的PostgreSQL数据库项目,配合frp内网穿透服务,实现远程数据库访问。

cnb机制最长18小时,凌晨4点有会清理掉长时间不在线的开发环境

定时任务

系统已配置自动重启任务,每天在 2点、10点、18点 自动重新开启环境,确保服务可用性。

⚠️ 重要提醒

  • 环境重启时有约30秒的空窗期,数据库连接会中断
  • 当前配置没有数据备份机制,重启环境会导致数据丢失
  • 请务必自行实现数据同步和备份方案

项目结构

/workspace/
├── docker-compose.yml          # PostgreSQL服务配置
├── frpc/                       # frp客户端配置目录
│   ├── docker-compose.yml      # frp容器配置
│   ├── frpc                    # frp客户端可执行文件
│   └── frpc.toml              # frp客户端配置文件
├── data/                       # 数据持久化目录
│   ├── dbdata/                 # PostgreSQL运行时数据文件
│   │   ├── postgresql.conf    # PostgreSQL主配置文件
│   │   ├── pg_hba.conf        # 访问控制配置
│   │   └── ...                # 其他数据库文件
│   └── postgres-config/       # PostgreSQL自定义配置
│       ├── postgresql.conf    # 自定义主配置
│       └── pg_hba.conf        # 自定义访问控制
├── .cnb.yml                    # CNB构建配置文件
├── .cnb/                       # CNB配置目录
│   ├── settings.yml           # CNB环境设置
│   ├── web_trigger.yml        # Web触发器配置
│   ├── postgres_database.png  # 项目图标
│   └── banned.png            # 禁用图标
├── .gitignore                  # Git忽略文件
└── README.md                   # 项目说明文档

服务说明

定时任务密钥配置

同组织下创建keys仓库文件名为api-token.yml

api_token: "<PASSWORD>"

PostgreSQL 数据库

同组织下创建postgres_database_key仓库文件名为postgres.yml 用户名和数据库同名

POSTGRES_VERSION: "自定义版本"
POSTGRES_USER: "用户名"
POSTGRES_PASSWORD: "密码"

FRP 内网穿透

同组织下创建postgres_database_key仓库文件名为frpc.yml

frpc_content: |
            # 日志配置
            log.level = "info"
            log.to = "/app/frpc.log" 
            # 服务端配置
            serverAddr = "frps服务器ip"
            serverPort = frps的端口
            auth.token = "frps的密码"


            # 代理配置
            [[proxies]]
            name = "postgres"
            type = "tcp"
            localIP = "172.17.0.1"
            localPort = 5432
            remotePort = 30005

快速开始

配置说明

PostgreSQL配置

  • 主配置文件: data/postgres-config/postgresql.conf
  • 访问控制: data/postgres-config/pg_hba.conf

FRP配置

  • 配置文件: frpc/frpc.toml
  • 日志文件: /app/frpc.log

注意事项

⚠️ 数据安全警告

  1. 没有数据备份机制 - 环境重启会导致所有数据丢失
  2. 定时重启风险 - 每天2点、10点、18点自动重启,数据会清空
  3. 必须自行备份数据 - 请在外部实现数据同步和备份
  4. 环境关闭即数据丢失 - 关闭环境后数据无法恢复

🔧 建议解决方案

  • 使用外部数据库服务
  • 实现定时数据导出
  • 配置数据同步到其他存储
  • 考虑使用持久化存储方案

维护命令

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f postgres
docker-compose logs -f frpc

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

安全建议

  1. 使用强密码作为数据库密码
  2. 定期备份数据库数据
  3. 在生产环境中限制网络访问权限
  4. 定期更新PostgreSQL版本

About

使用cnb云开发作为postgres数据库 没有数据备份 注意数据文件丢失 自己想法同步数据 数据库数据关闭环境就丢 没有数据备份 注意数据文件丢失 自己想法同步数据 数据库数据关闭环境就丢 没有数据备份 注意数据文件丢失 自己想法同步数据 数据库数据关闭环境就丢