
https://github.com/netreconlab/parse-hipaa/actions/workflows/build.yml/badge.svg](https://github.com/netreconlab/parse-hipaa/actions/workflows/build.yml) https://github.com/netreconlab/parse-hipaa/actions/workflows/build-dashboard.yml/badge.svg](https://github.com/netreconlab/parse-hipaa/actions/workflows/build-dashboard.yml) https://github.com/netreconlab/parse-hipaa/actions/workflows/release.yml/badge.svg](https://github.com/netreconlab/parse-hipaa/actions/workflows/release.yml) https://github.com/netreconlab/parse-hipaa/actions/workflows/release-dashboard.yml/badge.svg](https://github.com/netreconlab/parse-hipaa/actions/workflows/release-dashboard.yml)
!dashboard
运行您自己的符合HIPAA和GDPR标准的https://github.com/parse-community/parse-server%EF%BC%8C%E6%94%AF%E6%8C%81PostgreSQL%E6%88%96https://github.com/netreconlab/parse-hipaa/blob/main/docker-compose.mongo.yml%E3%80%82parse-hipaa%E8%BF%98%E5%8C%85%E5%90%ABhttps://github.com/parse-community/parse-dashboard%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%9C%A8%E4%BA%91%E7%AB%AF%E6%9F%A5%E7%9C%8B/%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE%E3%80%82%E4%BD%9C%E4%B8%BAparse-server%E7%9A%84%E8%A1%8D%E7%94%9F%E7%89%88%E6%9C%AC%EF%BC%8Cparse-hipaa%E5%8F%AF%E7%94%A8%E4%BA%8EiOS%E3%80%81Android%E3%80%81https://github.com/parse-community/Parse-SDK-Flutter/tree/master/packages/flutter#getting-started%E5%92%8C%E5%9F%BA%E4%BA%8EWeb%E7%9A%84%E5%BA%94%E7%94%A8%EF%BC%88JS%E3%80%81React Native等)。默认启用GraphQL和REST API,可直接测试或通过Parse Dashboard中的"API Console"测试。详情和示例请参见Parse SDK文档。parse-hipaa包含符合HIPAA合规所需的数据库审计和日志功能。
parse-hipaa提供以下特性:
要实现完全HIPAA和GDPR合规,您还需自行配置以下内容:
https://github.com/netreconlab/CareKitSample-ParseCareKit%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8parse-hipaa%E5%92%8Chttps://github.com/netreconlab/ParseCareKit%E3%80%82
风险提示:使用本镜像需自行承担风险,不保证完全符合HIPAA合规,我们不对数据处理不当负责。
Parse-HIPAA基于https://hub.docker.com/r/parseplatform/parse-server%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%8C%85%E5%90%AB%E4%BB%A5%E4%B8%8B%E9%A2%9D%E5%A4%96%E5%8C%85%EF%BC%9A
parse-hipaa镜像自动构建,可通过以下位置获取:
生产环境
latest - 指向最新发布版本,不含https://github.com/netreconlab/parse-hipaa-dashboard%EF%BC%8C%E9%95%9C%E5%83%8F%E4%BD%93%E7%A7%AF%E6%9C%80%E5%B0%8Fx.x.x - 指向特定发布版本,版本号与https://github.com/parse-community/parse-server#flavors--branches%E5%AF%B9%E5%BA%94%EF%BC%8C%E4%B8%8D%E5%90%ABdashboard%EF%BC%8C%E9%95%9C%E5%83%8F%E4%BD%93%E7%A7%AF%E6%9C%80%E5%B0%8Fx.x.x-dashboard - 指向特定发布版本,版本号与parse-server对应,包含https://github.com/netreconlab/parse-hipaa-dashboard%EF%BC%8C%E9%95%9C%E5%83%8F%E4%BD%93%E7%A7%AF%E8%BE%83%E5%A4%A7开发环境
main - 包含最新代码,依赖最新parse-server版本,含dashboard,可能包含破坏性变更x.x.x-alpha/beta - 包含最新代码,依赖parse-server的alpha/beta版本,含dashboard,可能包含破坏性变更可组合使用多个标签镜像构建高可用(HA)应用,例如:1个Nginx反向代理/负载均衡器、1个x.x.x-dashboard parse-hipaa服务器、2个x.x.x parse-hipaa服务器、1个Percona Monitor and Management服务器。
latest或x.x.x,适合构建HA集群或独立服务器,需单独部署dashboard。示例配置见https://github.com/netreconlab/parse-hipaa/blob/main/docker-compose.ymlx.x.x-dashboard,适合单服务器部署,包含dashboard功能。示例配置见https://github.com/netreconlab/parse-hipaa/blob/main/docker-compose-dashboard.ymlmain或x.x.x-alpha/beta,仅用于测试最新功能,不建议生产环境使用Heroku
PARSE_SERVER_USING_PARSECAREKIT=falsehttps://YOUR_APP_NAME.herokuapp.com/parse(服务器)或https://YOUR_APP_NAME.herokuapp.com/dashboard(dashboard)访问,路径由PARSE_SERVER_MOUNT_PATH和PARSE_DASHBOARD_MOUNT_PATH定义Settings->Reveal Config Vars中获取PARSE_SERVER_APPLICATION_ID,客户端需配置applicationId(即该值)和serverURL(即https://YOUR_APP_NAME.herokuapp.com/parse)自定义Heroku部署
heroku.yml,将parse/Dockerfile.heroku改为parse/Dockerfile,使构建基于自定义代码parse/index.js和parse/cloud等文件Docker部署(Postgres/Mongo)
默认docker-compose.yml使用https://github.com/netreconlab/hipaa-postgres/%EF%BC%8C%60docker-compose.mongo.yml%60%E4%BD%BF%E7%94%A8https://github.com/netreconlab/hipaa-mongo/%E3%80%82
Postgres(HIPAA合规版):
bashdocker-compose up
Mongo(HIPAA合规版):
bashdocker-compose -f docker-compose.mongo.yml up
Postgres(非合规版):
bashdocker-compose -f docker-compose.no.hipaa.yml up
Mongo(非合规版):未提供,参考标准https://github.com/parse-community/parse-server#inside-a-docker-container%E9%83%A8%E7%BD%B2
环境变量配置
parse-hipaa由4个独立Docker镜像组成(同时使用3个),需正确配置环境变量。完整变量列表见https://github.com/netreconlab/parse-hipaa/blob/main/app.json%E3%80%82
netreconlab/parse-hipaa
bashPARSE_SERVER_APPLICATION_ID # 唯一字符串 PARSE_SERVER_PRIMARY_KEY # 唯一字符串 PARSE_SERVER_READ_ONLY_PRIMARY_KEY # 唯一字符串 PARSE_SERVER_ENCRYPTION_KEY # 文件加密密钥 PARSE_SERVER_OBJECT_ID_SIZE # ObjectId长度,默认10,建议医疗应用设为32 PARSE_SERVER_DATABASE_URI # 数据库连接URI,如postgres://${PG_PARSE_USER}:${PG_PARSE_PASSWORD}@db:5432/${PG_PARSE_DB} PORT # 端口,默认1337 PARSE_SERVER_MOUNT_PATH # 挂载路径,默认/parse PARSE_SERVER_URL # 服务器URL,默认http://parse:${PORT}/parse PARSE_SERVER_PUBLIC_URL # 公开URL,默认http://localhost:${PORT}/parse PARSE_SERVER_CLOUD # 云代码路径,默认/parse/cloud/main.js PARSE_SERVER_MOUNT_GRAPHQL # 是否启用GraphQL,默认true PARSE_SET_USER_CLP # 是否限制User类访问,默认1 PARSE_SERVER_ALLOW_CLIENT_CLASS_CREATION # 是否允许客户端创建类,默认false PARSE_SERVER_ALLOW_CUSTOM_OBJECTID # ParseCareKit必需,默认true PARSE_SERVER_ENABLE_SCHEMA_HOOKS # 跨实例同步 schema,默认true PARSE_SERVER_DIRECT_ACCESS # 禁用直接访问,默认false PARSE_SERVER_USING_PARSECAREKIT # 是否使用ParseCareKit,默认true PARSE_VERBOSE # 是否启用详细日志,默认false POSTGRES_PASSWORD # 需与hipaa-postgres的POSTGRES_PASSWORD一致
netreconlab/hipaa-postgres
bashPOSTGRES_PASSWORD # 数据库集群密码 PG_PARSE_USER # parse数据库用户名 PG_PARSE_PASSWORD # parse数据库密码 PG_PARSE_DB # parse数据库名称
netreconlab/hipaa-mongo
bash# 需手动修改/scripts/mongo-init.js,环境变量不直接传递 MONGO_INITDB_ROOT_USERNAME # 管理员用户名 MONGO_INITDB_ROOT_PASSWORD # 管理员密码 MONGO_INITDB_DATABASE # parse数据库名称
parse-hipaa-dashboard/parse-dashboard
bashPARSE_DASHBOARD_TRUST_PROXY # 代理后端时设置为1 PARSE_DASHBOARD_ALLOW_INSECURE_HTTP # 非代理环境设置为1(二选一) PARSE_DASHBOARD_COOKIE_SESSION_SECRET # 会话密钥 PARSE_DASHBOARD_MOUNT_PATH # 挂载路径,默认/dashboard
首次启动说明
首次启动时,parse-server(控制台显示为parse_1)可能因Postgres初始化而多次连接失败,属正常现象。Postgres初始化完成后会显示:
bashdb_1 | PostgreSQL init process complete; ready for start up.
parse-server连接成功后显示:
bashparse_1 | parse-server running on port 1337. parse_1 | publicServerURL: http://localhost:1337/parse, serverURL: http://parse:1337/parse parse_1 | GraphQL API running on http://localhost:1337/parsegraphql parse_1 | info: Parse LiveQuery Server starts running
控制台可能出现类似以下数据库错误日志,属正常现象(parse检查并配置数据库):
bashdb_1 | 2020-03-18 21:59:21.550 UTC [105] ERROR: duplicate key value violates unique constraint "pg_type_typname_nsp_index" ...
Singularity部署
提供Singularity镜像,托管于GitHub Container Registry,示例配置见https://github.com/netreconlab/parse-hipaa/blob/main/singularity-compose.yml%E3%80%82
Parse Server默认绑定1337端口,访问地址http://localhost:1337/parse。可通过修改https://github.com/netreconlab/parse-hipaa/blob/main/index.js%E9%85%8D%E7%BD%AE%E6%8E%A8%E9%80%81%E9%80%9A%E7%9F%A5%E3%80%81%E5%AF%86%E7%A0%81%E9%87%8D%E7%BD%AE%E3%80%81https://github.com/parse-community/parse-server#available-adapters%E7%AD%89%E3%80%82%E8%AF%A5%E6%96%87%E4%BB%B6%E4%B8%BAExpress%E5%BA%94%E7%94%A8%EF%BC%8C%E5%8F%82%E8%80%83https://github.com/parse-community/parse-server#using-expressjs%E3%80%82
生产环境需创建索引优化查询:
Postgres
docker exec -u postgres -ti parse-hipaa_db_1 bash./usr/local/bin/setup-parse-index.sh幂等性配置
建议启用幂等性,参考https://github.com/parse-community/parse-server#idempotency-enforcement%E3%80%82Postgres%E5%8F%AF%E9%80%9A%E8%BF%87cron%E5%AE%9A%E6%9C%9F%E6%89%A7%E8%A1%8C%5Bparse_idempotency_delete_expired_rec
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务