From 877ab225663e5576393e8d1249c84da349e2f44a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 25 May 2024 10:23:34 +0100 Subject: [PATCH] fest: zigbee2mqtt, nginx, code-server --- .gitignore | 2 ++ README.md | 39 ++++++++++++++++++-------- docker/code-server/docker-compose.yaml | 10 +++++++ docker/nginx/docker-compose.yaml | 21 ++++++++++++++ docker/zigbee2mqtt/docker-compose.yaml | 19 +++++++++++++ 5 files changed, 80 insertions(+), 11 deletions(-) create mode 100644 docker/nginx/docker-compose.yaml create mode 100644 docker/zigbee2mqtt/docker-compose.yaml diff --git a/.gitignore b/.gitignore index 7e8cea3..b71386a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ docker/lms docker/mosquitto lib/* lib2/* +docker/zigbee2mqtt/volumes/* +docker/nginx/volumes/* diff --git a/README.md b/README.md index 7575966..0a750b3 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ uname -r ``` ## Development / Maintenance Environment -Currently docker code server as an editor. +Currently using docker code server as an editor. But doing this way, **it is important to remember that editing files, git commands and control is done in VS CODE on the Development machine, but the execution of commands must be done over ssh.** @@ -41,7 +41,7 @@ apt install sshfs ## fstab ``` -#etc/fstab +#/etc/fstab #sshfs#media@nas.lan:/home/media /mnt/media@sshfs:nas.lan fuse defaults,_netdev,allow_other,follow_symlinks 0 0 ``` @@ -72,9 +72,17 @@ Check folder docker/promtail for more information - ## Services (Stacks) + +### External volumes + +``` +docker volume create --driver local --opt type=none --opt device=/home/admin/repos --opt o=bind hostfs_home_admin_repos +docker volume create --driver local --opt type=none --opt device=/mnt/media@sshfs:nas.lan --opt o=bind music +docker volume create --driver local --opt type=none --opt device=/ --opt o=bind hostfs +``` + ### Portainer for more information [check](https://git.limbosolutions.com/kb/portainer) @@ -85,9 +93,26 @@ docker rm portainer docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer:/data portainer/portainer-ce ``` +### nginx +[docker-compose](docker/nginx/docker-compose.yaml) + +```bash + openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt +``` + ### code-server [docker-compose](docker/code-server/docker-compose.yaml) +```bash + +mkdir /config/workspace/docker/nginx/volumes +ln -s /mnt/nginx_config /config/workspace/docker/nginx/volumes/nginx_config + +mkdir /config/workspace/docker/zigbee2mqtt/volume +ln -s /mnt/zigbee2mqtt_data /config/workspace/docker/zigbee2mqtt/volumes/zigbee2mqtt_datta + +``` + ### home assistant [docker-compose](docker/has/docker-compose.yaml) @@ -98,14 +123,6 @@ docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /va [docker-compose](docker/mosquitto/docker-compose.yaml) ### duplicati -- Duplicati [docker-compose](docker/duplicati/docker-compose.yaml) -### External volumes - -``` -docker volume create --driver local --opt type=none --opt device=/home/admin/repos --opt o=bind hostfs_home_admin_repos -docker volume create --driver local --opt type=none --opt device=/mnt/media@sshfs:nas.lan --opt o=bind music -docker volume create --driver local --opt type=none --opt device=/ --opt o=bind hostfs -``` diff --git a/docker/code-server/docker-compose.yaml b/docker/code-server/docker-compose.yaml index 31d0a61..e507b53 100644 --- a/docker/code-server/docker-compose.yaml +++ b/docker/code-server/docker-compose.yaml @@ -1,3 +1,4 @@ +# stack name : code-server version: '3' services: code-server: @@ -10,11 +11,14 @@ services: - PASSWORD=${CODESERVER_PASSWORD} - DEFAULT_WORKSPACE=/config/workspace volumes: + - /var/run/docker.sock:/var/run/docker.sock - code-server_config:/config - code-server_root:/root - has_config:/mnt/has_config - nginx_conf:/mnt/nginx_config + - ssl_data:/mnt/ssl_data - mosquitto_config:/mnt/mosquitto_config + - zigbee2mqtt_data:/mnt/zigbee2mqtt_data - hostfs:/mnt/hostfs networks: - code @@ -23,6 +27,9 @@ services: - 8444:8443 restart: unless-stopped volumes: + zigbee2mqtt_data: + name: zigbee2mqtt_data + external: true code-server_config: code-server_root: has_config: @@ -33,6 +40,9 @@ volumes: nginx_conf: name: reverseproxy_nginx-conf.d external: true + ssl_data: + name: reverseproxy_etc_ssl + external: true mosquitto_config: external: true networks: diff --git a/docker/nginx/docker-compose.yaml b/docker/nginx/docker-compose.yaml new file mode 100644 index 0000000..80d34e8 --- /dev/null +++ b/docker/nginx/docker-compose.yaml @@ -0,0 +1,21 @@ +version: '3' +services: + nginx: + image: nginx + volumes: + - nginx-conf.d:/etc/nginx/conf.d + - etc_ssl:/etc/ssl + ports: + - 443:443 + - 80:80 + networks: + - public + - private + command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'" + restart: unless-stopped +volumes: + nginx-conf.d: + etc_ssl: +networks: + public: + private: \ No newline at end of file diff --git a/docker/zigbee2mqtt/docker-compose.yaml b/docker/zigbee2mqtt/docker-compose.yaml new file mode 100644 index 0000000..e284cfb --- /dev/null +++ b/docker/zigbee2mqtt/docker-compose.yaml @@ -0,0 +1,19 @@ +version: '3.8' +services: + zigbee2mqtt: + container_name: zigbee2mqtt + image: koenkk/zigbee2mqtt + restart: unless-stopped + volumes: + - data:/app/data + - /run/udev:/run/udev:ro + ports: + # Frontend port + - 8085:8080 + environment: + - TZ=Europe/Berlin + devices: + # Make sure this matched your adapter location + - /dev/ttyUSB0:/dev/ttyUSB0 +volumes: + data: \ No newline at end of file