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
|
Mount last backup
|
||||||
-----------------
|
-----------------
|
||||||
```bash
|
```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
|
Create a full installation of the services inside a VM
|
||||||
------------------------------------------------------
|
------------------------------------------------------
|
||||||
```bash
|
```bash
|
||||||
vagrant up #if your VM already exist it's best to do a vagrant destroy first
|
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'
|
ansible-playbook -i staging playbook.yml -e "backup_folder=${REPO_FOLDER}"
|
||||||
```
|
```
|
||||||
|
|
@ -3,8 +3,10 @@
|
||||||
become: true
|
become: true
|
||||||
gather_facts: no
|
gather_facts: no
|
||||||
vars:
|
vars:
|
||||||
docker_compose_files_folder: /etc/compose
|
docker_compose_files_folder: /etc/images
|
||||||
|
domain_name: banditlair.com
|
||||||
|
sub_domains:
|
||||||
|
- rpg
|
||||||
roles:
|
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
|
Role Variables
|
||||||
--------------
|
--------------
|
||||||
`docker_compose_files_folder` The path where all the compose projects folders will be stored
|
- `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_persistence_folder` The path where all persistent data will be stored, defaults to `/var/lib`
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
base
|
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