Skip to content

The backend for my Vue.js project. Written in Elixir with phoenix framework.

Notifications You must be signed in to change notification settings

JoeyMBrown/Habitica-clone-API

Repository files navigation

Habitica-clone-API

The backend for my Vue.js project. Written in Elixir with phoenix framework.

Deploying to Production

Configuration

Version - Before creating a new release, make sure to update the version number in mix.exs

Creating and Publishing a Release

There are a few steps to creating and publishing a release, follow:

  • Generate a new release, $mix edeliver build release production

    • This builds new release and stores it in .edeliver/releases
    • Make sure to change version number in mix.exs
  • Next, to push the new release, $mix edeliver deploy release to production

    • This uploads the release and extracts it, also starts the production server.
  • Check that the server is running the correct version, $mix edeliver version production

    • This is why updating the version number is crucial, without it testing version will be a tad more difficult.
  • Restart the production server, $mix edeliver restart production

  • Run migrations! $mix edeliver migrate production

Applying Migrations and other Useful Commands

If new migrations are added in a release, remember to do: $mix edeliver migrate production

Hosting

Public endpoints:

The Habitica Clone API is hosted on a Digital Ocean droplet with the following specs:

  • Image: Ubuntu 18.04 x64
  • Size: 2 vCPUs, 4GB / 60GB Disk

While serving our Phoenix application from behind an Nginx reverse proxy.

I used the following resources to achieve this setup.

About

The backend for my Vue.js project. Written in Elixir with phoenix framework.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published