Realm Object Serverのインストール

RealmのパッケージリポジトリはPackageCloudというサービスで管理されています。

下記のコマンドを実行してパッケージリポジトリをセットアップします。その後Realm Object Serverをインストール、起動します。

# RealmのPackageCloudリポジトリをセットアップ
curl -s https://packagecloud.io/install/repositories/realm/realm/script.rpm.sh | sudo bash

# Realm Object Serverをインストール
sudo yum -y install realm-object-server-developer

# サービスとして登録、起動
sudo chkconfig realm-object-server on
sudo service realm-object-server start
# RealmのPackageCloudリポジトリをセットアップ
curl -s https://packagecloud.io/install/repositories/realm/realm/script.rpm.sh | sudo bash

# Realm Object Serverをインストール
sudo yum -y install realm-object-server-developer

# サービスとして登録、起動
sudo systemctl enable realm-object-server
sudo systemctl start realm-object-server
# RealmのPackageCloudリポジトリをセットアップ
curl -s https://packagecloud.io/install/repositories/realm/realm/script.deb.sh | sudo bash

# リポジトリをアップデート
sudo apt-get update

# Realm Object Serverをインストール
sudo apt-get install realm-object-server-developer

# サービスとして登録、起動
sudo systemctl enable realm-object-server
sudo systemctl start realm-object-server

RealmではUbuntu 16.04環境のAmazon EC2のパブリックAMIを公開しています。仮想化方式(HVMとParavirtual)の違いについてはこちらのマニュアルをご覧ください。

  Paravirtual HVM
ap-northeast-1 (Tokyo) |  
eu-west-1 (Ireland) |  
us-east-1 (N. Virginia) |  

任意のAmazon EC2 AMIを使って上記のAMIを起動できます。Realmが必要とする22/TCP(SSH)と9080/TCP(ダッシュボード、クライアントアクセス)のポートが開放されている必要があります。初期設定のSSHユーザーはubuntuです。

ダッシュボードのセットアップ

ローカルのLinuxマシン、またはネットワーク上のサーバーのWebブラウザにアクセスできなければなりません。リモートサーバーを使用している場合は、Realm Object ServerをインストールしたサーバーのIPアドレスまたはホスト名が必要です。必要に応じて、下記に示すURLのlocalhostの部分を適切なIPアドレスまたはホスト名に置き換えてください。

新しくブラウザを開き、<http:// localhost:9080>を表示します。ダッシュボードのログイン画面が表示されます。Linuxサーバがローカルマシンでない場合は、localhostを自分のサーバのIPアドレスに置き換えてください。

メールアドレスとパスワードを入力して管理者ユーザーを作成します。登録が完了すると、それ以降はここで入力した情報を使ってログインできます。

ダッシュボードには、同時接続数、使用されているRealmの数、ネットワークトラフィックの量など、Realm Object Serverのシステムステータスが表示されます。

トラブルシューティング

ダッシュボードにアクセスできないときは、ファイアウォールの設定を見直してください

設定によってはRealm Object Serverの同期とダッシュボードへの外部からの(localhostではない)アクセスに問題が起こる場合があります。ダッシュボードにアクセスするために、9080番のポートを開けて置く必要があります。

Linuxに搭載されている標準のコマンドでは下記のようにすることでポートを開放します。

sudo iptables -A INPUT -p tcp -m tcp --dport 9080 -j ACCEPT
sudo service iptables save

ファイアウォールの設定についてさらに詳しく知るためにはCentOS 6のドキュメントをご覧ください。

sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --add-port=9080/tcp --permanent
sudo firewall-cmd --reload
sudo ufw allow 9080/tcp
sudo ufw reload

お使いの環境で標準のファイアウォールが使用されていない場合は、上記と同等な設定をお使いの環境に合わせて行ってください。

RealmTasksをビルドする

The macOS version of RealmTasks

RealmTasksはシンプルなTO-DO管理アプリです。デザインやUIはRealmac SoftwareのClearから拝借しました。iOS、macOS、Androidで動作します。ソースコードはSwift、Java、JavaScript(React Native)C#(Xamarin)の各言語で同等のアプリが実装されています。

ソースコードはすべてGitHubにて公開されています。iOSまたはAndroid版をビルドする場合は下記のチュートリアルをご覧ください。

React Native版とXamarin版のチュートリアルは準備中です。まもなく公開されます。それまでの間はソースコードを直接読んで試してみてください。

Mac上で使ってみる場合はmacOS用にビルドされたRealm Object ServerとRealmTasksがこちらからダウンロードできます。

次のステップ

これまでにRealm Mobile Databaseを使ったことがなければ、まず普段使っている開発環境のMobile Databaseのドキュメントをご覧ください。リアルタイムに自動更新されるオブジェクトがいかに強力か、ORMと比べてより柔軟であることなど、Realmの機能や独自性について学べます。もしくは、こちらの「RealmTasksをイチから作ってみる」というチュートリアルを実際にやってみましょう。

Realm Mobile Platformをすでによく知っている(もしくはRealm Object Serverのインストールガイドからこちらに来た)方は、次はRealm Object Serverのドキュメントをご覧ください。