Role ansible pour setup de CodiMD
This commit is contained in:
parent
74c0d481a8
commit
c8229fee9b
6 changed files with 113 additions and 0 deletions
6
codimd.yml
Normal file
6
codimd.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
# Install CodiMD on CodiMD containers
|
||||||
|
- hosts: codimd.adm.auro.re
|
||||||
|
roles:
|
||||||
|
- debian-backports
|
||||||
|
- codimd
|
6
roles/codimd/README.md
Normal file
6
roles/codimd/README.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Rôle CodiMD
|
||||||
|
|
||||||
|
Ce rôle Ansible permet d'installer CodiMD.
|
||||||
|
|
||||||
|
Il doit être exécuté en tant que super-utilisateur
|
||||||
|
(option `-b` pour `--become`).
|
19
roles/codimd/tasks/0_apt_dependencies.yml
Normal file
19
roles/codimd/tasks/0_apt_dependencies.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
# For NodeJS package
|
||||||
|
- name: Configure NodeJS pin
|
||||||
|
when: ansible_distribution == 'Debian' and ansible_distribution_release == 'stretch'
|
||||||
|
template:
|
||||||
|
src: 'apt/nodejs'
|
||||||
|
dest: '/etc/apt/preferences.d/nodejs'
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
# Install CodiMD dependencies
|
||||||
|
- name: Install required packages
|
||||||
|
apt:
|
||||||
|
name: "{{item}}"
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
with_items:
|
||||||
|
- git
|
||||||
|
- nodejs
|
||||||
|
- npm
|
26
roles/codimd/tasks/1_user_group.yml
Normal file
26
roles/codimd/tasks/1_user_group.yml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
# Security #1
|
||||||
|
- name: Create CodiMD system group
|
||||||
|
group:
|
||||||
|
name: codimd
|
||||||
|
system: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
# Security #2
|
||||||
|
-name: Create CodiMD user
|
||||||
|
user:
|
||||||
|
name: codimd
|
||||||
|
group: codimd
|
||||||
|
home: '/var/local/codimd'
|
||||||
|
comment: CodiMD
|
||||||
|
system: yes
|
||||||
|
state: present
|
||||||
|
|
||||||
|
# Security #3
|
||||||
|
- name: Secure CodiMD home directory
|
||||||
|
file:
|
||||||
|
path: '/var/local/codimd'
|
||||||
|
state: directory
|
||||||
|
owner: codimd
|
||||||
|
group: codimd
|
||||||
|
mode: 0750
|
48
roles/codimd/tasks/main.yml
Normal file
48
roles/codimd/tasks/main.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
# Install APT dependencies
|
||||||
|
- include_tasks: 0_apt_dependencies.yml
|
||||||
|
|
||||||
|
# Create CodiMD user and group
|
||||||
|
- include_tasks: 1_user_group.yml
|
||||||
|
|
||||||
|
# Download CodiMD
|
||||||
|
- name: Clone CodiMD project
|
||||||
|
git:
|
||||||
|
repo: 'https://github.com/hackmdio/codimd.git'
|
||||||
|
dest: /var/local/codimd/codimd
|
||||||
|
version: 1.2.1
|
||||||
|
become: yes
|
||||||
|
become_user: codimd
|
||||||
|
|
||||||
|
# Installation script
|
||||||
|
|
||||||
|
# Setup dependencies and configs
|
||||||
|
- name: Install CodiMD depedencies
|
||||||
|
command: bin/setup
|
||||||
|
args:
|
||||||
|
chdir: /var/local/codimd/codimd
|
||||||
|
become: yes
|
||||||
|
become_user: codimd
|
||||||
|
|
||||||
|
# Build front-end bundle
|
||||||
|
- name: Build front-end for CodiMD
|
||||||
|
command: npm run build
|
||||||
|
become: yes
|
||||||
|
become_user: CodiMD
|
||||||
|
|
||||||
|
# Connection to database
|
||||||
|
- name: Connect CodiMD to database
|
||||||
|
template:
|
||||||
|
src: sequelizerc
|
||||||
|
dest: /var/local/codimd/codimd/.sequelizerc
|
||||||
|
owner: codimd
|
||||||
|
group: codimd
|
||||||
|
mode: 0600
|
||||||
|
|
||||||
|
# Update data base
|
||||||
|
- name: Migrate the Data Base to the latest schema
|
||||||
|
command: node_modules/.bin/sequelize db:migrate
|
||||||
|
args:
|
||||||
|
chdir /var/local/codimd/codimd
|
||||||
|
become: yes
|
||||||
|
become_user: codimd
|
8
roles/codimd/templates/sequelizerc
Normal file
8
roles/codimd/templates/sequelizerc
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
var path = require('path');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
'config': path.resolve('config.json'),
|
||||||
|
'migrations-path': path.resolve('lib', 'migrations'),
|
||||||
|
'models-path': path.resolve('lib', 'models'),
|
||||||
|
'url': 'services-bdd.adm.auro.re'
|
||||||
|
}
|
Loading…
Reference in a new issue