Skip to content

Instantly share code, notes, and snippets.

View mmarcon's full-sized avatar
👋

Massimiliano Marcon mmarcon

👋
View GitHub Profile
- src: franklinkim.nodejs
---
- hosts: all
sudo: yes
vars:
# franklinkim.nodejs
nodejs_version: 0.12
nodejs_packages:
- pm2
roles:
---
- hosts: all
sudo: yes
vars:
# list of apps to be managed by pm2
pm2_apps:
- /var/apps/services/app.js
- /var/apps/services/otherapp.js
# franklinkim.nodejs
---
- hosts: all
sudo: yes
vars:
# list of apps to be managed by pm2
pm2_apps:
- /var/apps/services/app.js
- /var/apps/services/otherapp.js
# franklinkim.nodejs
location /app {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location /app {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
tasks:
- name: install nginx
apt: name=nginx state=present update_cache=yes
notify:
- start nginx
- name: configure nginx
copy: src={{ item }} dest=/etc/nginx/sites-available/
with_fileglob:
- ./nginx/*
notify:
- name: link to Keymetrics
command: pm2 link {{ keymetrics_secret_key }} {{ keymetrics_public_key }}
when: keymetrics
become: yes
become_user: apps
ignore_errors: yes
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 80, host: 8080
# No need to sync the vagrant folder, everything gets deployed
# with the ansible playbook