mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 05:36:59 +01:00
Add nginx-proxy and searx roles
This commit is contained in:
parent
7d8e261f6d
commit
2bf0228e9b
15 changed files with 102 additions and 11 deletions
|
|
@ -5,12 +5,12 @@ Some tips on how to use this repo.
|
|||
Mount last backup
|
||||
-----------------
|
||||
```bash
|
||||
borg mount --info --foreground $REPO_FOLDER $MOUNT_POINT --last 1
|
||||
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'
|
||||
```
|
||||
vagrant up #if your VM already exists it's best to do a vagrant destroy first
|
||||
ansible-playbook -i staging playbook.yml -e "backup_folder=${REPO_FOLDER}"
|
||||
```
|
||||
|
|
|
|||
10
playbook.yml
10
playbook.yml
|
|
@ -3,8 +3,10 @@
|
|||
become: true
|
||||
gather_facts: no
|
||||
vars:
|
||||
docker_compose_files_folder: /etc/compose
|
||||
docker_compose_files_folder: /etc/images
|
||||
domain_name: banditlair.com
|
||||
sub_domains:
|
||||
- rpg
|
||||
roles:
|
||||
- role: base
|
||||
- role: base-docker
|
||||
- role: murmur-docker
|
||||
- role: murmur-docker
|
||||
- role: searx-docker
|
||||
|
|
@ -4,8 +4,8 @@ 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`
|
||||
- `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
|
||||
------------
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
base
|
||||
====
|
||||
Installs Ansible prerequisites if needed and than installs basic utility packages
|
||||
Installs Ansible prerequisites if needed and then installs basic utility packages
|
||||
|
|
|
|||
1
roles/nginx-proxy-docker/files/proxy/.env
Normal file
1
roles/nginx-proxy-docker/files/proxy/.env
Normal file
|
|
@ -0,0 +1 @@
|
|||
COMPOSE_PROJECT_NAME=proxy
|
||||
33
roles/nginx-proxy-docker/files/proxy/docker-compose.yml
Normal file
33
roles/nginx-proxy-docker/files/proxy/docker-compose.yml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
version: '2.2'
|
||||
|
||||
networks:
|
||||
proxy-tier:
|
||||
external:
|
||||
name: nginx-proxy
|
||||
|
||||
services:
|
||||
nginx:
|
||||
image: jwilder/nginx-proxy
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d
|
||||
- ./nginx/vhost.d:/etc/nginx/vhost.d
|
||||
- ./nginx/html:/usr/share/nginx/html
|
||||
- ./nginx/certs:/etc/nginx/certs:ro
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
networks:
|
||||
- proxy-tier
|
||||
restart: always
|
||||
|
||||
letsencrypt-companion:
|
||||
image: jrcs/letsencrypt-nginx-proxy-companion
|
||||
# environment:
|
||||
# - DEBUG=true
|
||||
volumes_from:
|
||||
- nginx
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./nginx/certs:/etc/nginx/certs:rw
|
||||
restart: always
|
||||
|
|
@ -0,0 +1 @@
|
|||
client_max_body_size 10G;
|
||||
2
roles/nginx-proxy-docker/meta/main.yml
Normal file
2
roles/nginx-proxy-docker/meta/main.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- base-docker
|
||||
10
roles/nginx-proxy-docker/tasks/main.yml
Normal file
10
roles/nginx-proxy-docker/tasks/main.yml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
- name: Copy proxy config
|
||||
copy: src=proxy dest={{docker_compose_files_folder}}
|
||||
- name: Copy certificates
|
||||
copy: src={{backup_folder}}/{{docker_compose_files_folder}}/proxy/nginx/certs dest={{docker_compose_files_folder}}/proxy/nginx
|
||||
- name: Create nginx-proxy docker network
|
||||
docker_network:
|
||||
name: nginx-proxy
|
||||
- name: Start proxy docker project
|
||||
docker_service: project_src={{docker_compose_files_folder}}/proxy state=present
|
||||
7
roles/searx-docker/files/searx/.env
Normal file
7
roles/searx-docker/files/searx/.env
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
COMPOSE_PROJECT_NAME=searx
|
||||
|
||||
#Domains
|
||||
DOMAIN=banditlair.com
|
||||
|
||||
#Letsencrypt
|
||||
LETSENCRYPT_EMAIL=letsencrypt.account@banditlair.com
|
||||
21
roles/searx-docker/files/searx/docker-compose.yml
Normal file
21
roles/searx-docker/files/searx/docker-compose.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
version: '2.2'
|
||||
|
||||
networks:
|
||||
proxy-tier:
|
||||
external:
|
||||
name: nginx-proxy
|
||||
|
||||
services:
|
||||
searx:
|
||||
image: wonderfall/searx
|
||||
environment:
|
||||
- BASE_URL="https://${DOMAIN}"
|
||||
- IMAGE_PROXY=True
|
||||
- VIRTUAL_HOST=${DOMAIN}
|
||||
- VIRTUAL_NETWORK=nginx-proxy
|
||||
- VIRTUAL_PORT=8888
|
||||
- LETSENCRYPT_HOST=${DOMAIN},mail.banditlair.com,gitlab.banditlair.com,grafana.banditlair.com,cloud.banditlair.com,office.banditlair.com,plex.banditlair.com,sonar.banditlair.com,deluge.banditlair.com,rpg.banditlair.com,matrix.banditlair.com,emby.banditlair.com
|
||||
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
||||
networks:
|
||||
- proxy-tier
|
||||
restart: always
|
||||
2
roles/searx-docker/meta/main.yml
Normal file
2
roles/searx-docker/meta/main.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- nginx-proxy-docker
|
||||
5
roles/searx-docker/tasks/main.yml
Normal file
5
roles/searx-docker/tasks/main.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Copy searx config
|
||||
copy: src=searx dest={{docker_compose_files_folder}}
|
||||
- name: Start searx docker project
|
||||
docker_service: project_src={{docker_compose_files_folder}}/searx state=present
|
||||
2
roles/searx-docker/tests/inventory
Normal file
2
roles/searx-docker/tests/inventory
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
localhost
|
||||
|
||||
5
roles/searx-docker/tests/test.yml
Normal file
5
roles/searx-docker/tests/test.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- searx-docker
|
||||
Loading…
Add table
Add a link
Reference in a new issue