Host couchdb on heroku

2019-09-06 06:28发布

问题:

I would like to host couchdb in a free heroku instance. I found here on stackoverflow an answer and it says, it is possible to host erlang code on heroku.

Now I had the idea, to host couchdb on heroku. But it doesn't work. Here is my try:

.>git clone https://github.com/apache/couchdb
.git
Cloning into 'couchdb'...
remote: Counting objects: 55066, done.
remote: Compressing objects: 100% (1582/1582), done.
remote: Total 55066 (delta 2125), reused 3094 (delta 1808)
Receiving objects: 100% (55066/55066), 26.56 MiB | 1.34 MiB/s, done.
Resolving deltas: 100% (36610/36610), done.
Checking out files: 100% (338/338), done.

.>cd couchdb

.\couchdb>explorer .

.\couchdb>git add .

.\couchdb>git commit -m "added proc file"
[master 9c6da00] added proc file
 1 file changed, 1 insertion(+)
 create mode 100644 Procfile

.\couchdb>heroku create couchdb-cl --region e
u --buildpack https://github.com/archaelus/heroku-buildpack-erlang
Creating couchdb-cl... done, region is eu
BUILDPACK_URL=https://github.com/archaelus/heroku-buildpack-erlang
https://couchdb-cl.herokuapp.com/ | git@heroku.com:couchdb-cl.git
Git remote heroku added

.\couchdb>git push heroku master
Enter passphrase for key '/c/Users/Imanuel/.ssh/id_rsa':
Initializing repository, done.
Counting objects: 40416, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12588/12588), done.
Writing objects: 100% (40416/40416), 17.50 MiB | 562 KiB/s, done.
Total 40416 (delta 27271), reused 40371 (delta 27237)

-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

To git@heroku.com:couchdb-cl.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:couchdb-cl.git'

But it fails to push.

Here is the Procfile:

web: erl -pa ebin deps/*/ebin -noshell -boot start_sasl -s reloader -s couchdb

Anyone an idea or maybe another option to host a couchdb instance for free? :)

回答1:

Heroku built their polyglot platform, which currently supports Ruby or Rails, Node.js, Java, Spring or Play, Python or Django, Clojure and Scala (source).

All other languages including Erlang are built using build packs. You can find Erlang build pack on github. Run the instructions from README and you should be good to go.