Commit 713a0303 authored by jaywink's avatar jaywink

Use geerlingguy.nodejs role to install Node

parent d5b7af7a
[![Stories in Ready](https://badge.waffle.io/jaywink/ansible-socialhome.png?label=ready&title=Ready)](https://waffle.io/jaywink/ansible-socialhome)
Role Name
=========
A brief description of the role goes here.
Ansible role - Socialhome
=========================
Deploy [Socialhome](https://github.com/jaywink/socialhome) using Ansible.
Role will also install Apache2 with a LetsEncrypt SSL certificate and a PostgreSQL database.
Requirements
------------
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
Ansible 2.0+
Role Variables
--------------
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
See `defaults/main.yml` for the full list.
The following are required to use the role and have no (sane) defaults.
# Name of admin
socialhome_admin_name:
# Email of admin
socialhome_admin_mail:
# Database password
socialhome_db_password: socialhome
# Set to true if you want to create an account through the registration process
socialhome_disable_registrations: true
# Domain where instance lives
socialhome_domain: socialhome.local
# Django secret key
socialhome_secret_key:
# Email
# Set backend to "smtp" for smtp emails - currently only one supported
# If not set to "smtp", emails will just print in console
# Mails use TLS by default
socialhome_email_backend:
socialhome_email_host: localhost
socialhome_email_port: 587
socialhome_email_host_user:
socialhome_email_host_password:
socialhome_email_from: "noreply@socialhome.local"
Dependencies
------------
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
Depends on the following roles:
* geerlingguy.nodejs
* jaywink.letsencrypt # If `socialhome_https` is not disabled.
If you don't disable HTTPS (which you shouldn't!), you MUST set valid `ansible-letsencrypt` variables, for example:
letsencrypt_email: yourmail@example.com
letsencrypt_domain: example.com
letsencrypt_request_www: false
letsencrypt_force_renew: false
See full list [here](https://github.com/jaywink/ansible-letsencrypt/blob/master/defaults/main.yml).
Example Playbook
----------------
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
---
- hosts: myhost
become: yes
become_user: root
vars:
# place vars here on in a separate file
- hosts: servers
roles:
- { role: username.rolename, x: 42 }
- jaywink.letsencrypt
- jaywink.socialhome
License
-------
BSD
MIT
Author Information
------------------
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
Jason Robinson / https://jasonrobinson.me
---
galaxy_info:
author: your name
description:
company: your company (optional)
# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker
# Some suggested licenses:
# - BSD (default)
# - MIT
# - GPLv2
# - GPLv3
# - Apache
# - CC-BY
license: license (GPLv2, CC-BY, etc)
min_ansible_version: 1.2
#
# Below are all platforms currently available. Just uncomment
# the ones that apply to your role. If you don't see your
# platform on this list, let us know and we'll get it added!
#
#platforms:
#- name: EL
# versions:
# - all
# - 5
# - 6
# - 7
#- name: GenericUNIX
# versions:
# - all
# - any
#- name: Solaris
# versions:
# - all
# - 10
# - 11.0
# - 11.1
# - 11.2
# - 11.3
#- name: Fedora
# versions:
# - all
# - 16
# - 17
# - 18
# - 19
# - 20
# - 21
# - 22
# - 23
#- name: opensuse
# versions:
# - all
# - 12.1
# - 12.2
# - 12.3
# - 13.1
# - 13.2
#- name: IOS
# versions:
# - all
# - any
#- name: SmartOS
# versions:
# - all
# - any
#- name: eos
# versions:
# - all
# - Any
#- name: Windows
# versions:
# - all
# - 2012R2
#- name: Amazon
# versions:
# - all
# - 2013.03
# - 2013.09
#- name: GenericBSD
# versions:
# - all
# - any
#- name: Junos
# versions:
# - all
# - any
#- name: FreeBSD
# versions:
# - all
# - 10.0
# - 10.1
# - 10.2
# - 8.0
# - 8.1
# - 8.2
# - 8.3
# - 8.4
# - 9.0
# - 9.1
# - 9.1
# - 9.2
# - 9.3
#- name: Ubuntu
# versions:
# - all
# - lucid
# - maverick
# - natty
# - oneiric
# - precise
# - quantal
# - raring
# - saucy
# - trusty
# - utopic
# - vivid
# - wily
# - xenial
#- name: SLES
# versions:
# - all
# - 10SP3
# - 10SP4
# - 11
# - 11SP1
# - 11SP2
# - 11SP3
#- name: GenericLinux
# versions:
# - all
# - any
#- name: NXOS
# versions:
# - all
# - any
#- name: Debian
# versions:
# - all
# - etch
# - jessie
# - lenny
# - squeeze
# - wheezy
#
# Below are all categories currently available. Just as with
# the platforms above, uncomment those that apply to your role.
#
#categories:
#- cloud
#- cloud:ec2
#- cloud:gce
#- cloud:rax
#- clustering
#- database
#- database:nosql
#- database:sql
#- development
#- monitoring
#- networking
#- packaging
#- system
#- web
dependencies: []
# List your role dependencies here, one per line.
# Be sure to remove the '[]' above if you add dependencies
# to this list.
author: Jason Robinson
description: Socialhome federated social networking server.
license: MIT
min_ansible_version: 2.0
platforms:
- name: Ubuntu
versions:
- trusty
categories:
- web
dependencies:
- geerlingguy.nodejs
......@@ -3,12 +3,7 @@
lineinfile: line='LANGUAGE="en_US.UTF-8"' dest=/etc/default/locale state=present
- name: Ensure locales are set (LC_ALL)
lineinfile: line='LC_ALL="en_US.UTF-8"' dest=/etc/default/locale state=present
- name: Check for node.js repository
stat: path=/etc/apt/sources.list.d/nodesource.list
register: check_nodejs
- name: Node.js repository
shell: curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
when: not check_nodejs.stat.exists
- name: System dependencies
apt: name={{ item }} state=present update_cache=yes cache_valid_time=86400
with_items:
......@@ -20,8 +15,6 @@
- python-psycopg2
# Apache
- apache2
# Node
- nodejs
# uWSGI
- build-essential
- python-dev
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment