ghost site now deploys with ansible

This commit is contained in:
IronicBadger 2017-01-11 17:16:42 +00:00
parent d3bcacabe3
commit db1e4e136e
5 changed files with 195 additions and 4 deletions

View File

@ -1,2 +1,2 @@
[lsio]
lsio
138.68.135.42 ansible_connection=ssh ansible_user=root ansible_python_interpreter=/usr/bin/python

View File

@ -8,6 +8,7 @@
- common
- docker
- lsiousers
- lsiosite
#- ssh
#- docker
#- lsiosite

View File

@ -0,0 +1,166 @@
// # Ghost Configuration
// Setup your Ghost install for various [environments](http://support.ghost.org/config/#about-environments).
// Ghost runs in `development` mode by default. Full documentation can be found at http://support.ghost.org/config/
var path = require('path'),
config;
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://www.linuxserver.io',
mail: {
transport: 'SMTP',
from: '"LinuxServer Team" <info@linuxserver.io>',
options: {
service: 'Mailgun',
auth: {
user: 'postmaster@linuxserver.io',
pass: '8ccd8fa5e04f6a85421a6cce0b4d5229'
}
}
},
database: {
client: 'sqlite3',
connection: {
filename: path.join(process.env.GHOST_CONTENT, '/data/ghost.db')
},
debug: false
},
server: {
host: '0.0.0.0',
port: '2368'
},
paths: {
contentPath: path.join(process.env.GHOST_CONTENT, '/')
}
},
// ### Development **(default)**
development: {
// The url to use when providing links to the site, E.g. in RSS and email.
// Change this to your Ghost blog's published URL.
url: 'http://dev.linuxserver.io',
// Example refferer policy
// Visit https://www.w3.org/TR/referrer-policy/ for instructions
// default 'origin-when-cross-origin',
// referrerPolicy: 'origin-when-cross-origin',
// Example mail config
// Visit http://support.ghost.org/mail for instructions
// ```
// mail: {
// transport: 'SMTP',
// options: {
// service: 'Mailgun',
// auth: {
// user: '', // mailgun username
// pass: '' // mailgun password
// }
// }
// },
// ```
// #### Database
// Ghost supports sqlite3 (default), MySQL & PostgreSQL
database: {
client: 'sqlite3',
connection: {
filename: path.join(process.env.GHOST_CONTENT, '/data/ghost-dev.db')
},
debug: false
},
// #### Server
// Can be host & port (default), or socket
server: {
// Host to be passed to node's `net.Server#listen()`
host: '0.0.0.0',
// Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
port: '2368'
},
// #### Paths
// Specify where your content directory lives
paths: {
contentPath: path.join(process.env.GHOST_CONTENT, '/')
}
},
// **Developers only need to edit below here**
// ### Testing
// Used when developing Ghost to run tests and check the health of Ghost
// Uses a different port number
testing: {
url: 'http://0.0.0.0:2369',
database: {
client: 'sqlite3',
connection: {
filename: path.join(process.env.GHOST_CONTENT, '/data/ghost-test.db')
},
pool: {
afterCreate: function (conn, done) {
conn.run('PRAGMA synchronous=OFF;' +
'PRAGMA journal_mode=MEMORY;' +
'PRAGMA locking_mode=EXCLUSIVE;' +
'BEGIN EXCLUSIVE; COMMIT;', done);
}
},
useNullAsDefault: true
},
server: {
host: '0.0.0.0',
port: '2369'
},
logging: false
},
// ### Testing MySQL
// Used by Travis - Automated testing run through GitHub
'testing-mysql': {
url: 'http://0.0.0.0:2369',
database: {
client: 'mysql',
connection: {
host : '0.0.0.0',
user : 'root',
password : '',
database : 'ghost_testing',
charset : 'utf8'
}
},
server: {
host: '0.0.0.0',
port: '2369'
},
logging: false
},
// ### Testing pg
// Used by Travis - Automated testing run through GitHub
'testing-pg': {
url: 'http://0.0.0.0:2369',
database: {
client: 'pg',
connection: {
host : '0.0.0.0',
user : 'postgres',
password : '',
database : 'ghost_testing',
charset : 'utf8'
}
},
server: {
host: '0.0.0.0',
port: '2369'
},
logging: false
}
};
module.exports = config;

View File

@ -2,12 +2,29 @@
- name: install pre-reqs
include: pre-reqs.yml
- name: ensure volume dir has correct permissions
file:
path: /opt/ghost
state: directory
recurse: yes
owner: lsio
group: root
mode: 0755
- name: copy config.js for ghost into place
copy:
src: opt/ghost/config.js
dest: /opt/ghost/config.js
owner: lsio
group: root
mode: 0644
- name: setup lsio site ghost container
docker_container:
name: lsio_ghost
image: ghost
state: started
restart: always
restart_policy: always
ports:
- "80:2368"
- "443:443"

View File

@ -2,9 +2,16 @@
- name: install packages
apt: pkg={{ item }} state=present
with_items:
- python3
- python-dev
- python-pip
- python-setuptools
- name: Make sure pip upgraded (fixes docker-py errors)
command: easy_install -U pip
- name: install docker-py
easy_install:
pip:
name: docker-py
state: latest
state: present
extra_args: -U