Cogini Blog

Jake Morrison

Choosing a Linux distribution

Short answer: Use Ubuntu LTS Long answer There are two main families, RedHat and Debian. RedHat traditionally comes from the corporate world, and Debian from the free software community. I have been using Linux since 1993, so I will give a bit of a history lesson to explain the motivation … Read more…

Jake Morrison

Deploying an Elixir app to Digital Ocean with mix_deploy

A gentle introduction to getting your Elixir / Phoenix app up and running on a server at Digital Ocean. Read more…

Jake Morrison

Deploying complex apps to AWS with Terraform, Ansible, and Packer

Recently we helped a client migrate a set of complex Ruby on Rails applications to AWS, deploying across multiple environments and regions. They have a half-dozen SaaS products which they have built over the last decade. They had been running them on a set of shared physical servers, with lots … Read more…

Jake Morrison

A new approach to deploying Elixir apps: mix_deploy

A new approach to deploying Elixir apps: mix_deploy Read more…

Jake Morrison

Best practices for deploying Elixir apps

Best practices for deploying Elixir and Phoenix apps, with a working example Read more…

Jake Morrison

Running Ecto migrations in a release

In a dev or test environment, we execute the mix ecto.migrate command to run database migrations. When running from a release, the mix command is not available, so we execute Ecto.Migrator.run/4 from code via the release's eval command. Read more…

Jake Morrison

Deploying Elixir apps with Ansible

Deploying Elixir apps with Ansible, an easy-to-use standard tool for managing servers. Read more…

Jake Morrison

Managing user accounts with Ansible

As part of developing and deploying web applications, we need to be able to manage OS user accounts and control access for developers and systems admins. To do this, we wrote an Ansible role to manage users. Read more…

Jake Morrison

Multiple databases with Digital Ocean Managed Databases Service

Setting up multiple databases and users with restricted permissions on Digital Ocean's Managed Databases service. Read more…

Jake Morrison

Running Ecto migrations in production releases with Distillery custom commands

In a dev or test environment, we execute the mix ecto.migrate command to run database migrations. When running from a release, the mix command is not available, so we execute Ecto.Migrator.run/4 from code via a Distillery custom command command. Read more…

Categories

Development DevOps Products

Tags