Add nginx-proxy and searx roles

This commit is contained in:
Paul-Henri Froidmont 2017-12-20 08:25:45 +01:00
parent 7d8e261f6d
commit 2bf0228e9b
15 changed files with 102 additions and 11 deletions

View file

@ -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}"
``` ```

View file

@ -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

View file

@ -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
------------ ------------

View file

@ -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

View file

@ -0,0 +1 @@
COMPOSE_PROJECT_NAME=proxy

View 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

View file

@ -0,0 +1 @@
client_max_body_size 10G;

View file

@ -0,0 +1,2 @@
dependencies:
- base-docker

View 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

View file

@ -0,0 +1,7 @@
COMPOSE_PROJECT_NAME=searx
#Domains
DOMAIN=banditlair.com
#Letsencrypt
LETSENCRYPT_EMAIL=letsencrypt.account@banditlair.com

View 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

View file

@ -0,0 +1,2 @@
dependencies:
- nginx-proxy-docker

View 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

View file

@ -0,0 +1,2 @@
localhost

View file

@ -0,0 +1,5 @@
---
- hosts: localhost
remote_user: root
roles:
- searx-docker