mirror of
https://github.com/schnidrig/openhab-ansible
synced 2026-01-12 00:48:46 +01:00
docker stuff
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
|
||||||
|
Note: gave up on this since it repeatedly failed to read from the serial ports after a few hours of operation.
|
||||||
|
|
||||||
# openhab-ansible
|
# openhab-ansible
|
||||||
Ansible playbooks to setup openhab on a raspberry pi.
|
Ansible playbooks to setup openhab on a raspberry pi.
|
||||||
|
|
||||||
|
|||||||
67
roles/openhab/tasks/docker/openhab.docker.yml
Normal file
67
roles/openhab/tasks/docker/openhab.docker.yml
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
|
||||||
|
- name: create directories for openhab
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
owner: pi
|
||||||
|
group: pi
|
||||||
|
mode: '0755'
|
||||||
|
state: directory
|
||||||
|
loop:
|
||||||
|
- "{{ openhab_root_dir }}"
|
||||||
|
- "{{ openhab_root_dir }}/conf"
|
||||||
|
- "{{ openhab_root_dir }}/userdata"
|
||||||
|
- "{{ openhab_root_dir }}/addons"
|
||||||
|
- "{{ openhab_root_dir }}/restore"
|
||||||
|
|
||||||
|
|
||||||
|
# https://hub.docker.com/r/openhab/openhab/
|
||||||
|
- name: Create openhab container
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "openhab"
|
||||||
|
image: "openhab/openhab:{{ openhab_version }}"
|
||||||
|
state: "started"
|
||||||
|
container_default_behavior: compatibility
|
||||||
|
command: "bash -c 'if [ -e /restore/restore.zip ]; then echo y |/openhab/runtime/bin/restore /restore/restore.zip ; fi; exec tini -s ./start.sh server'"
|
||||||
|
#detach: "yes"
|
||||||
|
#interactive: "yes"
|
||||||
|
#tty: "yes"
|
||||||
|
#networks:
|
||||||
|
# - name: "host"
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
- 8443:8443
|
||||||
|
env:
|
||||||
|
"EXTRA_JAVA_OPTS": "-Duser.timezone={{ timezone }}"
|
||||||
|
"USER_ID": "{{ openhab_userid }}"
|
||||||
|
"GROUP_ID": "{{ openhab_groupid }}"
|
||||||
|
restart_policy: "unless-stopped"
|
||||||
|
privileged: yes
|
||||||
|
# devices:
|
||||||
|
# - "/dev/ttyUSB0:/dev/ttyUSB0"
|
||||||
|
# - "/dev/ttyAMA0:/dev/ttyAMA0"
|
||||||
|
mounts:
|
||||||
|
- target: "/openhab/conf"
|
||||||
|
source: "{{ openhab_root_dir }}/conf"
|
||||||
|
type: bind
|
||||||
|
- target: "/openhab/userdata"
|
||||||
|
source: "{{ openhab_root_dir }}/userdata"
|
||||||
|
type: bind
|
||||||
|
- target: "/openhab/addons"
|
||||||
|
source: "{{ openhab_root_dir }}/addons"
|
||||||
|
type: bind
|
||||||
|
- target: "/restore"
|
||||||
|
source: "{{ openhab_root_dir }}/restore"
|
||||||
|
type: bind
|
||||||
|
- target: /etc/localtime
|
||||||
|
source: /etc/localtime
|
||||||
|
type: bind
|
||||||
|
read_only: yes
|
||||||
|
- target: /etc/timezone
|
||||||
|
source: /etc/timezone
|
||||||
|
type: bind
|
||||||
|
read_only: yes
|
||||||
|
- target: /dev
|
||||||
|
source: /dev
|
||||||
|
type: bind
|
||||||
|
|
||||||
15
roles/openhab/tasks/docker/rollershutters.docker.yml
Normal file
15
roles/openhab/tasks/docker/rollershutters.docker.yml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
- name: Download Rollershutters dependencies
|
||||||
|
get_url:
|
||||||
|
url: "{{ item.src }}"
|
||||||
|
dest: "/home/pi/openhab/addons/{{ item.name }}"
|
||||||
|
mode: "0644"
|
||||||
|
loop:
|
||||||
|
# https://mvnrepository.com/artifact/org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz
|
||||||
|
- name: "org.apache.servicemix.bundles.quartz-2.3.2_1.jar"
|
||||||
|
src: "https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.quartz/2.3.2_1/org.apache.servicemix.bundles.quartz-2.3.2_1.jar"
|
||||||
|
# seems to be included in openhab already
|
||||||
|
#- name: "snakeyaml-1.27.jar"
|
||||||
|
# src: "https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.27/snakeyaml-1.27.jar"
|
||||||
|
tags:
|
||||||
|
- javalibs
|
||||||
17
roles/openhab/tasks/docker/scripts.yml
Normal file
17
roles/openhab/tasks/docker/scripts.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: create scripts dir
|
||||||
|
file:
|
||||||
|
dest: "/home/pi/bin"
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: create scripts
|
||||||
|
template:
|
||||||
|
src: "{{ item }}.sh"
|
||||||
|
dest: "/home/pi/bin/{{ item }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "u=rwx,g=xr,o=rx"
|
||||||
|
loop:
|
||||||
|
- client
|
||||||
|
- backup
|
||||||
8
roles/openhab/templates/docker/backup.docker.sh
Normal file
8
roles/openhab/templates/docker/backup.docker.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
BACKUP_DIR="/home/pi/openhab/userdata/backup"
|
||||||
|
BACKUP_SERVER_URL="christian@ds3018:/volume1/backup/openhab"
|
||||||
|
|
||||||
|
sudo docker exec -ti openhab /openhab/runtime/bin/backup
|
||||||
|
|
||||||
|
BACKUP_FILE=$(/bin/ls -tr ${BACKUP_DIR}/ |tail -1)
|
||||||
|
scp ${BACKUP_DIR}/${BACKUP_FILE} ${BACKUP_SERVER_URL}/
|
||||||
1
roles/openhab/templates/docker/client.sh
Normal file
1
roles/openhab/templates/docker/client.sh
Normal file
@@ -0,0 +1 @@
|
|||||||
|
sudo docker exec -it openhab /openhab/runtime/bin/client
|
||||||
Reference in New Issue
Block a user