Anything as easy as 'Amber Deploy' for Phoenix?

Hi everyone!

Today I watched a video on youtube, which used Amber Deploy to deploy an Amber (Crystal) app to DigitalOcean.
Following is the video.

Is there something as easy as that for Phoenix?

Thank You!

1 Like

I deploy to Heroku, and it’s a lot easier than what the video shows. I just merge my code to my master branch on Github, and it automatically deploys. If I wanted, I could make it manual, deploying with the one-liner:

git push heroku master

I even configure my tests to run automatically when I push to GitHub - and Heroku will wait for them to pass before pulling the commit and re-deploying it.

3 Likes

Didn’t watch the video but agree with the above… Heroku’s a pretty darn easy deployment. There are other reasons not to use it (daily reboots, lack of private networking between dynos) but deployment isn’t one of them.

2 Likes

Nanobox is a pretty easy deploy, and runs on your own boxes like DO/Linode.

nanobox deploy dry-run

Dry-run will let you test your deploy as it would be on production (container / settings wise)

nanobox deploy

Will perform the deploy.

Free to deploy and cheap ($25/m) once you need to scale. Link to pricing.

5 Likes

I had a lot of trouble getting nanobox to work even in a dry-run scenario earlier in the fall. I know there were some issues around the docker images they pulled from that were causing them a lot of headaches. Are those pretty much resolved at this point? I remember seeing some announcement around the need to support custom images that gave me the impression there were still some finicky parts.

I’ve been deploying since ~October with no issues, and yes they did have issues in fall but they seem to be resolved as far as I can see (YMMV).

1 Like

Another option is to go the Docker + Digital Ocean route, which is what’s happening in the video. I’ve got a development-oriented Docker configuration that can be adapted for production. Then you could deploy on Digital Ocean or any number of other places.

There is also Gigalixir. :slight_smile:

2 Likes

It might be more expensive being a PaaS, like heroku. I asked the question, because I was looking for some solution based on DO or Linode etc.

Founder of gigalixir here in case anyone has any questions. I’m also happy to give out free credits if the free tier isn’t sufficient for evaluation.

11 Likes

I think there is ongoing work on a tool that DockYard is funding

5 Likes

Here is the post about that tool. I wish it completes soon!

1 Like

There is also a new Google app engine deploy package, supposed to be badass.

2 Likes

GAE blocks websockets, and I couldn’t get the channels LongPoll transport working either. So not ready for Phoenix apps just yet.

4 Likes

Unfortunately Gigalixir is intentionally crippled/prevented from being run on Windows, despite having been written in Python.

Uh what? Gigalixir runs on Google’s Cloud Infrastructure… o.O

1 Like

It crashes on login specifically due to platform detection error:

  File "d:\lib\python\python36-32\lib\site-packages\gigalixir\__init__.py", line 78, in cli
    raise Exception("Unknown platform: %s" % PLATFORM)
Exception: Unknown platform: b'mingw64_nt-10.0'

The frustrating part is that I have a fully working dev setup (for VS C++, Python, JS and Elixir) as well as git bash on my machine. It’s truly sad given how well the Python ecosystem is supported on Windows.

Many other tools I have can work with things on Google’s Cloud Infrastructure… this isn’t really their issue. It’s Gigalixir.

Oh you are talking about on the client side! Yeah no clue there, submit a PR? :slight_smile:

1 Like

I just installed Nanobox and deployed to Digital Ocean instead :grinning:

1 Like

I hear digital ocean is pretty good, you should document your overall results and how it works! :slight_smile:

Also, do websockets work? That seems to be the big thing of many providers is no support for websockets, so I’m curious if digital ocean does?

Also, what is nanobox? ^.^;