LoginSignup
1
0

オープンソースのバーチャルオフィスをGCPで構築してみた

Last updated at Posted at 2023-08-09

オープンソースのバーチャルオフィスをGCPで構築してみた

1. はじめに

この記事では、オープンソースのバーチャルオフィスアプリ「SkyOffice」( https://github.com/kevinshen56714/SkyOffice )を使用して、Google Cloud Platform(GCP)上でバーチャルオフィスを構築するプロセスについて紹介します。
SkyOfficeは、多機能なバーチャルオフィスツールとは異なりますが、交流のための必要最低限の機能を提供しています。
筆者自身も、バーチャルオフィスについては以前にGatherを一度だけ弊社内メンバーと体験した経験があります。

2. きっかけ

弊社内でGatherを使用したバーチャルオフィス体験を通じて、多機能でなくても、クラウド環境で利用可能なオープンソースのバーチャルオフィスアプリを探していました。

3. 苦労したこと

バーチャルオフィスの実装にあたり、いくつかの課題がありました。

  • クラウドサービスの選定: サーバレス環境でのバックエンド実装を検討しましたが、実現が難しいと判断しました。
  • クライアントとバックエンドの分離: クライアント側とバックエンド側を分離する実装方法が不明で、1週間以上にわたって悩むこととなりました。
    特に公式ドキュメントに記載されたGetting Startedとの違いに苦労しました。

4. 実現までに実施したこと

  • ローカル実装: 初めに、Dockerを使用してローカル環境で実装を試みました。以下は使用したdocker-compose.ymlです。
docker-compose.yml
version: "3.7"
services:
  server:
    image: node:18
    container_name: skyoffice-server
    hostname: web-server
    working_dir: /usr/src/app/SkyOffice
    tty: true
    ports:
      - "127.0.0.1:2567:2567"
    volumes:
      - ./SkyOffice:/usr/src/app/SkyOffice
    command:
      bash -c "yarn && yarn start"
  client:
    image: node:18
    container_name: skyoffice-client
    hostname: client-server
    working_dir: /usr/src/app/SkyOffice/client
    tty: true
    ports:
      - "127.0.0.1:80:5173"
    volumes:
      - ./SkyOffice:/usr/src/app/SkyOffice
    command:
      bash -c "yarn && yarn dev --host"
  • GCP上での実装: バックエンドはサーバレス環境で実装したかったです。
    以下のクラウドサービスを実現したい順に候補として検討しました。
    • Cloud Functions for Firebase
    • Cloud Functions
    • Google App Engine
    • Google Compute Engine

フロントエンドはFirebase Hostingを使用するため、Cloud Functions for Firebaseの活用を考えました。

しかし、Cloud Functions for FirebaseやCloud FunctionsはEntryPointの設定方法がわからないなどの理由から断念。
Google App Engineについては、なぜ断念したかすら記憶にないほど。。。

この辺で私の以下の課題を見つける事となりました。
・サーバサイドのnode.jsを構築するにあたって知識の浅さ
・サーバレス環境側としてGCPの理解不足

5. 結果

バックエンドはGoogle Compute Engineを使用し、フロントエンドはFirebase Hostingで実現しました。

6. 今後の展望

バーチャルオフィスの構築は成功しましたが、GCPの知識不足が浮き彫りになったので学習をまじめに進めていきます。
また、現状立てた環境はほぼ自分だけでの検証なので複数人での利用でどうなるか?を検証していきたいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0