forked from Netz39_Admin/netz39-infra-ansible
Compare commits
No commits in common. "cac6cca1057f6a6be654d1673388ef8e82a4fc65" and "master" have entirely different histories.
cac6cca105
...
master
6 changed files with 138 additions and 213 deletions
|
@ -1,13 +0,0 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
|
@ -3,7 +3,6 @@
|
|||
Currently including the following hosts:
|
||||
* tau.netz39.de
|
||||
* pottwal.n39.eu
|
||||
* unicorn.n39.eu
|
||||
|
||||
## Setup
|
||||
```bash
|
||||
|
|
|
@ -76,5 +76,4 @@ all:
|
|||
31356239323439666632333033616366663762646366343839663463633665333863343437343334
|
||||
3665386538393066380a383366346235343531306561643534663035646537666534383536333230
|
||||
34613761363237633865306332653631323366343232353666343165666664343838
|
||||
unicorn.n39.eu:
|
||||
server_admin: "admin+unicorn@netz39.de"
|
||||
|
||||
|
|
3
main.yml
3
main.yml
|
@ -39,6 +39,3 @@
|
|||
|
||||
- name: Pottwal specific setup
|
||||
import_playbook: pottwal.yml
|
||||
|
||||
- name: Specific setup for host unicorn
|
||||
import_playbook: unicorn.yml
|
||||
|
|
320
pottwal.yml
320
pottwal.yml
|
@ -14,7 +14,6 @@
|
|||
openhab_configuration_source: https://github.com/netz39/n39-openhab.git
|
||||
openhab_configuration_version: master
|
||||
|
||||
gitea_host_port: 9091
|
||||
uritools_host_port: 8080
|
||||
entities_validation_svc_host_port: 8082
|
||||
shlink_host_port: 8083
|
||||
|
@ -27,200 +26,155 @@
|
|||
- role: apache
|
||||
|
||||
tasks:
|
||||
- name: Ensure apt-cacher container is running
|
||||
docker_container:
|
||||
name: apt_cacher_ng
|
||||
image: "mrtux/apt-cacher-ng"
|
||||
pull: true
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
detach: yes
|
||||
ports:
|
||||
- 3142:3142
|
||||
|
||||
- name: Check if gitea data dir exists
|
||||
ansible.builtin.stat:
|
||||
path: "/srv/data/gitea"
|
||||
register: gitea_dir
|
||||
- name: Fail if gitea data dir does not exist
|
||||
ansible.builtin.fail:
|
||||
msg: "Gitea data dir is missing, please restore from the backup!"
|
||||
when: not gitea_dir.stat.exists
|
||||
- name: Ensure the mosquitto directories exist
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ mosquitto_data }}/config"
|
||||
- "{{ mosquitto_data }}/data"
|
||||
- "{{ mosquitto_data }}/log"
|
||||
|
||||
# If port 2222 is changed here, it must also be adapted
|
||||
# in the gitea config file (see application volume)!!
|
||||
- name: Setup the docker container for gitea
|
||||
docker_container:
|
||||
name: gitea
|
||||
image: "gitea/gitea:1.15.10"
|
||||
pull: true
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
detach: yes
|
||||
ports:
|
||||
# - 127.0.0.1:{{ gitea_host_port }}:3000
|
||||
- "{{ gitea_host_port }}:3000"
|
||||
- 2222:2222
|
||||
env:
|
||||
APP_NAME="Netz39 Gitea"
|
||||
RUN_MODE="prod"
|
||||
SSH_DOMAIN="gitea.n39.eu"
|
||||
SSH_PORT="2222"
|
||||
SSH_START_SERVER="false"
|
||||
ROOT_URL="https://gitea.n39.eu"
|
||||
DISABLE_REGISTRATION="true"
|
||||
USER_UID=1000
|
||||
USER_GID=1000
|
||||
volumes:
|
||||
- "/srv/data/gitea:/data:rw"
|
||||
- name: Make sure mosquitto config is there
|
||||
template:
|
||||
src: "templates/mosquitto.conf.j2"
|
||||
dest: "{{ mosquitto_data }}/config/mosquitto.conf"
|
||||
notify: restart_mosquitto
|
||||
|
||||
- name: Setup proxy site gitea.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: "gitea.n39.eu"
|
||||
proxy_port: "{{ gitea_host_port }}"
|
||||
- name: Ensure mosquitto is running
|
||||
docker_container:
|
||||
name: mosquitto
|
||||
image: "{{ mosquitto_image }}"
|
||||
pull: true
|
||||
state: started
|
||||
ports:
|
||||
- 1883:1883
|
||||
- 9001:9001
|
||||
volumes:
|
||||
- "{{ mosquitto_data }}/config:/mosquitto/config"
|
||||
- "{{ mosquitto_data }}/data:/mosquitto/data"
|
||||
- "{{ mosquitto_data }}/log:/mosquitto/log"
|
||||
detach: yes
|
||||
keep_volumes: yes
|
||||
restart_policy: unless-stopped
|
||||
|
||||
- name: Ensure apt-cacher container is running
|
||||
docker_container:
|
||||
name: apt_cacher_ng
|
||||
image: "mrtux/apt-cacher-ng"
|
||||
pull: true
|
||||
state: started
|
||||
restart_policy: unless-stopped
|
||||
detach: yes
|
||||
ports:
|
||||
- 3142:3142
|
||||
- name: Ensure the openhab directories exist
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ openhab_data }}/addons"
|
||||
- "{{ openhab_data }}/conf"
|
||||
- "{{ openhab_data }}/userdata"
|
||||
|
||||
- name: Clone or update configuration
|
||||
git:
|
||||
repo: "{{ openhab_configuration_source }}"
|
||||
version: "{{ openhab_configuration_version }}"
|
||||
dest: "{{ openhab_data }}/conf"
|
||||
clone: yes
|
||||
update: yes
|
||||
|
||||
- name: Ensure the mosquitto directories exist
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ mosquitto_data }}/config"
|
||||
- "{{ mosquitto_data }}/data"
|
||||
- "{{ mosquitto_data }}/log"
|
||||
- name: ensure openhab is up and running
|
||||
docker_container:
|
||||
name: openhab
|
||||
image: "{{ openhab_image }}"
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
interactive: yes
|
||||
tty: yes
|
||||
ports:
|
||||
- "{{ openhab_host_port }}:8080"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- "{{ openhab_data }}/addons:/openhab/addons:rw"
|
||||
- "{{ openhab_data }}/conf:/openhab/conf:rw"
|
||||
- "{{ openhab_data }}/userdata:/openhab/userdata:rw"
|
||||
keep_volumes: yes
|
||||
restart_policy: unless-stopped
|
||||
env: EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin"
|
||||
|
||||
- name: Make sure mosquitto config is there
|
||||
template:
|
||||
src: "templates/mosquitto.conf.j2"
|
||||
dest: "{{ mosquitto_data }}/config/mosquitto.conf"
|
||||
notify: restart_mosquitto
|
||||
- name: Setup proxy site openhab.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: openhab.n39.eu
|
||||
proxy_port: "{{ openhab_host_port }}"
|
||||
|
||||
- name: Ensure mosquitto is running
|
||||
docker_container:
|
||||
name: mosquitto
|
||||
image: "{{ mosquitto_image }}"
|
||||
pull: true
|
||||
state: started
|
||||
ports:
|
||||
- 1883:1883
|
||||
- 9001:9001
|
||||
volumes:
|
||||
- "{{ mosquitto_data }}/config:/mosquitto/config"
|
||||
- "{{ mosquitto_data }}/data:/mosquitto/data"
|
||||
- "{{ mosquitto_data }}/log:/mosquitto/log"
|
||||
detach: yes
|
||||
keep_volumes: yes
|
||||
restart_policy: unless-stopped
|
||||
- name: Ensure container for URI tools is running
|
||||
docker_container:
|
||||
name: uritools
|
||||
image: mrtux/clean_uri
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ uritools_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
|
||||
- name: Ensure the openhab directories exist
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ openhab_data }}/addons"
|
||||
- "{{ openhab_data }}/conf"
|
||||
- "{{ openhab_data }}/userdata"
|
||||
- name: Setup proxy site uritools.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: uritools.n39.eu
|
||||
proxy_port: "{{ uritools_host_port }}"
|
||||
|
||||
- name: Clone or update configuration
|
||||
git:
|
||||
repo: "{{ openhab_configuration_source }}"
|
||||
version: "{{ openhab_configuration_version }}"
|
||||
dest: "{{ openhab_data }}/conf"
|
||||
clone: yes
|
||||
update: yes
|
||||
- name: Ensure container for entities validation service is running
|
||||
docker_container:
|
||||
name: entities_validation_svc
|
||||
image: netz39/entities_validation_svc:v1.0.0
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ entities_validation_svc_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
|
||||
- name: ensure openhab is up and running
|
||||
docker_container:
|
||||
name: openhab
|
||||
image: "{{ openhab_image }}"
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
interactive: yes
|
||||
tty: yes
|
||||
ports:
|
||||
- "{{ openhab_host_port }}:8080"
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- "{{ openhab_data }}/addons:/openhab/addons:rw"
|
||||
- "{{ openhab_data }}/conf:/openhab/conf:rw"
|
||||
- "{{ openhab_data }}/userdata:/openhab/userdata:rw"
|
||||
keep_volumes: yes
|
||||
restart_policy: unless-stopped
|
||||
env: EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin"
|
||||
- name: Setup proxy site entities-validation.svc.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: entities-validation.svc.n39.eu
|
||||
proxy_port: "{{ entities_validation_svc_host_port }}"
|
||||
|
||||
- name: Setup proxy site openhab.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: openhab.n39.eu
|
||||
proxy_port: "{{ openhab_host_port }}"
|
||||
- name: Ensure container for shlink is running
|
||||
docker_container:
|
||||
name: shlink
|
||||
image: shlinkio/shlink:2.6.2
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ shlink_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
env:
|
||||
SHORT_DOMAIN_HOST: "{{ shlink_domain_name }}"
|
||||
SHORT_DOMAIN_SCHEMA: https
|
||||
GEOLITE_LICENSE_KEY: "{{ shlink_geolite_license_key }}"
|
||||
|
||||
- name: Ensure container for URI tools is running
|
||||
docker_container:
|
||||
name: uritools
|
||||
image: mrtux/clean_uri
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ uritools_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
|
||||
- name: Setup proxy site uritools.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: uritools.n39.eu
|
||||
proxy_port: "{{ uritools_host_port }}"
|
||||
|
||||
- name: Ensure container for entities validation service is running
|
||||
docker_container:
|
||||
name: entities_validation_svc
|
||||
image: netz39/entities_validation_svc:v1.0.0
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ entities_validation_svc_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
|
||||
- name: Setup proxy site entities-validation.svc.n39.eu
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: entities-validation.svc.n39.eu
|
||||
proxy_port: "{{ entities_validation_svc_host_port }}"
|
||||
|
||||
- name: Ensure container for shlink is running
|
||||
docker_container:
|
||||
name: shlink
|
||||
image: shlinkio/shlink:2.6.2
|
||||
pull: true
|
||||
state: started
|
||||
detach: yes
|
||||
ports:
|
||||
- "{{ shlink_host_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
env:
|
||||
SHORT_DOMAIN_HOST: "{{ shlink_domain_name }}"
|
||||
SHORT_DOMAIN_SCHEMA: https
|
||||
GEOLITE_LICENSE_KEY: "{{ shlink_geolite_license_key }}"
|
||||
|
||||
- name: Setup proxy site {{ shlink_domain_name }}
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: "{{ shlink_domain_name }}"
|
||||
proxy_port: "{{ shlink_host_port }}"
|
||||
- name: Setup proxy site {{ shlink_domain_name }}
|
||||
include_role:
|
||||
name: setup-http-site-proxy
|
||||
vars:
|
||||
site_name: "{{ shlink_domain_name }}"
|
||||
proxy_port: "{{ shlink_host_port }}"
|
||||
|
||||
handlers:
|
||||
- name: restart mosquitto
|
||||
docker_container:
|
||||
name: mosquitto
|
||||
state: started
|
||||
restart: yes
|
||||
- name: restart mosquitto
|
||||
docker_container:
|
||||
name: mosquitto
|
||||
state: started
|
||||
restart: yes
|
||||
|
|
11
unicorn.yml
11
unicorn.yml
|
@ -1,11 +0,0 @@
|
|||
---
|
||||
- hosts: unicorn.n39.eu
|
||||
become: true
|
||||
|
||||
vars:
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
|
||||
roles:
|
||||
- role: docker_setup
|
||||
vars:
|
||||
docker_data_root: "/srv/docker"
|
Loading…
Reference in a new issue