Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8827853
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T07:28:19+00:00 2026-06-14T07:28:19+00:00

I would like to build and deploy an application which has Django as frontend,

  • 0

I would like to build and deploy an application which has Django as frontend, YAWS (appmods) or Mochiweb/Webmachine as a backend and CouchDB as a datastore. Furthermore, I plan to extensively use CouchDB’s ability to replicate in order to provide high fault tolerance for the whole application.

I tend to think that in order to achieve this, I must create a single OTP release which has YAWS and CouchDB as Erlang/OTP applications.

Does this approach seem to be correct? How can I organize YAWS and CouchDB in terms of OTP applications in order to create a solid production setup? Are there any best practices for doing that?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T07:28:20+00:00Added an answer on June 14, 2026 at 7:28 am

    Erlang releases are a good way to package software, because they include all of the dependent libraries. This way, different erlang applications can run different versions of their required libraries without conflicting with each other.

    A popular way of dealing with the complicated release process Erlang has is to let Rebar do it for you. They have a quick start guide to get you on the right path. I don’t know if you’re currently using Rebar to manage your project, but it makes things a lot easier. It is definitely worth looking into if you aren’t using it yet.

    However, rebar won’t include your dependencies right out of the box. In order to do that, you should modify the reltool.config file and all your required applications.

    First step is to add the directory where all your dependencies are located, e.g.:

    {sys, [
        ...
        {lib_dirs, ["../deps"]},
        ...
    }.
    

    Then, add your dependencies as applications to include in the release:

    {sys, [
        ...
        {app, jiffy, [{incl_cond, include}]},
        {app, cowboy, [{incl_cond, include}]},
        ...
    }.
    

    Now, when you run the rebar generate command, your applications should be in the target directory under lib:

    find brawl_server -type d -maxdepth 2
    
    brawl_server
    brawl_server/bin
    brawl_server/erts-5.9.1
    brawl_server/erts-5.9.1/bin
    brawl_server/lib
    brawl_server/lib/brawl_server-1.1
    brawl_server/lib/cowboy-0.6.0
    brawl_server/lib/jiffy-0.6.1
    brawl_server/lib/kernel-2.15.1
    brawl_server/lib/sasl-2.2.1
    brawl_server/lib/stdlib-1.18.1
    brawl_server/log
    brawl_server/log/sasl
    brawl_server/releases
    brawl_server/releases/1
    

    You also need to make sure your own OTP application knows it needs to start the applications it depends on. If you have a generated Rebar project, modify your <appname>.app.src file to include them:

    {application, app, [
        ...
        {applications, [
                  jiffy,
                  cowboy,
                  kernel,
                  stdlib
                 ]},
        ...
    }.
    

    You should be able to compile and generate the release and run it with the included scripts, as laid out in the Rebar release handling article.

    At this point, though, there’s an added wrinkle, because apparently vanilla CouchDB isn’t OTP compliant, and you can’t include it this way. There is another distribution you may be able to use, instead: rcouch. I haven’t tried it myself, hopefully it will work for you.

    Further reading:

    • Learn you some erlang for great good: Releases
    • I used my own project, brawl-online, as an example
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I would like to build a cypher with python which decoding text by repeatedly
I would like to build a web application that heavily relies on the Yodlee
I would like to build some code which calls some code on loadup of
I would like to deploy a very simple DLL with my C# application, but
I would like to deploy snapshot builds from Bamboo to Artifactory. My repository's Handle
I would like to build a php script that automatically generates a new id
I would like to build up a new IDocument object step by step using
I would like to build modules via an aggregator, but avoid the aggregator project
I would like to build two different versions of my app using different android:minSdkVersion.
I would like to build a query that will pull the number of rows

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.