mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 13:46:59 +01:00
Split into roles and add parameters
This commit is contained in:
parent
13b5d45998
commit
7d8e261f6d
19 changed files with 93 additions and 37 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,2 +1,3 @@
|
|||
.idea
|
||||
.vagrant
|
||||
playbook.retry
|
||||
|
|
|
|||
16
README.md
Normal file
16
README.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
How-tos
|
||||
=======
|
||||
Some tips on how to use this repo.
|
||||
|
||||
Mount last backup
|
||||
-----------------
|
||||
```bash
|
||||
borg mount --info --foreground $REPO_FOLDER $MOUNT_POINT --last 1
|
||||
```
|
||||
|
||||
Create a full installation of the services inside a VM
|
||||
------------------------------------------------------
|
||||
```bash
|
||||
vagrant up #if your VM already exist it's best to do a vagrant destroy first
|
||||
ansible-playbook -i staging playbook.yml -e 'backup_folder=$REPO_FOLDER'
|
||||
```
|
||||
6
Vagrantfile
vendored
6
Vagrantfile
vendored
|
|
@ -71,7 +71,7 @@ Vagrant.configure("2") do |config|
|
|||
config.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "4096"
|
||||
end
|
||||
config.vm.provision "ansible" do |ansible|
|
||||
ansible.playbook = "playbook.yml"
|
||||
end
|
||||
# config.vm.provision "ansible" do |ansible|
|
||||
# ansible.playbook = "playbook.yml"
|
||||
# end
|
||||
end
|
||||
|
|
|
|||
40
playbook.yml
40
playbook.yml
|
|
@ -2,37 +2,9 @@
|
|||
- hosts: all
|
||||
become: true
|
||||
gather_facts: no
|
||||
tasks:
|
||||
- name: Install ansible prerequisites
|
||||
script: ansible_prerequisites.sh creates=/root/.ansible_prerequisites_installed
|
||||
become: true
|
||||
- name: Install required packages
|
||||
package: name={{item}} state=present update_cache=yes
|
||||
with_items:
|
||||
- htop
|
||||
- docker
|
||||
- docker-compose
|
||||
- git
|
||||
- nload
|
||||
- rsync
|
||||
- ufw
|
||||
- vim
|
||||
- wget
|
||||
- zsh
|
||||
- name: Enable and start docker service
|
||||
systemd:
|
||||
name: docker.service
|
||||
state: started
|
||||
enabled: True
|
||||
- name: Create images config folder
|
||||
file: dest=/etc/images state=directory
|
||||
- name: Copy murmur config
|
||||
copy: src=murmur dest=/etc/images
|
||||
- name: Create murmur data folder
|
||||
file: dest=/var/lib/murmur state=directory
|
||||
- name: Copy murmur database
|
||||
copy: src=/mnt/borg/banditlair.com-2017-12-04/backups/murmur/murmur.sqlite dest=/var/lib/murmur/
|
||||
- name: Start murmur docker project
|
||||
docker_service:
|
||||
project_src: /etc/images/murmur
|
||||
state: present
|
||||
vars:
|
||||
docker_compose_files_folder: /etc/compose
|
||||
roles:
|
||||
- role: base
|
||||
- role: base-docker
|
||||
- role: murmur-docker
|
||||
1
production
Normal file
1
production
Normal file
|
|
@ -0,0 +1 @@
|
|||
62.210.202.162
|
||||
12
roles/base-docker/README.md
Normal file
12
roles/base-docker/README.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
base-docker
|
||||
===========
|
||||
Installs and configures docker
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
`docker_compose_files_folder` The path where all the compose projects folders will be stored
|
||||
`docker_compose_persistence_folder` The path where all persistent data will be stored, defaults to `/var/lib`
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
- base
|
||||
3
roles/base-docker/defaults/main.yml
Normal file
3
roles/base-docker/defaults/main.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
docker_compose_files_folder: /etc/compose
|
||||
docker_compose_persistence_folder: /var/lib
|
||||
2
roles/base-docker/meta/main.yml
Normal file
2
roles/base-docker/meta/main.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- base
|
||||
13
roles/base-docker/tasks/main.yml
Normal file
13
roles/base-docker/tasks/main.yml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
- name: Install docker packages
|
||||
package: name={{item}} state=present update_cache=yes
|
||||
with_items:
|
||||
- docker
|
||||
- docker-compose
|
||||
- name: Enable and start docker service
|
||||
systemd:
|
||||
name: docker.service
|
||||
state: started
|
||||
enabled: True
|
||||
- name: Create images config folder
|
||||
file: dest={{docker_compose_files_folder}} state=directory
|
||||
3
roles/base/README.md
Normal file
3
roles/base/README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
base
|
||||
====
|
||||
Installs Ansible prerequisites if needed and than installs basic utility packages
|
||||
14
roles/base/tasks/main.yml
Normal file
14
roles/base/tasks/main.yml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
- name: Install ansible prerequisites
|
||||
script: ansible_prerequisites.sh creates=/root/.ansible_prerequisites_installed
|
||||
- name: Install base packages
|
||||
package: name={{item}} state=present update_cache=yes
|
||||
with_items:
|
||||
- htop
|
||||
- git
|
||||
- nload
|
||||
- rsync
|
||||
- ufw
|
||||
- vim
|
||||
- wget
|
||||
- zsh
|
||||
7
roles/murmur-docker/README.md
Normal file
7
roles/murmur-docker/README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
murmur-docker
|
||||
=============
|
||||
Installs murmur
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
- base-docker
|
||||
2
roles/murmur-docker/meta/main.yml
Normal file
2
roles/murmur-docker/meta/main.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- base-docker
|
||||
9
roles/murmur-docker/tasks/main.yml
Normal file
9
roles/murmur-docker/tasks/main.yml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
- name: Copy murmur config
|
||||
copy: src=murmur dest={{docker_compose_files_folder}}
|
||||
- name: Create murmur data folder
|
||||
file: dest={{docker_compose_persistence_folder}}/murmur state=directory
|
||||
- name: Copy murmur database
|
||||
copy: src={{backup_folder}}/backups/murmur/murmur.sqlite dest=/var/lib/murmur/
|
||||
- name: Start murmur docker project
|
||||
docker_service: project_src={{docker_compose_files_folder}}/murmur state=present
|
||||
1
staging
Normal file
1
staging
Normal file
|
|
@ -0,0 +1 @@
|
|||
192.168.33.10 ansible_user=vagrant ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key
|
||||
Loading…
Add table
Add a link
Reference in a new issue