问题标签 [dokku]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3628 浏览

node.js - 在数字海洋上使用 mongodb 和 dokku 部署 node.js 应用程序

我正在尝试使用 dokku 在数字海洋上部署带有 mongodb 的 Node.js 应用程序。不幸的是,我在节点应用程序连接到 mongodb 时遇到了一些问题。

到目前为止我做了什么。0. 我在 git repo 中有一个 node.js 应用程序 1. 在数字海洋中创建了 dokku 实例(在 ubuntu 14.04 上运行) 2. 我创建了一个 dokku-mongodb-plugin(参见https://github.com/jeffutter/dokku -mongodb-plugin):按照那里的 git clone 等安装说明进行操作。3.将我的应用推送到数字海洋服务器(git push -u production master) 4.尝试创建一个mongodb进程:(在服务器上):dokku mongodb:create testapp(testapp是我的应用的名称) 5.运行我的应用程序:dokku 运行 testapp 节点 app.js

这会导致连接错误(在底部)

我已经测试过:dokku mongodb:list

它没有返回任何东西,这让我觉得插件可能有问题?

否则,我怀疑这可能是由于 mongodb 在与标准 localhost 不同的 ip / 进程下运行。

无论如何,我不确定问题是什么。任何帮助,将不胜感激。

干杯,迈克

vents.js:72 投掷器;// 未处理的“错误”事件 ^ 错误:在 null 处无法连接到 [localhost:27017]。(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:546:74) 在空时发出 (events.js:106:17)。(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:150:15) 在 Socket 的发射 (events.js:98:17)。(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:533:10) 在 Socket.emit (events.js:95:17) 在 net.js:440:14 在进程。 _tickCallback (node.js:419:13)

0 投票
0 回答
538 浏览

database - 如何自动化数据库部署?

我正在使用 Dokku 为 DigitalOcean 上的 Flask webapp 进行简单的基于 git 的部署。随着我们的开发,postgres 数据库模式正在更新,因为我们的产品严重依赖于预处理的后端分析,但没有用户启动的 INSERT。我正在寻找一种更自动化的方式来更新数据库,而不是手动进行本地转储,将其 scp 到服务器,然后重新加载所有内容。

有什么想到的吗?

0 投票
2 回答
1083 浏览

go - Deploying Revel (Golang) Using Dokku

Has anyone tried deploying a Revel app using Dokku?

I tried "https://www.digitalocean.com/community/tutorials/how-to-use-the-dokku-one-click-digitalocean-image-to-run-a-go-app" and it deployed successfully.

However, when I try a new Revel app, it gives me this error

This is the .godir that I created:

This is the Procfile:

What am I doing wrong?

Thanks

0 投票
1 回答
124 浏览

ruby-on-rails - Dokku 部署后网站无法启动

我在 Digital Ocean 上创建了一个 Dokku droplet,并按照本教程部署了我的 Rails 应用程序。一切似乎都很好。没有错误或任何错误。最后 Dokku 返回我的应用程序的 URL:

当然 IP 地址是不同的 :-) 但是当我访问这个 URL 时它没有显示任何东西,那个站点似乎不存在。知道这怎么可能发生吗?我没有域名,我想使用IP地址,因为它只是一个小小的个人应用程序。

0 投票
1 回答
4416 浏览

python - 使用 dokku 部署 Django 应用程序时收集静态配置错误

使用 dokku 部署 Django 应用程序时出现以下错误

我发现没有办法heroku run python ./manage.py collectstatic --noinput为 dokku 容器运行,但是当我尝试时dokku run my app python ./manage.py collectstatic --noinput,静态文件已成功复制到STATIC_ROOT文件夹中并且没有给出错误消息。

我可以通过将collectstatic命令放入Procfile

不过,我很想知道导致问题的原因以及如何对其进行调试。有任何想法吗?

0 投票
1 回答
521 浏览

ruby-on-rails - 如何在使用 dokku 部署的 Rails 应用程序上启动 faye 服务器?

我已经使用 Dokku 在 Digitalocean 上托管了我的 rails 应用程序。我的应用程序需要通过 Faye 运行实时应用程序。我一直在尝试几种方法,例如 Dokku 的shoreman 插件并添加faye: bundle exec rackup faye.ru -s thin -E production到“Procfile”文件中。但到目前为止还没有运气,需要帮助我如何让这个 Faye 服务器为我的应用程序运行。

0 投票
2 回答
2043 浏览

nginx - Dokku:从应用程序监听多个端口

我正在用 dokku 部署一个节点应用程序(使用 express js)。我的应用程序由 2 个 express js 应用程序组成,它们侦听两个不同的端口。一个是主应用程序,另一个是kue的 Web 接口- 一个简单的 node js 作业队列。当我部署应用程序时,我需要运行这两个应用程序并在端口 80 上访问主应用程序,并在其他端口(最好是 express 应用程序侦听的端口)上访问 kue 应用程序。

我已将这两个应用程序都放在 Procfile 上,例如:

procfile 上的多个进程由 dokku-supervisord 插件处理:https ://github.com/statianzo/dokku-supervisord (它支持所有进程类型:web、worker 等)。

我已经为第二个应用程序的进程类型尝试了“web”和“worker”。

问题

在部署时,Dokku 只是使 procfile 中指定的最后一个应用程序(在本例中为 kueUi)可通过端口 80 访问,并且似乎无法访问第一个指定的应用程序。我尝试通过第一个应用程序侦听的端口访问,但这不起作用。

我想它需要一些 nginx 配置才能将某个端口上的请求转发到应用程序侦听的 docker 容器中的那个端口。

我需要它如何

找不到有关如何实现此目的的任何文档。任何帮助深表感谢!

0 投票
1 回答
3024 浏览

ruby-on-rails - Rails console not working with Dokku on Digital Ocean

I've pushed my Rails app to a Digital Ocean Dokku droplet, everything works except for Rails console. When I run dokku run myapp rails c this error appears:

The app was installed on a clean droplet. Dokku has only one plugin installed (Postgres).

0 投票
1 回答
5183 浏览

ruby-on-rails - 在特定端口上运行 Docker 容器

我在 DigitalOcean 上使用 Dokku 部署了一个 Rails 应用程序。我创建了一个 Postgres 数据库并将其与 Rails 应用程序链接。在我重新启动 droplet 之前,一切正常。我发现应用程序停止工作是因为重新启动每个 Docker 容器都会获得一个新端口,而 Rails 应用程序无法连接到它。如果我运行dokku postgresql:info myapp它会显示旧端口,但它已经改变了。如果我手动更改 database.yml 并将其推送到 dokku 存储库,一切正常。

那么如何防止Docker在每次服务器重启时分配不同的端口呢?或者也许有一个选项可以更改正在运行的容器的端口。

0 投票
1 回答
3901 浏览

nginx - 如何在 Dokku 中为每个应用程序设置 nginx 配置设置?

我需要增加在client_max_body_sizeDokku Paas 上安装的单个应用程序的设置。我可以全局编辑 nginx 配置,但这会很脆弱,我希望这个设置尽可能地与应用程序配置一起使用。

我见过一些有助于重写 nginx.conf 文件的插件(例如https://github.com/mikexstudios/dokku-nginx-alt),但是当我只想更改一个设置时,这似乎有点过头了。

我也注意到了nginx-configure插件钩子(https://github.com/progrium/dokku/pull/189),但我找不到关于如何从应用程序中使用它的明确说明(我将钩子脚本放在哪里,因为例子?)。

在每个应用程序的基础上设置单个 nginx 配置参数的最干净、最可维护和最便携的方法是什么?