mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 13:46:59 +01:00
Adapt for Ubuntu and prepare for migration to Hetzner
This commit is contained in:
parent
38237337fc
commit
3090cc6818
26 changed files with 94 additions and 123 deletions
|
|
@ -1,16 +1,18 @@
|
||||||
---
|
---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
become: true
|
become: true
|
||||||
gather_facts: no
|
|
||||||
vars:
|
vars:
|
||||||
docker_compose_files_folder: /etc/images
|
docker_compose_files_folder_previous_server: /etc/images
|
||||||
|
docker_compose_files_folder: /etc/compose
|
||||||
domain_name: banditlair.com
|
domain_name: banditlair.com
|
||||||
|
docker_version: 18.06.*
|
||||||
sub_domains:
|
sub_domains:
|
||||||
- rpg
|
- rpg
|
||||||
roles:
|
roles:
|
||||||
- { role: base, tags: ['base'] }
|
- { role: base, tags: ['base'] }
|
||||||
- { role: scripts, tags: [ 'scripts' ] }
|
- { role: scripts, tags: [ 'scripts' ] }
|
||||||
- { role: daily-backup, tags: [ 'backup' ] }
|
- { role: daily-backup, tags: [ 'backup' ] }
|
||||||
|
- { role: docker, tags: [ 'docker' ] }
|
||||||
- { role: murmur-docker, tags: [ 'murmur', 'docker' ] }
|
- { role: murmur-docker, tags: [ 'murmur', 'docker' ] }
|
||||||
- { role: searx-docker, tags: [ 'searx', 'docker' ] }
|
- { role: searx-docker, tags: [ 'searx', 'docker' ] }
|
||||||
- { role: wiki-docker, tags: [ 'wiki', 'docker' ] }
|
- { role: wiki-docker, tags: [ 'wiki', 'docker' ] }
|
||||||
|
|
@ -21,7 +23,6 @@
|
||||||
- { role: matrix-docker, tags: [ 'matrix', 'docker' ] }
|
- { role: matrix-docker, tags: [ 'matrix', 'docker' ] }
|
||||||
- { role: torrent-docker, tags: [ 'torrent', 'docker' ] }
|
- { role: torrent-docker, tags: [ 'torrent', 'docker' ] }
|
||||||
- { role: monit, tags: [ 'monit' ] }
|
- { role: monit, tags: [ 'monit' ] }
|
||||||
- { role: arch-mirror-docker, tags: [ 'mirror', 'docker' ] }
|
|
||||||
- { role: stb-wordpress-docker, tags: [ 'stb', 'docker' ] }
|
- { role: stb-wordpress-docker, tags: [ 'stb', 'docker' ] }
|
||||||
- { role: traefik-proxy-docker, tags: [ 'traefik', 'docker' ] }
|
- { role: traefik-proxy-docker, tags: [ 'traefik', 'docker' ] }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
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
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
---
|
|
||||||
docker_compose_files_folder: /etc/compose
|
|
||||||
docker_compose_persistence_folder: /var/lib
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
- 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
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
#pacman -Syu --noconfirm #Skip this step because reboot is needed to start docker in case of kernel update
|
|
||||||
pacman -S python --noconfirm
|
|
||||||
touch /root/.ansible_prerequisites_installed
|
|
||||||
|
|
@ -1,22 +1,10 @@
|
||||||
---
|
---
|
||||||
- name: Install ansible prerequisites
|
|
||||||
script: ansible_prerequisites.sh creates=/root/.ansible_prerequisites_installed
|
|
||||||
- name: Install base packages
|
- name: Install base packages
|
||||||
package: name={{item}} state=present update_cache=yes
|
package: name={{item}} state=present update_cache=yes
|
||||||
with_items:
|
with_items:
|
||||||
- htop
|
- htop
|
||||||
- git
|
- git
|
||||||
- nload
|
- nload
|
||||||
- rsync
|
|
||||||
- ufw
|
- ufw
|
||||||
- vim
|
- borgbackup
|
||||||
- wget
|
|
||||||
- borg
|
|
||||||
- openbsd-netcat
|
|
||||||
- cronie
|
|
||||||
- name: Enable and start cronie
|
|
||||||
service:
|
|
||||||
name: cronie
|
|
||||||
enabled: true
|
|
||||||
state: started
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ borg create -v --stats --compression lz4 \
|
||||||
${REPOSITORY}::'{hostname}-{now:%Y-%m-%d}' \
|
${REPOSITORY}::'{hostname}-{now:%Y-%m-%d}' \
|
||||||
/root \
|
/root \
|
||||||
/home \
|
/home \
|
||||||
/media \
|
/data \
|
||||||
/etc \
|
/etc \
|
||||||
/var/lib/deluge \
|
/var/lib/deluge \
|
||||||
/var/lib/mailu \
|
/var/lib/mailu \
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,19 @@
|
||||||
register: docker_version
|
register: docker_version
|
||||||
changed_when: no
|
changed_when: no
|
||||||
|
|
||||||
|
- name: Install python3-pip
|
||||||
|
apt:
|
||||||
|
name: python3-pip
|
||||||
|
state: latest
|
||||||
|
cache_valid_time: 3600
|
||||||
|
register: result
|
||||||
|
retries: 3
|
||||||
|
until: result is success
|
||||||
|
|
||||||
|
- name: Install docker-compose
|
||||||
|
pip:
|
||||||
|
name: docker-compose
|
||||||
|
|
||||||
- name: Printing Docker version
|
- name: Printing Docker version
|
||||||
debug: var=docker_version
|
debug: var=docker_version
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ services:
|
||||||
image: emby/embyserver:latest
|
image: emby/embyserver:latest
|
||||||
volumes:
|
volumes:
|
||||||
- ./config:/config
|
- ./config:/config
|
||||||
- /media:/media:ro
|
- /data:/media:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
environment:
|
environment:
|
||||||
- UID=33
|
- UID=33
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,6 @@
|
||||||
---
|
---
|
||||||
- name: etcd replicated and outiside of kubeadm when multimasters
|
- name: etcd replicated and outiside of kubeadm when multimasters
|
||||||
block:
|
block:
|
||||||
- name: Install python3-pip
|
|
||||||
apt:
|
|
||||||
name: python3-pip
|
|
||||||
state: latest
|
|
||||||
cache_valid_time: 3600
|
|
||||||
register: result
|
|
||||||
retries: 3
|
|
||||||
until: result is success
|
|
||||||
|
|
||||||
- name: Install docker-compose
|
|
||||||
pip:
|
|
||||||
name: docker-compose
|
|
||||||
|
|
||||||
- name: Running etcd container on masters nodes
|
- name: Running etcd container on masters nodes
|
||||||
docker_container:
|
docker_container:
|
||||||
name: etcd
|
name: etcd
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,14 @@
|
||||||
wait_for:
|
wait_for:
|
||||||
path: /var/lib/gitlab/postgres-exporter/
|
path: /var/lib/gitlab/postgres-exporter/
|
||||||
state: present
|
state: present
|
||||||
|
timeout: 600
|
||||||
when: gitlab_users_repos.matched|int == 0
|
when: gitlab_users_repos.matched|int == 0
|
||||||
- name: Restore backup if no users are found
|
- name: Restore backup if no users are found
|
||||||
script: restore-backup.sh {{gitlab_git_uid.stdout}}
|
script: restore-backup.sh {{gitlab_git_uid.stdout}}
|
||||||
|
register: gitlab_backup_restore
|
||||||
args:
|
args:
|
||||||
chdir: "{{docker_compose_files_folder}}/gitlab/"
|
chdir: "{{docker_compose_files_folder}}/gitlab/"
|
||||||
|
retries: 5
|
||||||
|
delay: 30
|
||||||
|
until: gitlab_backup_restore.rc == 0
|
||||||
when: gitlab_users_repos.matched|int == 0
|
when: gitlab_users_repos.matched|int == 0
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,4 @@
|
||||||
---
|
---
|
||||||
- name: Install python3-pip
|
|
||||||
apt:
|
|
||||||
name: python3-pip
|
|
||||||
state: latest
|
|
||||||
cache_valid_time: 3600
|
|
||||||
register: result
|
|
||||||
retries: 3
|
|
||||||
until: result is success
|
|
||||||
|
|
||||||
- name: Install docker-compose
|
|
||||||
pip:
|
|
||||||
name: docker-compose
|
|
||||||
|
|
||||||
- name: Pull docker images
|
- name: Pull docker images
|
||||||
docker_image: name="{{ item }}"
|
docker_image: name="{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
- name: Copy monit config
|
- name: Copy monit config
|
||||||
template:
|
template:
|
||||||
src: monitrc
|
src: monitrc
|
||||||
dest: /etc/monitrc
|
dest: /etc/monit/monitrc
|
||||||
|
mode: 0600
|
||||||
notify:
|
notify:
|
||||||
- reload monit
|
- reload monit
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@ check filesystem root with path /
|
||||||
## Check a network link status (up/down), link capacity changes, saturation
|
## Check a network link status (up/down), link capacity changes, saturation
|
||||||
## and bandwidth usage.
|
## and bandwidth usage.
|
||||||
#
|
#
|
||||||
check network public with interface eno1
|
check network public with interface enp4s0
|
||||||
if failed link then alert
|
if failed link then alert
|
||||||
# if changed link then alert
|
# if changed link then alert
|
||||||
# if saturation > 90% then alert
|
# if saturation > 90% then alert
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
murmur-docker
|
|
||||||
=============
|
|
||||||
Installs murmur
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
------------
|
|
||||||
- base-docker
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
dependencies:
|
|
||||||
- base-docker
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
- name: Copy murmur config
|
- name: Copy murmur config
|
||||||
copy: src=murmur dest={{docker_compose_files_folder}}
|
copy: src=murmur dest={{docker_compose_files_folder}}
|
||||||
- name: Create murmur data folder
|
- name: Create murmur data folder
|
||||||
file: dest={{docker_compose_persistence_folder}}/murmur state=directory
|
file: dest=/var/lib/murmur state=directory
|
||||||
- name: Copy murmur database
|
- name: Copy murmur database
|
||||||
copy: src=/backups/murmur/murmur.sqlite dest=/var/lib/murmur/ force=no remote_src=yes
|
copy: src=/backups/murmur/murmur.sqlite dest=/var/lib/murmur/ force=no remote_src=yes
|
||||||
- name: Start murmur docker project
|
- name: Start murmur docker project
|
||||||
|
|
|
||||||
|
|
@ -31,12 +31,10 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/nextcloud:/var/www/html
|
- /var/lib/nextcloud:/var/www/html
|
||||||
- ./config:/var/www/html/config
|
- ./config:/var/www/html/config
|
||||||
- /media:/media
|
- /data:/media
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=db
|
||||||
env_file:
|
|
||||||
- db.env
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
|
|
@ -54,8 +52,6 @@ services:
|
||||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
- MYSQL_USER=${MYSQL_USER}
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
env_file:
|
|
||||||
- db.env
|
|
||||||
restart: always
|
restart: always
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,10 @@
|
||||||
copy:
|
copy:
|
||||||
src: nextcloud
|
src: nextcloud
|
||||||
dest: "{{docker_compose_files_folder}}"
|
dest: "{{docker_compose_files_folder}}"
|
||||||
- name: Create db.env
|
- name: Create .env
|
||||||
template:
|
template:
|
||||||
src: nextcloud/db.env
|
src: nextcloud/.env
|
||||||
dest: "{{docker_compose_files_folder}}/nextcloud/db.env"
|
dest: "{{docker_compose_files_folder}}/nextcloud/.env"
|
||||||
- name: Create nextcloud config
|
- name: Create nextcloud config
|
||||||
template:
|
template:
|
||||||
src: nextcloud/config/{{item}}
|
src: nextcloud/config/{{item}}
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
- name: Change config folder owner to http
|
- name: Change config folder owner to http
|
||||||
file:
|
file:
|
||||||
path: "{{docker_compose_files_folder}}/nextcloud/config"
|
path: "{{docker_compose_files_folder}}/nextcloud/config"
|
||||||
owner: http
|
owner: 33
|
||||||
group: http
|
group: 33
|
||||||
recurse: yes
|
recurse: yes
|
||||||
- name: Build and start nextcloud docker project
|
- name: Build and start nextcloud docker project
|
||||||
docker_service:
|
docker_service:
|
||||||
|
|
@ -31,8 +31,10 @@
|
||||||
args:
|
args:
|
||||||
chdir: "{{docker_compose_files_folder}}/nextcloud/"
|
chdir: "{{docker_compose_files_folder}}/nextcloud/"
|
||||||
register: db_tables_exist
|
register: db_tables_exist
|
||||||
ignore_errors: true
|
retries: 15
|
||||||
changed_when: db_tables_exist.stdout_lines|length == 0
|
delay: 10
|
||||||
|
until: db_tables_exist.rc == 0
|
||||||
|
changed_when: no
|
||||||
- name: Restore Nextcloud database
|
- name: Restore Nextcloud database
|
||||||
command: docker-compose exec -T db sh -c "mysql -u nextcloud -p{{nextcloud_mysql_password}} nextcloud < /backups/database.dmp"
|
command: docker-compose exec -T db sh -c "mysql -u nextcloud -p{{nextcloud_mysql_password}} nextcloud < /backups/database.dmp"
|
||||||
args:
|
args:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
MYSQL_PASSWORD={{nextcloud_mysql_password}}
|
|
||||||
MYSQL_DATABASE=nextcloud
|
|
||||||
MYSQL_USER=nextcloud
|
|
||||||
|
|
||||||
28
roles/scripts/files/proxyFirewall.sh
Normal file
28
roles/scripts/files/proxyFirewall.sh
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Clear config
|
||||||
|
iptables -t nat -F
|
||||||
|
iptables -t mangle -F
|
||||||
|
iptables -F
|
||||||
|
iptables -X
|
||||||
|
|
||||||
|
|
||||||
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||||
|
|
||||||
|
PORTS_TO_FORWARD_TCP="25 80 110 143 443 465 587 993 995 2224 3478 8008 8448 27015 64738"
|
||||||
|
PORTS_TO_FORWARD_UDP="34197 64738"
|
||||||
|
DESTINATION_IP="212.83.165.111"
|
||||||
|
#DESTINATION_IP="5.9.66.49"
|
||||||
|
|
||||||
|
for port in `echo $PORTS_TO_FORWARD_TCP`
|
||||||
|
do
|
||||||
|
iptables -t nat -A PREROUTING -p tcp -m tcp --dport ${port} -j DNAT --to-destination ${DESTINATION_IP}
|
||||||
|
iptables -A FORWARD -d ${DESTINATION_IP}/32 -p tcp -m tcp --dport ${port} -j ACCEPT
|
||||||
|
done
|
||||||
|
|
||||||
|
for port in `echo $PORTS_TO_FORWARD_UDP`
|
||||||
|
do
|
||||||
|
iptables -t nat -A PREROUTING -p udp -m udp --dport ${port} -j DNAT --to-destination ${DESTINATION_IP}
|
||||||
|
iptables -A FORWARD -d ${DESTINATION_IP}/32 -p tcp -m tcp --dport ${port} -j ACCEPT
|
||||||
|
done
|
||||||
|
iptables -t nat -A POSTROUTING -j MASQUERADE
|
||||||
|
|
@ -10,14 +10,14 @@ rsync -aAvh --progress root@${SOURCE_HOST}:/media/ /data --delete
|
||||||
#Sync Backups
|
#Sync Backups
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/backups/ /backups --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:/backups/ /backups --delete
|
||||||
|
|
||||||
#Sync Deluge
|
#Sync Torrents
|
||||||
mkdir -p {{docker_compose_files_folder}}/deluge
|
mkdir -p {{docker_compose_files_folder}}/torrent
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder}}/torrent/config/ {{docker_compose_files_folder}}/deluge/config --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder_previous_server}}/torrent/config/ {{docker_compose_files_folder}}/torrent/config --delete
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/deluge/ /var/lib/deluge --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/deluge/ /var/lib/deluge --delete
|
||||||
|
|
||||||
#Sync emby
|
#Sync emby
|
||||||
mkdir -p {{docker_compose_files_folder}}/emby
|
mkdir -p {{docker_compose_files_folder}}/emby
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder}}/emby/config/ {{docker_compose_files_folder}}/emby/config --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder_previous_server}}/emby/config/ {{docker_compose_files_folder}}/emby/config --exclude "transcoding-temp" --delete
|
||||||
|
|
||||||
#Sync Mailu
|
#Sync Mailu
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/mailu/ /var/lib/mailu --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/mailu/ /var/lib/mailu --delete
|
||||||
|
|
@ -25,16 +25,25 @@ rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/mailu/ /var/lib/mailu --dele
|
||||||
#Sync matrix
|
#Sync matrix
|
||||||
mkdir -p {{docker_compose_files_folder}}/matrix
|
mkdir -p {{docker_compose_files_folder}}/matrix
|
||||||
mkdir -p /var/lib/matrix
|
mkdir -p /var/lib/matrix
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder}}/matrix/synapse/ {{docker_compose_files_folder}}/matrix/synapse --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder_previous_server}}/matrix/synapse/ {{docker_compose_files_folder}}/matrix/synapse --delete
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/matrix/media_store/ /var/lib/matrix/media_store --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/matrix/media_store/ /var/lib/matrix/media_store --delete
|
||||||
|
|
||||||
#Sync nextcloud
|
#Sync nextcloud
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/nextcloud/ /var/lib/nextcloud --exclude "db" --delete
|
mkdir -p {{docker_compose_files_folder}}/nextcloud/config
|
||||||
|
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder_previous_server}}/nextcloud/config/ {{docker_compose_files_folder}}/nextcloud/config --delete
|
||||||
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/nextcloud/ /var/lib/nextcloud --delete
|
||||||
|
|
||||||
#Sync Wiki
|
#Sync Wiki
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/wiki/ /var/lib/wiki --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/wiki/ /var/lib/wiki --delete
|
||||||
|
|
||||||
#Sync certificates
|
#Sync certificates
|
||||||
mkdir -p {{docker_compose_files_folder}}/traefik/certs/
|
mkdir -p {{docker_compose_files_folder}}/traefik/certs/
|
||||||
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder}}/traefik/certs/ {{docker_compose_files_folder}}/traefik/certs --delete
|
rsync -aAvh --progress root@${SOURCE_HOST}:{{docker_compose_files_folder_previous_server}}/traefik/certs/ {{docker_compose_files_folder}}/traefik/certs --delete
|
||||||
|
|
||||||
|
#Sync factorio
|
||||||
|
mkdir -p /opt/factorio
|
||||||
|
rsync -aAvh --progress root@${SOURCE_HOST}:/opt/factorio/ /opt/factorio --delete
|
||||||
|
|
||||||
|
#Sync STB wordpress
|
||||||
|
mkdir -p /var/lib/stb
|
||||||
|
rsync -aAvh --progress root@${SOURCE_HOST}:/var/lib/stb/ /var/lib/stb --delete
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,6 @@ services:
|
||||||
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||||||
- MYSQL_USER=${MYSQL_USER}
|
- MYSQL_USER=${MYSQL_USER}
|
||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
env_file:
|
|
||||||
- db.env
|
|
||||||
restart: always
|
restart: always
|
||||||
wordpress:
|
wordpress:
|
||||||
image: wordpress:4.9.4-php7.1-apache
|
image: wordpress:4.9.4-php7.1-apache
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@
|
||||||
copy:
|
copy:
|
||||||
src: docker-compose.yml
|
src: docker-compose.yml
|
||||||
dest: "{{docker_compose_files_folder}}/stb/"
|
dest: "{{docker_compose_files_folder}}/stb/"
|
||||||
- name: Create db.env
|
- name: Create .env
|
||||||
template:
|
template:
|
||||||
src: db.env
|
src: .env
|
||||||
dest: "{{docker_compose_files_folder}}/stb/db.env"
|
dest: "{{docker_compose_files_folder}}/stb/.env"
|
||||||
- name: Pull and start docker project
|
- name: Pull and start docker project
|
||||||
docker_service:
|
docker_service:
|
||||||
project_src: "{{docker_compose_files_folder}}/stb"
|
project_src: "{{docker_compose_files_folder}}/stb"
|
||||||
|
|
@ -20,8 +20,10 @@
|
||||||
args:
|
args:
|
||||||
chdir: "{{docker_compose_files_folder}}/stb/"
|
chdir: "{{docker_compose_files_folder}}/stb/"
|
||||||
register: db_tables_exist
|
register: db_tables_exist
|
||||||
ignore_errors: true
|
retries: 15
|
||||||
changed_when: db_tables_exist.stdout_lines|length == 0
|
delay: 10
|
||||||
|
until: db_tables_exist.rc == 0
|
||||||
|
changed_when: no
|
||||||
- name: Restore STB database
|
- name: Restore STB database
|
||||||
command: docker-compose exec -T db sh -c "mysql -u stb -p{{stb_mysql_password}} stb < /backups/database.dmp"
|
command: docker-compose exec -T db sh -c "mysql -u stb -p{{stb_mysql_password}} stb < /backups/database.dmp"
|
||||||
args:
|
args:
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/deluge:/data
|
- /var/lib/deluge:/data
|
||||||
- ./config/deluge:/config
|
- ./config/deluge:/config
|
||||||
- /media:/media
|
- /data:/media
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
environment:
|
environment:
|
||||||
- VPN_ENABLED=yes
|
- VPN_ENABLED=yes
|
||||||
|
|
@ -60,7 +60,7 @@ services:
|
||||||
- /var/lib/deluge/completed:/downloads
|
- /var/lib/deluge/completed:/downloads
|
||||||
- /var/lib/nzbget/downloads:/nzbget
|
- /var/lib/nzbget/downloads:/nzbget
|
||||||
- ./config/sonarr:/config
|
- ./config/sonarr:/config
|
||||||
- /media/TV:/tv
|
- /data/TV:/tv
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
|
|
@ -84,7 +84,7 @@ services:
|
||||||
- /var/lib/deluge/completed:/downloads
|
- /var/lib/deluge/completed:/downloads
|
||||||
- /var/lib/nzbget/downloads:/nzbget
|
- /var/lib/nzbget/downloads:/nzbget
|
||||||
- ./config/radarr:/config
|
- ./config/radarr:/config
|
||||||
- /media/Movies:/movies
|
- /data/Movies:/movies
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
|
|
@ -107,7 +107,7 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/deluge/completed:/downloads
|
- /var/lib/deluge/completed:/downloads
|
||||||
- ./config/headphones:/config
|
- ./config/headphones:/config
|
||||||
- /media/Music:/music
|
- /data/Music:/music
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue