Compare commits
4 commits
057f49c0ad
...
d5a01fb070
Author | SHA1 | Date | |
---|---|---|---|
d5a01fb070 | |||
0cbfb4cd30 | |||
7f308e343c | |||
6cddd76963 |
5 changed files with 237 additions and 2 deletions
5
debian/Makefile
vendored
5
debian/Makefile
vendored
|
@ -14,7 +14,10 @@ inventory: ## Deploy server
|
||||||
|
|
||||||
configure: ## Configure server
|
configure: ## Configure server
|
||||||
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/playbook.yml
|
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/playbook.yml
|
||||||
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/linux-baseline.yml
|
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/install-librepages.yml
|
||||||
|
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/install-librepages-forms.yml
|
||||||
|
ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/install-librepages-conductor.yml
|
||||||
|
# ansible-playbook -i ./ansible/inventory/hosts.ini -f 10 ./ansible/linux-baseline.yml
|
||||||
|
|
||||||
ansible-check: ## Check Ansible playbooks
|
ansible-check: ## Check Ansible playbooks
|
||||||
ansible-playbook --check ./ansible/playbook.yml
|
ansible-playbook --check ./ansible/playbook.yml
|
||||||
|
|
52
debian/ansible/install-librepages-conductor.yml
vendored
Normal file
52
debian/ansible/install-librepages-conductor.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
---
|
||||||
|
- name: Install LibrePages Componenets
|
||||||
|
hosts: debainbasic
|
||||||
|
remote_user: root
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Ensure all VMs are reachable
|
||||||
|
ansible.builtin.ping:
|
||||||
|
|
||||||
|
- name: Create /tmp/librepages/conductor
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /tmp/librepages/conductor
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Create /etc/librepages/conductor
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/librepages/conductor
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Get LibrePages/conductor
|
||||||
|
get_url:
|
||||||
|
url: https://dl.librepages.org/librepages/conductor/master/conductor-master-linux-amd64.tar.gz
|
||||||
|
dest:
|
||||||
|
/tmp/librepages/conductor
|
||||||
|
# master branch build checksum keeps changing
|
||||||
|
# checksum: sha256:2478f65d0736e45e45c8c7deb420b73b7b020ed6eae4ec73724cbf974f4df50c
|
||||||
|
|
||||||
|
- name: Extract downloaded LibrePages/conductor
|
||||||
|
command: >-
|
||||||
|
tar -xzvf /tmp/librepages/conductor/conductor-master-linux-amd64.tar.gz
|
||||||
|
--directory /tmp/librepages/conductor
|
||||||
|
|
||||||
|
- name: Install LibrePages/conductor binary
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/conductor/conductor-master-linux-amd64/conductor
|
||||||
|
/usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
- name: Copy configuration file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/conductor/conductor-master-linux-amd64/config/config.toml
|
||||||
|
/etc/librepages/conductor/
|
||||||
|
|
||||||
|
- name: Copy systemd file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/conductor/conductor-master-linux-amd64/contrib/librepages-conductor.service
|
||||||
|
/etc/systemd/system/
|
82
debian/ansible/install-librepages-forms.yml
vendored
Normal file
82
debian/ansible/install-librepages-forms.yml
vendored
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
---
|
||||||
|
- name: Install LibrePages Componenets
|
||||||
|
hosts: debainbasic
|
||||||
|
remote_user: root
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Ensure all VMs are reachable
|
||||||
|
ansible.builtin.ping:
|
||||||
|
|
||||||
|
- name: Create /tmp/librepages/forms
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /tmp/librepages/forms
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Create /etc/librepages/forms
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/librepages/forms
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Get librepages/forms
|
||||||
|
get_url:
|
||||||
|
url: https://dl.librepages.org/librepages/forms/master/forms-master-linux-amd64.tar.gz
|
||||||
|
dest:
|
||||||
|
/tmp/librepages/forms
|
||||||
|
# master branch build checksum keeps changing
|
||||||
|
# checksum: sha256:2478f65d0736e45e45c8c7deb420b73b7b020ed6eae4ec73724cbf974f4df50c
|
||||||
|
|
||||||
|
- name: Extract downloaded librepages/forms
|
||||||
|
command: >-
|
||||||
|
tar -xzvf /tmp/librepages/forms/forms-master-linux-amd64.tar.gz
|
||||||
|
--directory /tmp/librepages/forms
|
||||||
|
|
||||||
|
- name: Install librepages/forms binary
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/forms/forms-master-linux-amd64/forms
|
||||||
|
/usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
- name: Copy configuration file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/forms/forms-master-linux-amd64/config/config.toml
|
||||||
|
/etc/librepages/forms/
|
||||||
|
|
||||||
|
- name: Copy systemd file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/forms/forms-master-linux-amd64/contrib/librepages-forms.service
|
||||||
|
/etc/systemd/system/
|
||||||
|
|
||||||
|
- name: "Create librepages/forms database"
|
||||||
|
postgresql_db:
|
||||||
|
state: present
|
||||||
|
name: "librepages-forms"
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: "Create db user"
|
||||||
|
postgresql_user:
|
||||||
|
state: present
|
||||||
|
name: "librepages-forms"
|
||||||
|
password: "supercomplicatedpassword"
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: "Grant db user access to app db"
|
||||||
|
postgresql_privs:
|
||||||
|
type: database
|
||||||
|
database: "librepages-forms"
|
||||||
|
roles: "librepages-forms"
|
||||||
|
grant_option: no
|
||||||
|
privs: all
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: Added a librepages account
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: librepages-forms
|
||||||
|
shell: /bin/nologin
|
82
debian/ansible/install-librepages.yml
vendored
Normal file
82
debian/ansible/install-librepages.yml
vendored
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
---
|
||||||
|
- name: Install LibrePages Componenets
|
||||||
|
hosts: debainbasic
|
||||||
|
remote_user: root
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Ensure all VMs are reachable
|
||||||
|
ansible.builtin.ping:
|
||||||
|
|
||||||
|
- name: Create /tmp/librepages/librepages
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /tmp/librepages/librepages
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Create /etc/librepages/librepages
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/librepages/librepages
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Get LibrePages/LibrePages
|
||||||
|
get_url:
|
||||||
|
url: https://dl.librepages.org/librepages/librepages/master/librepages-master-linux-amd64.tar.gz
|
||||||
|
dest:
|
||||||
|
/tmp/librepages/librepages
|
||||||
|
# master branch build checksum keeps changing
|
||||||
|
# checksum: sha256:2478f65d0736e45e45c8c7deb420b73b7b020ed6eae4ec73724cbf974f4df50c
|
||||||
|
|
||||||
|
- name: Extract downloaded LibrePages/LibrePages
|
||||||
|
command: >-
|
||||||
|
tar -xzvf /tmp/librepages/librepages/librepages-master-linux-amd64.tar.gz
|
||||||
|
--directory /tmp/librepages/librepages
|
||||||
|
|
||||||
|
- name: Install LibrePages/LibrePages binary
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/librepages/librepages-master-linux-amd64/librepages
|
||||||
|
/usr/bin/
|
||||||
|
|
||||||
|
|
||||||
|
- name: Copy configuration file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/librepages/librepages-master-linux-amd64/config/config.toml
|
||||||
|
/etc/librepages/librepages/
|
||||||
|
|
||||||
|
- name: Copy systemd file
|
||||||
|
command: >-
|
||||||
|
cp -f
|
||||||
|
/tmp/librepages/librepages/librepages-master-linux-amd64/contrib/librepages.service
|
||||||
|
/etc/systemd/system/
|
||||||
|
|
||||||
|
- name: "Create librepages/librepages database"
|
||||||
|
postgresql_db:
|
||||||
|
state: present
|
||||||
|
name: "librepages"
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: "Create db user"
|
||||||
|
postgresql_user:
|
||||||
|
state: present
|
||||||
|
name: "librepages"
|
||||||
|
password: "supercomplicatedpassword"
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: "Grant db user access to app db"
|
||||||
|
postgresql_privs:
|
||||||
|
type: database
|
||||||
|
database: "librepages"
|
||||||
|
roles: "librepages"
|
||||||
|
grant_option: no
|
||||||
|
privs: all
|
||||||
|
become: yes
|
||||||
|
become_user: postgres
|
||||||
|
|
||||||
|
- name: Added a librepages account
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: librepages
|
||||||
|
shell: /bin/nologin
|
18
debian/ansible/playbook.yml
vendored
18
debian/ansible/playbook.yml
vendored
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
- name: Configure webservers
|
- name: Configure webservers
|
||||||
hosts: debainbasic
|
hosts: debainbasic
|
||||||
remote_user: root
|
remote_user: atm
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Ensure all VMs are reachable
|
- name: Ensure all VMs are reachable
|
||||||
|
@ -30,6 +30,9 @@
|
||||||
- dnsutils
|
- dnsutils
|
||||||
- bind9
|
- bind9
|
||||||
- python3-setuptools
|
- python3-setuptools
|
||||||
|
- postgresql
|
||||||
|
- postgresql-contrib
|
||||||
|
- python3-psycopg2
|
||||||
|
|
||||||
- name: Create /etc/apt/keyrings dir
|
- name: Create /etc/apt/keyrings dir
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
|
@ -107,6 +110,16 @@
|
||||||
state:
|
state:
|
||||||
started
|
started
|
||||||
|
|
||||||
|
- name: "Find out if PostgreSQL is initialized"
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: "/var/lib/pgsql/data/pg_hba.conf"
|
||||||
|
register: postgres_data
|
||||||
|
|
||||||
|
- name: "Start and enable services"
|
||||||
|
service: "name={{ item }} state=started enabled=yes"
|
||||||
|
with_items:
|
||||||
|
- postgresql
|
||||||
|
|
||||||
# - debug: var=ansible_all_ipv4_addresses
|
# - debug: var=ansible_all_ipv4_addresses
|
||||||
# - debug: var=ansible_default_ipv4.address
|
# - debug: var=ansible_default_ipv4.address
|
||||||
|
|
||||||
|
@ -115,3 +128,6 @@
|
||||||
ansible.builtin.service:
|
ansible.builtin.service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: restarted
|
state: restarted
|
||||||
|
|
||||||
|
- name: restart postgres
|
||||||
|
service: name=postgresql state=restarted
|
||||||
|
|
Loading…
Add table
Reference in a new issue