diff --git a/data_handling/docker-compose.yml b/docker-compose.data-handling.yml similarity index 95% rename from data_handling/docker-compose.yml rename to docker-compose.data-handling.yml index d51e97f..9ed9eef 100644 --- a/data_handling/docker-compose.yml +++ b/docker-compose.data-handling.yml @@ -2,8 +2,9 @@ version: '3' services: + gitea: - image: gitea/gitea:1.9.3 + image: gitea/gitea:1.12 container_name: gitea networks: - backend @@ -74,7 +75,7 @@ services: ports: - 8081:8081 volumes: - - ./telegraf.conf:/etc/telegraf/telegraf.conf + - ./data-handling/telegraf.conf:/etc/telegraf/telegraf.conf - /var/run/docker.sock:/var/run/docker.sock diff --git a/home_service/docker_compose.yml b/docker-compose.home.yml similarity index 73% rename from home_service/docker_compose.yml rename to docker-compose.home.yml index 3b52b56..35ffbab 100644 --- a/home_service/docker_compose.yml +++ b/docker-compose.home.yml @@ -27,6 +27,20 @@ services: - "traefik.http.routers.node-red-secure.tls=true" - "traefik.enable=true" + zigbee2mqtt: + container_name: zigbee2mqtt + networks: + - backend + image: koenkk/zigbee2mqtt:1.13.0 + volumes: + - ${DIR}/zigbee2matt:/app/data + - ${DIR}/zigbee2mqtt_node_log:/root/.npm + devices: + - /dev/ttyACM1:/dev/ttyACM0 + environment: + - UID=1000 + - GID=1000 + - TZ=Europe/Stockholm networks: frontend: diff --git a/docker-compose.web.yml b/docker-compose.web.yml new file mode 100644 index 0000000..272a09c --- /dev/null +++ b/docker-compose.web.yml @@ -0,0 +1,46 @@ +version: '3' + + +services: + milvert-nginx: + container_name: milvert-nginx + image: nginx:latest + restart: always + networks: + - backend + labels: + - "traefik.enable=true" + + #HTTPS + - "traefik.http.routers.milvert-secure.entrypoints=web-secure" + - "traefik.http.routers.milvert-secure.rule=Host(`www.${DOMAIN}`, `${DOMAIN}`)" + - "traefik.http.routers.milvert-secure.priority=1" + # SSL + - "traefik.http.routers.milvert-secure.tls.certresolver=milvert" + - "traefik.http.routers.milvert-secure.tls=true" + volumes: + - "./milvert.com/conf:/etc/nginx/conf.d" + - "./milvert.com/html:/html" + + whoami: + # A container that exposes an API to show its IP address + container_name: whoami + image: containous/whoami + networks: + - backend + - frontend + ports: + # The HTTP port + - "81:80" + labels: + - "traefik.enable=true" + - "traefik.http.routers.whoami-secure.entrypoints=web-secure" + - "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)" + - "traefik.http.routers.whoami-secure.tls.certresolver=milvert" + - "traefik.http.routers.whoami-secure.tls=true" +networks: + frontend: + external: true + backend: + external: false + diff --git a/docker-compose.yml b/docker-compose.yml index 7c9d7e4..72b3282 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,81 +21,6 @@ services: - backend restart: unless-stopped - milvert-nginx: - container_name: milvert-nginx - image: nginx:latest - restart: always - networks: - - backend - labels: - - "traefik.enable=true" - - #HTTPS - - "traefik.http.routers.milvert-secure.entrypoints=web-secure" - - "traefik.http.routers.milvert-secure.rule=Host(`www.${DOMAIN}`, `${DOMAIN}`)" - - "traefik.http.routers.milvert-secure.priority=1" - # SSL - - "traefik.http.routers.milvert-secure.tls.certresolver=milvert" - - "traefik.http.routers.milvert-secure.tls=true" - volumes: - - "${DIR}/milvert-nginx/conf:/etc/nginx/conf.d" - - "${DIR}/milvert-nginx/html:/html" - - - - zigbee2mqtt: - container_name: zigbee2mqtt - networks: - - backend - image: koenkk/zigbee2mqtt:1.13.0 - volumes: - - ${DIR}/zigbee2matt:/app/data - - ${DIR}/zigbee2mqtt_node_log:/root/.npm - devices: - - /dev/ttyACM1:/dev/ttyACM0 - environment: - - UID=1000 - - GID=1000 - - TZ=Europe/Stockholm - - gitea: - image: gitea/gitea:1.12 - container_name: gitea - networks: - - backend - restart: always - environment: - - USER_UID=1001 - - USER_GID=1005 - volumes: - #- /var/lib/gitea:/data - - ${DIR}/gitea:/data - - /home/git/.ssh:/data/git/.ssh - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - ports: - - "127.0.0.1:2222:22" - - "3000:3000" - labels: - - "traefik.enable=true" - - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" - - "traefik.http.routers.gitea-secure.entrypoints=web-secure" - - "traefik.http.routers.gitea-secure.rule=Host(`gitea.${DOMAIN}`)" - - "traefik.http.routers.gitea-secure.tls.certresolver=milvert" - - "traefik.http.routers.gitea-secure.tls=true" - - whoami: - # A container that exposes an API to show its IP address - container_name: whoami - image: containous/whoami - networks: - - backend - labels: - - "traefik.enable=true" - - "traefik.http.routers.whoami-secure.entrypoints=web-secure" - - "traefik.http.routers.whoami-secure.rule=Host(`whoami.${DOMAIN}`)" - - "traefik.http.routers.whoami-secure.tls.certresolver=milvert" - - "traefik.http.routers.whoami-secure.tls=true" mqtt: image: eclipse-mosquitto:1.6.10 @@ -112,7 +37,7 @@ services: - PGID=1000 - TZ=Europe/Stockholm volumes: - - ./mosquitto/mosquitto.conf:/mqtt/mosquitto.conf + - ./main/mosquitto/mosquitto.conf:/mqtt/mosquitto.conf - ${DIR}/mqtt/data:/mqtt/data - ${DIR}/mqtt/log:/mqtt/log labels: @@ -137,11 +62,11 @@ services: volumes: # So that Traefik can listen to the Docker events - /var/run/docker.sock:/var/run/docker.sock - - ./traefik.yml:/etc/traefik/traefik.yml - - ./static_config.yml:/etc/traefik/static_config.yml + - ./main/traefik.yml:/etc/traefik/traefik.yml + - ./main/static_config.yml:/etc/traefik/static_config.yml # - "./log.json:/etc/traefik/log.json" #- ./acme.json:/acme.json - - ./letsencrypt:/letsencrypt + - ./main/letsencrypt:/letsencrypt dns: - 8.8.8.8 diff --git a/mosquitto/mosquitto.conf b/main/mosquitto/mosquitto.conf similarity index 100% rename from mosquitto/mosquitto.conf rename to main/mosquitto/mosquitto.conf diff --git a/static_config.yml b/main/static_config.yml similarity index 100% rename from static_config.yml rename to main/static_config.yml diff --git a/traefik.yml b/main/traefik.yml similarity index 100% rename from traefik.yml rename to main/traefik.yml