parse-platform - 使用多个用户帐户在 Openstack 上解析服务器(替代 back4app、Heroku)
问题描述
我是一名学生,在大学里我们正在尝试为我们的应用程序设置我们自己的后端服务,因为像 Firebase 这样的后端会花费我们更多。
我们决定在我们的大学实验室中使用 Openstack 来组合和管理多台计算机的计算资源,但现在我们想创建一个门户网站,让我们的学生可以登录并使用解析服务器仪表板。
如何为每个用户设置多个解析实例以及使用哪些容器以及如何使用?
解决方案
您可以尝试使用 docker compose。您需要编写这样的docker-compose.yml
文件:
version: '2'
services:
mongo-db:
image: mongo
ports:
- 27017:27017
parse-server1-user1:
image: parseplatform/parse-server
links:
- mongo-db
environment:
- PARSE_SERVER_APPLICATION_ID=parse1-user1
- PARSE_SERVER_MASTER_KEY=SOME_SECRET_MASTER1_USER1
- PARSE_SERVER_DATABASE_URI=mongodb://mongo-db:27017/parse1-user1
ports:
- 1337:1337
parse-server2-user1:
image: parseplatform/parse-server
links:
- mongo-db
environment:
- PARSE_SERVER_APPLICATION_ID=parse2-user1
- PARSE_SERVER_MASTER_KEY=SOME_SECRET_MASTER2_USER1
- PARSE_SERVER_DATABASE_URI=mongodb://mongo-db:27017/parse2-user1
ports:
- 1338:1337
parse-server1-user2:
image: parseplatform/parse-server
links:
- mongo-db
environment:
- PARSE_SERVER_APPLICATION_ID=parse1-user2
- PARSE_SERVER_MASTER_KEY=SOME_SECRET_MASTER1_USER2
- PARSE_SERVER_DATABASE_URI=mongodb://mongo-db:27017/parse1-user2
ports:
- 1339:1337
parse-server2-user2:
image: parseplatform/parse-server
links:
- mongo-db
environment:
- PARSE_SERVER_APPLICATION_ID=parse2-user2
- PARSE_SERVER_MASTER_KEY=SOME_SECRET_MASTER2_USER2
- PARSE_SERVER_DATABASE_URI=mongodb://mongo-db:27017/parse2-user2
ports:
- 1340:1337
parse-dashboard:
image: parseplatform/parse-dashboard
links:
- parse-server1-user1
- parse-server2-user1
- parse-server1-user2
- parse-server2-user2
depends_on:
- parse-server1-user1
- parse-server2-user1
- parse-server1-user2
- parse-server2-user2
environment:
- PARSE_DASHBOARD_CONFIG={"apps":[{"appId":"parse1-user1","serverURL":"http://localhost:1337/parse","masterKey":"SOME_SECRET_MASTER1_USER1","appName":"parse1-user1"},{"appId":"parse2-user1","serverURL":"http://localhost:1338/parse","masterKey":"SOME_SECRET_MASTER2_USER1","appName":"parse2-user1"},{"appId":"parse1-user2","serverURL":"http://localhost:1339/parse","masterKey":"SOME_SECRET_MASTER1_USER2","appName":"parse1-user2"},{"appId":"parse2-user2","serverURL":"http://localhost:1340/parse","masterKey":"SOME_SECRET_MASTER2_USER2","appName":"parse2-user2"}],"users":[{"user":"user1","pass":"secret-pass1","apps":[{"appId":"parse1-user1"},{"appId":"parse2-user1"}]},{"user":"user2","pass":"secret-pass2","apps":[{"appId":"parse1-user2"},{"appId":"parse2-user2"}]}]}
- PARSE_DASHBOARD_ALLOW_INSECURE_HTTP=1
ports:
- 4040:4040
然后运行:
docker-compose up -d
推荐阅读
- reactjs - 在反应中,如何在使用 onClick 将元素设置为活动后取消选择元素?
- border - 将边界线缩短到文本的长度
- node.js - 无法访问生产服务器中的图像 - Expressjs (MERN)
- vue.js - 以编程方式计算子组件
- hyperledger-fabric - 所有组织都提交了链码,但并非所有组织都启动了链码 docker 容器
- asp.net - 找不到 ABCpdf 许可证
- python - Keras 模型索引错误
- java - 如何生成反应应用程序的war文件以与spring boot一起打包?
- flutter - 颤振问题:类型'Null'不是'DateTime'的子类型
- python - 为什么 pandas concat 在其类型和形状正确时给了我不真实的数据框