All Projects → lnikkila → Ansible Phoenix

lnikkila / Ansible Phoenix

[Unmaintained] Develop and deploy a Phoenix app using Ansible!

Programming Languages

ruby
36898 projects - #4 most used programming language
elixir
2628 projects

Projects that are alternatives of or similar to Ansible Phoenix

Molecule Ansible Docker Aws
Example project showing how to test Ansible roles with Molecule using Testinfra and a multiscenario approach with Docker, Vagrant & AWS EC2 as infrastructure providers
Stars: ✭ 72 (+94.59%)
Mutual labels:  ansible, ansible-role, vagrant
Postgresql
Fairly full featured Ansible role for Postgresql.
Stars: ✭ 684 (+1748.65%)
Mutual labels:  ansible, ansible-role
Ansible Role Nginx
Ansible role to install and manage nginx configuration
Stars: ✭ 648 (+1651.35%)
Mutual labels:  ansible, ansible-role
Ansible Role Sonarqube
Ansible Role: SonarQube
Stars: ✭ 22 (-40.54%)
Mutual labels:  ansible, ansible-role
Ansible For Devops
Ansible for DevOps examples.
Stars: ✭ 5,265 (+14129.73%)
Mutual labels:  ansible, vagrant
Packer Boxes
Jeff Geerling's Packer build configurations for Vagrant boxes.
Stars: ✭ 495 (+1237.84%)
Mutual labels:  ansible, vagrant
Openvpn
Stars: ✭ 5 (-86.49%)
Mutual labels:  ansible, ansible-role
Kube Ansible
Build a Kubernetes cluster via Ansible playbook. 🔧 🔧 🔧
Stars: ✭ 354 (+856.76%)
Mutual labels:  ansible, vagrant
Ansible Role Conjur
Grants Conjur machine identity to hosts
Stars: ✭ 12 (-67.57%)
Mutual labels:  ansible, ansible-role
Ansible Style Guide
A style guide for Ansible use in EGI
Stars: ✭ 14 (-62.16%)
Mutual labels:  ansible, ansible-role
Ansible Jupyterhub
Ansible role to setup jupyterhub server (deprecated)
Stars: ✭ 14 (-62.16%)
Mutual labels:  ansible, ansible-role
Ansible Letsencrypt
An ansible role to generate TLS certificates and get them signed by Let's Encrypt
Stars: ✭ 433 (+1070.27%)
Mutual labels:  ansible, ansible-role
Tads Boilerplate
Terraform + Ansible + Docker Swarm boilerplate = DevOps on 🔥🔥🔥 | Infrastructure as Code
Stars: ✭ 424 (+1045.95%)
Mutual labels:  ansible, vagrant
Phansible
Phansible - generate Vagrant + Ansible dev environments for PHP
Stars: ✭ 633 (+1610.81%)
Mutual labels:  ansible, vagrant
Ansible Role Nginx
Ansible role for NGINX
Stars: ✭ 404 (+991.89%)
Mutual labels:  ansible, ansible-role
Ansible Skeleton
The skeleton to create new ansible roles.
Stars: ✭ 5 (-86.49%)
Mutual labels:  ansible, ansible-role
Ansible Restic
Deploy restic backup program
Stars: ✭ 29 (-21.62%)
Mutual labels:  ansible, ansible-role
ansible-role-cardano-node
Ansible role for the provisioning of Shelly Cardano binaries from source.
Stars: ✭ 20 (-45.95%)
Mutual labels:  vagrant, ansible-role
Ansible Consul
📡 Ansible role for Hashicorp Consul clusters
Stars: ✭ 320 (+764.86%)
Mutual labels:  ansible, ansible-role
Ansible Transmission
🕹 A TransmissionBT installation role for Ansible
Stars: ✭ 8 (-78.38%)
Mutual labels:  ansible, ansible-role

Phoenix role for Ansible Build status

This role aims to be as lightweight as possible, providing you with Phoenix-specific tasks only.

It’s simple enough to be used in either development or production with the proper configuration. Try it with Vagrant!

For better flexibility, you’re expected to handle these prerequisites yourself:

  • Elixir
  • Node.js (if using Brunch)
  • PostgreSQL
  • Fetching the code for your application

See the example playbook for a recommended way to handle these.

In case you’re looking for a role that does more for you, check out jacoelho.phoenix-app.

Installation

The role is available through Ansible Galaxy.

Add to your requirements.yml:

- src: lnikkila.phoenix

Usage

Include the role in your playbook:

- role: lnikkila.phoenix

There’s no need to run the entire role as root. The tasks that require it are configured separately to use become.

The role exposes a few variables for configuration. The defaults should be mostly sensible:

# Whether to run a Brunch build and Ecto migrations.
# NOTE: Using Brunch requires Node.js.
phoenix_use_brunch: true
phoenix_use_ecto:   true

# Mix environment (propagates to Phoenix.)
phoenix_env: prod

# Server port.
phoenix_port: 4000

# Extra environment variables you want passed to Phoenix. Feel free to add your
# secret keys and such.
phoenix_env_vars: {}

# Path to the app.
phoenix_path: /var/www

# User for running the server.
phoenix_user:  phoenix
phoenix_group: phoenix

# Whether to create a system user. System users have the system flag set to true
# and have a home directory at {{ phoenix_path }}.
#
# Set this to false if you want to use an existing user. The system flag cannot
# be changed after a user has been created.
#
# Disable this also if you're running Vagrant and have Phoenix at /vagrant.
# The shared directory cannot host executables. That will cause problems with
# Mix as it installs dependencies there.
phoenix_system_user: true

# Command for running the server.
phoenix_bin: mix phoenix.server

Licence

Copyright (c) 2015, Leo Nikkilä

Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].