2016-07-05 5 views
0

私はこの問題を数日間苦労しています。mongoシェルで認証することができます。Dokku、RoR、Mongo DB:無許可のdbコマンド実行コマンド

しかし、ブラウザからアプリケーションにアクセスすると、上記のエラーが発生します。レールログの

ルビー:

2016-07-05T04:29:34.415943099Zアプリ[web.1]:MongoDBの| xx.xx.xx.xx:4121 | [db] .count |スタート{"count" => "listing"、 "query" => {}}

2016-07-05T04:29:34.418337913Z app [web.1]:MONGODB | xx.xx.xx.xx:4121 | [db] .count | FAILED |コマンドを実行するために[db]で許可されていない{ count: "listings"、query:{}}(13)| 0.0021065790000000004s

背景 ワンクリックでDokkuを展開するデジタルオーシャンでのホスティング。

Dokkuバージョン:0.6.4 のMongoDB:3.2.6 ルビー:2.2.4 のRails 4.2.6

私はmongoid.ymlするMongoDBのと同じに(のdbownerで)ユーザーを追加しました。

はここmongoid.yml

production: 
    clients: 
    default: 
     database: sample 
     hosts: 
     - ip:4121 
     user: "user" 
     password: "password" 
     options: 
     read: 
      mode: :primary 
     max_pool_size: 5 

答えて

0

私はこれのための解決策を見つけた、私はこれについてのループを閉じて、これを理解しようとするのに数時間/日の人を救うだろうと思った。

基本的にワンクリックでデジタルオーシャンの作品になります!

しかし、mongoid.ymlに次のものが必要です。そのURIを追加し、データベース、ユーザー、パスワードを削除してください。

あなたのsshターミナルコンソールで次の操作を行い、URIを生成するには:

dokku mongo:info <<db name>> 

アップデート画面に表示されたものとURI値。

production: 
    clients: 
    default: 
     uri: <<URI>> 
     options: 
     read: 
      mode: :primary 
     max_pool_size: 1 
0

これはあなたの問題を解決するかどうか、私は知りませんが、アドバイスの一般的な部分は、dokkuのワンクリックの展開のために行っていないされています。ドロップレットをスピンアップして手動でドックをインストールすると、あまりにも多くの労力を要しません。

ワンクリックで展開すると、不要な設定エラーが発生します。あなたがRnDをやりたいと思っていて、それを使って遊んでいたら、そのアプローチに行くことを提案します。ワンクリック画像dokku

0

は何の問題

あなたがdokkuのMongoDBのプラグインをインストールしているが存在しない、通常はすべての時間を動作しますか? https://github.com/jeffutter/dokku-mongodb-plugin

すでにプラグインをinstaled場合、あなたはYMLファイルをアップロードしていない、あなたは、自分のサーバー

mongodb:create <app> 
mongodb:link <app> <database> 

またはあなたが同じに作成してリンクすることができ、リンクコマンドを実行する必要がありますコマンド

mongodb:create <app> <database>  
+0

プラグインとリンケージはすでに完了しています。 – lancegoh

+0

ええと.ymlファイルは必要ありませんか? – lancegoh