首页 > 解决方案 > 使用多个用户帐户在 Openstack 上解析服务器(替代 back4app、Heroku)

问题描述

我是一名学生,在大学里我们正在尝试为我们的应用程序设置我们自己的后端服务,因为像 Firebase 这样的后端会花费我们更多。

我们决定在我们的大学实验室中使用 Openstack 来组合和管理多台计算机的计算资源,但现在我们想创建一个门户网站,让我们的学生可以登录并使用解析服务器仪表板。

如何为每个用户设置多个解析实例以及使用哪些容器以及如何使用?

标签: parse-platformopenstack

解决方案


您可以尝试使用 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

推荐阅读