Address 升级、备份与恢复实战指南:地址生成器两条命令不丢数据的运维清单
Address 升级、备份与恢复实战指南地址生成器两条命令不丢数据的运维清单【免费下载链接】addressA self-hosted address and synthetic test-profile generator for 27 countries and regions, built from real open-data streets, administrative areas, coordinates, and postcodes. Supports multilingual output, IP-nearby generation, map previews, and API access. 基于真实开放数据的自托管地址与合成测试资料生成器覆盖 27 个国家和地区支持多语言地址、IP 附近生成、地图预览与 API 调用项目地址: https://gitcode.com/gh_mirrors/address4/addressAddress 是一个自托管的地址与合成测试资料生成器基于真实开放数据覆盖 27 个国家和地区支持多语言输出、IP 附近生成、地图预览与 API 调用。对于把 Address 部署在生产环境的人来说最核心的问题只有两个升级时别丢数据、出错时能回滚。好消息是这个仓库把这两件事浓缩成了两条命令——ops/backup.sh和ops/restore.sh本文带你把它们彻底讲清楚。️先搞懂数据在哪三处目录决定备份范围Address 只支持一种生产部署方式Docker Compose所有数据都放在 Compose 文件所在的目录下。真正需要不丢的有三块目录内容备份要求data/postgres/PostgreSQL 数据库地址池、同步状态核心用pg_dump逻辑备份data/secrets/自动生成的内部密钥含config_master_key必须随每次备份一起保存runtime/同步运行状态、发布记录建议一并归档其中最容易踩坑的是data/secrets/config_master_key管理后台里保存的平台密钥如地图、翻译服务商的 Key都用它加密丢了就只能重新录入。一条命令备份ops/backup.sh 做了什么在部署目录根下执行./ops/backup.sh脚本执行完会在标准输出打印备份文件路径形如backups/address-20261007T003000Z.dump。它内部做了四件你手工备份时容易漏掉的事见 ops/backup.sh自定义格式 压缩调用pg_dump --formatcustom --compress6备份更小且支持按对象恢复备份后自检立即用pg_restore --list校验文件完整坏文件当场暴露而不是等到恢复时才发现临时文件转正先写.tmp再原子性改名中断不会留下半截文件权限收紧chmod 600数据库备份默认就是敏感数据。⚠️ 数据库之外请顺手把密钥目录也复制一份cp -r data/secrets backups/secrets-$(date -u %Y%m%d)这条建议也写进了官方部署文档的备份章节docs/DEPLOYMENT.zh-CN.md 的备份与恢复一节。一条命令恢复ops/restore.sh 的安全设计恢复一条命令搞定./ops/restore.sh backups/address-20261007T003000Z.dumpops/restore.sh 的流程比想象讲究这正是不丢数据的关键入口校验备份文件必须位于backups/目录下拒绝任意路径防止误操作先停写、再恢复先docker compose stop api sync再用pg_restore --clean --if-exists --no-owner全量替换数据库自动补迁移恢复后自动运行migrate服务把 schema 对齐到当前版本的 server/control/schema.sql异常兜底注册了退出陷阱即使恢复中途失败或按 CtrlC也会自动把api和sync服务拉起来不会把系统留在一半状态。升级实操备份 → 拉新 → 起服务Address 的常规升级只需三步顺序不能乱先备份# 1. 升级前备份含密钥目录 ./ops/backup.sh cp -r data/secrets backups/secrets-$(date -u %Y%m%d) # 2. 拉取新镜像并重建容器 docker compose pull docker compose up -d # 3. 确认全部 running / healthy docker compose ps数据库迁移由migrate服务在启动时自动完成无需手动操作。若希望版本可控把.env里的ADDRESS_IMAGE固定为具体版本标签即可避免latest带来的不确定性。两条硬性注意事项跨 PostgreSQL 主版本如 15→16升级只能走pg_dump/pg_restore不要直接复用旧的data/postgres目录不要让两个 PostgreSQL 容器挂载同一个data/postgres。进阶玩法不可变发布与蓝绿切换如果你希望升级更零停机、失败可秒回滚仓库还内置了一整套生产级发布工具链ops/deploy.sh把工作区打包为不可变发布带 SHA-256 清单上传到远程构建address-local:release镜像绝不使用:latestops/activate-production-release.sh执行蓝绿切换——新流量切到蓝/绿槽位后观察健康状态并自动清理超期的旧发布默认保留 5 份随时可切回上一个槽位回滚ops/status.sh一键体检检查 Compose 服务、API/api/v1/ready与同步服务/healthz三处健康端点蓝绿模式下还会显示当前活跃槽位。配合 ops/start.sh、ops/stop.sh 这类薄封装脚本日常启停也统一了入口——脚本内部通过 ops/compose-root.sh 解析根目录支持ADDRESS_ROOT覆盖换机器迁移时只需整体拷贝该目录。恢复后的验收与常见问题恢复或升级完成后建议按这个顺序验收docker compose ps全部running / healthycurl http://127.0.0.1:8787/api/v1/ready返回{status:ready}打开http://127.0.0.1:8787/admin/抽查地址数据与同步状态。两个高频问题的官方答案sync一直显示 starting正常现象。它启动时要加载行政目录并校验已发布数据大库可能需几分钟日志持续输出即可等待网页与 API 不受影响忘记管理员密码按 docs/DEPLOYMENT.zh-CN.md 的常见问题一节操作删除data/secrets/admin_bootstrap_password用新初始密码运行bootstrap并清理旧管理员记录后重启即可。 运维清单速查场景操作耗时预期日常备份./ops/backup.sh 复制data/secrets分钟级恢复到指定备份./ops/restore.sh backups/xxx.dump分钟级大库稍久版本升级备份 →docker compose pull→docker compose up -d视镜像大小生产发布/回滚ops/deploy.shops/activate-production-release.sh蓝绿切换近零停机健康体检./ops/status.sh秒级一句话总结把data/secrets/config_master_key和数据库备份视为一对绑定资产升级前先跑ops/backup.sh出事就跑ops/restore.sh——这两条命令就是 Address 自托管运维的全部底气。【免费下载链接】addressA self-hosted address and synthetic test-profile generator for 27 countries and regions, built from real open-data streets, administrative areas, coordinates, and postcodes. Supports multilingual output, IP-nearby generation, map previews, and API access. 基于真实开放数据的自托管地址与合成测试资料生成器覆盖 27 个国家和地区支持多语言地址、IP 附近生成、地图预览与 API 调用项目地址: https://gitcode.com/gh_mirrors/address4/address创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

iOS图书商城源码落地实战:从能跑到可交付

iOS图书商城源码落地实战:从能跑到可交付

简介:这是一套面向iOS初学者与进阶开发者的图书商城系统实战源码,适用于学习MVC架构、网络请求、本地数据持久化及UI组件封装等核心技能。资源包含58个文件,主体为25个Swift业务逻辑文件(如BookCopyService、OrderService、各类Vi…

2026/10/10 21:49:19 阅读更多 →
PostgreSQL常用函数实战清单:字符串、日期、JSON与窗口分析避坑指南

PostgreSQL常用函数实战清单:字符串、日期、JSON与窗口分析避坑指南

在SQL的世界里,PostgreSQL是出了名的“函数大户”。不管是字符串处理、日期计算、JSON解析,还是窗口分析,PostgreSQL都准备了一套足够齐全的内置函数,让很多从MySQL转过来的同学第一次接触时会有点懵——同样的需求,在…

2026/10/10 3:28:29 阅读更多 →
基于Python后端与uni-app的校园考研论坛微信小程序开发实践

基于Python后端与uni-app的校园考研论坛微信小程序开发实践

考研这仗,一半是复习,另一半是信息战。每年那么多考生,找真题、求经验贴、问专业方向,信息全散在QQ群和贴吧里,不是被广告刷屏就是被旧帖子误导。我前阵子给学校做了一套"校园考研论坛交流系统",…

2026/10/8 9:15:58 阅读更多 →

最新新闻

可视化运维监控实战:让故障可见、可控、可定位

可视化运维监控实战:让故障可见、可控、可定位

做运维的最怕什么?不是半夜被叫醒,而是被叫醒之后面对一墙壁的监控数据,却不知道线上到底哪里出了问题。过去几年我搭建过几套运维监控体系,从最早用开源的监控组件拼拼凑凑,到后来逐步落地可视化运维监控平台&#xf…

2026/10/10 21:48:37 阅读更多 →
分支结构避坑指南:从if-else到switch的编程思维

分支结构避坑指南:从if-else到switch的编程思维

很多人刚学编程的时候,变量和输入输出都还能跟上,一到分支结构就开始犯迷糊:明明语法都认识,代码也能看懂,轮到自己写就总感觉逻辑拧巴。我刚开始带新人的时候,发现十个人里有六七个会栽在这一块。但其实分…

2026/10/10 21:48:37 阅读更多 →
课堂行为检测数据集:VOC与YOLO格式转换及YOLO训练实践

课堂行为检测数据集:VOC与YOLO格式转换及YOLO训练实践

简介:面向学生课堂行为检测场景,这份VOCYOLO双格式数据集包含5622张课堂实景图片,已按7个类别完成目标标注,可直接用于训练课堂行为识别模型、算法评测或教学实验,尤其适合需要现成标注数据的深度学习研究者。压缩包采…

2026/10/10 21:48:37 阅读更多 →
玩过 Stable Diffusion 就会用:从 SD 工作流平移 LTX-2.5 的 10 处关键差异

玩过 Stable Diffusion 就会用:从 SD 工作流平移 LTX-2.5 的 10 处关键差异

玩过 Stable Diffusion 就会用:从 SD 工作流平移 LTX-2.5 的 10 处关键差异 【免费下载链接】LTX-2.5 项目地址: https://ai.gitcode.com/hf_mirrors/Lightricks/LTX-2.5 如果你是 Stable Diffusion 的老玩家,第一次打开 LTX-2.5 的模型目录时大…

2026/10/10 21:48:37 阅读更多 →
别把 Supabase 当神:开源 BaaS 的隐藏成本与免费陷阱

别把 Supabase 当神:开源 BaaS 的隐藏成本与免费陷阱

别把 Supabase 当神:开源 BaaS 的隐藏成本与免费陷阱 【免费下载链接】supabase The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications. 项目地址: https://gitcode.com/GitHub…

2026/10/10 21:48:37 阅读更多 →
impeccable:一款面向OpenAPI契约的Python自动化校验工具

impeccable:一款面向OpenAPI契约的Python自动化校验工具

我无法基于当前输入生成符合要求的博文。原因如下:输入中仅提供了项目标题"impeccable",以及空置的“相关热搜词”“最新网络热词”和完全空白的搜索内容块(),未提供任何实质性的项目正文、关键词列表或摘要…

2026/10/10 21:47:36 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →