Added bar assistant
This commit is contained in:
@@ -23,3 +23,5 @@
|
|||||||
- lidarr
|
- lidarr
|
||||||
- webtrees
|
- webtrees
|
||||||
- slskd
|
- slskd
|
||||||
|
- name: barassistant
|
||||||
|
tags: test
|
||||||
|
22
ansible/roles/barassistant/files/nginx.conf
Normal file
22
ansible/roles/barassistant/files/nginx.conf
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
server {
|
||||||
|
listen 3000 default_server;
|
||||||
|
listen [::]:3000 default_server;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
location = /favicon.ico { access_log off; log_not_found off; }
|
||||||
|
location = /robots.txt { access_log off; log_not_found off; }
|
||||||
|
|
||||||
|
client_max_body_size 100M;
|
||||||
|
|
||||||
|
location /bar/ {
|
||||||
|
proxy_pass http://bar-assistant:3000/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /search/ {
|
||||||
|
proxy_pass http://meilisearch:7700/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://salt-rim:8080/;
|
||||||
|
}
|
||||||
|
}
|
36
ansible/roles/barassistant/tasks/main.yml
Normal file
36
ansible/roles/barassistant/tasks/main.yml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
- name: Create service user
|
||||||
|
user:
|
||||||
|
name: "{{ role_name }}"
|
||||||
|
system: true
|
||||||
|
register: service_user
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Create install directory
|
||||||
|
file:
|
||||||
|
path: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_directory_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy docker-compose file to destination
|
||||||
|
template:
|
||||||
|
src: docker-compose.yml
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
|
||||||
|
owner: "{{ docker_user }}"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
validate: docker-compose -f %s config
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Copy nginx.conf to destination
|
||||||
|
copy:
|
||||||
|
src: nginx.conf
|
||||||
|
dest: "{{ install_directory }}/{{ role_name }}/nginx.conf"
|
||||||
|
mode: "{{ docker_compose_file_mask }}"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: Start docker container
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ install_directory }}/{{ role_name }}"
|
||||||
|
pull: true
|
||||||
|
remove_orphans: yes
|
59
ansible/roles/barassistant/templates/docker-compose.yml
Normal file
59
ansible/roles/barassistant/templates/docker-compose.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
version: "{{ docker_compose_version }}"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
meilisearch:
|
||||||
|
image: getmeili/meilisearch:v1.0
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
MEILI_MASTER_KEY: "{{ meili_master_key }}"
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/barassistant/meilisearch:/meili_data"
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
ALLOW_EMPTY_PASSWORD: "True"
|
||||||
|
|
||||||
|
bar-assistant:
|
||||||
|
image: barassistant/server:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- meilisearch
|
||||||
|
- redis
|
||||||
|
environment:
|
||||||
|
APP_URL: "{{ base_url }}/bar"
|
||||||
|
LOG_CHANNEL: stderr
|
||||||
|
MEILISEARCH_KEY: "{{ meili_master_key }}"
|
||||||
|
MEILISEARCH_HOST: http://meilisearch:7700
|
||||||
|
REDIS_HOST: redis
|
||||||
|
ALLOW_REGISTRATION: "True"
|
||||||
|
volumes:
|
||||||
|
- "{{ data_dir }}/barassistant/barassistant:/var/www/cocktails/storage/bar-assisant"
|
||||||
|
|
||||||
|
salt-rim:
|
||||||
|
image: barassistant/salt-rim:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- bar-assistant
|
||||||
|
environment:
|
||||||
|
API_URL: "{{ base_url }}/bar"
|
||||||
|
MEILISEARCH_URL: "{{ base_url }}/search"
|
||||||
|
BAR_NAME: "COCKTAILING"
|
||||||
|
DESCRIPTION: Mike's Drinking Time
|
||||||
|
DEFAULT_LOCALE: "en-US"
|
||||||
|
|
||||||
|
webserver:
|
||||||
|
image: nginx:alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- traefik
|
||||||
|
volumes:
|
||||||
|
- "./nginx.conf:/etc/nginx/conf.d/default.conf"
|
||||||
|
labels:
|
||||||
|
traefik.enable: true
|
||||||
|
traefik.http.routers.barassistant.rule: "Host(`{{ base_url }}`)"
|
14
ansible/roles/barassistant/vars/main.yml
Normal file
14
ansible/roles/barassistant/vars/main.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
meili_master_key: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
66653139646366636164313265353866363563346634333562303133653665336163643830353562
|
||||||
|
3465396463663966613161343533333737316133666333610a326139393538376537373437383233
|
||||||
|
39333664346531643033666130623539666539393163313561616135656331323365636361623063
|
||||||
|
6231313866303462310a363831363561656563646538633637656531306162623836343831623162
|
||||||
|
39383161323239376531663435323332393161653431393836663366623835313764663065383365
|
||||||
|
36363866386636366538393835623563383134383162393866306437623865623338336165363239
|
||||||
|
34306237636231336165376236653135356164653638316465626462366562313535613631633861
|
||||||
|
65643763353836343462336133386631633636626264613664356130306233346263323034646633
|
||||||
|
61303761323165343662383861663234383965303134663664613033653037323432623162363865
|
||||||
|
3362613133326163663764373365353732343030626165616536
|
||||||
|
|
||||||
|
base_url: "cocktails.{{ personal_domain }}"
|
Reference in New Issue
Block a user