From 92434ccb5274997d8541d914eb9700a8e37b09b7 Mon Sep 17 00:00:00 2001 From: msnie Date: Fri, 14 Feb 2025 11:57:17 +0100 Subject: [PATCH] rocket chat --- rocket.chat/.env | 5 +++ rocket.chat/docker-compose.yml | 82 ++++++++++++++++++++++++++++++---- 2 files changed, 79 insertions(+), 8 deletions(-) diff --git a/rocket.chat/.env b/rocket.chat/.env index be9448c..c4dcde5 100644 --- a/rocket.chat/.env +++ b/rocket.chat/.env @@ -1,2 +1,7 @@ DOMAIN_NAME=knast.cc DEFAULT_NETWORK=traefik + +ROCKETCHAT_MONGODB_IMAGE_TAG=bitnami/mongodb:6.0 +ROCKETCHAT_IMAGE_TAG=rocket.chat:6.10 +ROCKETCHAT_URL=https://rocket.knast.cc +ROCKETCHAT_HOSTNAME=rocket.knast.cc \ No newline at end of file diff --git a/rocket.chat/docker-compose.yml b/rocket.chat/docker-compose.yml index c675b9f..2547b63 100644 --- a/rocket.chat/docker-compose.yml +++ b/rocket.chat/docker-compose.yml @@ -27,24 +27,90 @@ version: "3.7" services: + # rocketchat: + # image: registry.rocket.chat/rocketchat/rocket.chat:latest + # restart: unless-stopped + # volumes: + # - /srv/rocket/uploads:/app/uploads + # environment: + # MONGO_URL: "mongodb://mongodb:27017/rocketchat?replicaSet=rs0" + # MONGO_OPLOG_URL: "mongodb://mongodb:27017/local?replicaSet=rs0" + # ROOT_URL: "https://rocket.knast.cc" + # # PORT: 3000 + # labels: + # - "traefik.enable=true" + # - "traefik.http.routers.rocket.entrypoints=websecure" + # - "traefik.http.routers.rocket.rule=Host(`rocket.$DOMAIN_NAME`)" + # - "traefik.http.routers.rocket.tls.certresolver=letsencr" + # - "traefik.http.services.rocket.loadbalancer.server.port=3000" + # depends_on: + # - mongodb + + + rocketchat: - image: registry.rocket.chat/rocketchat/rocket.chat:latest - restart: unless-stopped + image: ${ROCKETCHAT_IMAGE_TAG} volumes: - - /srv/rocket/uploads:/app/uploads + - rocketchat-uploads:/app/uploads environment: - MONGO_URL: "mongodb://mongodb:27017/rocketchat?replicaSet=rs0" - MONGO_OPLOG_URL: "mongodb://mongodb:27017/local?replicaSet=rs0" - ROOT_URL: "https://rocket.knast.cc" - # PORT: 3000 + PORT: 3000 + ROOT_URL: ${ROCKETCHAT_URL} + MONGO_URL: mongodb://mongodb:27017/rocketchat?replicaSet=rs0 + MONGO_OPLOG_URL: mongodb://mongodb:27017/local?replicaSet=rs0 + DEPLOY_METHOD: docker + Accounts_UseDNSDomainCheck: 'false' + networks: + - rocketchat-network + - traefik-network + healthcheck: + test: > + /usr/local/bin/node -e ' + const http = require("http"); + const options = { + host: "localhost", + port: 3000, + path: "/api/info", + timeout: 2000 + }; + const healthCheck = http.request(options, (res) => { + console.log(`HEALTHCHECK STATUS: $${res.statusCode}`); + if (res.statusCode == 200) { + process.exit(0); + } else { + process.exit(1); + } + }); + healthCheck.on("error", function (err) { + console.error("ERROR"); + process.exit(1); + }); + healthCheck.end();' + interval: 10s + timeout: 5s + retries: 3 + start_period: 120s labels: - "traefik.enable=true" - "traefik.http.routers.rocket.entrypoints=websecure" - "traefik.http.routers.rocket.rule=Host(`rocket.$DOMAIN_NAME`)" - "traefik.http.routers.rocket.tls.certresolver=letsencr" - "traefik.http.services.rocket.loadbalancer.server.port=3000" + + # - "traefik.enable=true" + # - "traefik.http.routers.rocketchat.rule=Host(`${ROCKETCHAT_HOSTNAME}`)" + # - "traefik.http.routers.rocketchat.service=rocketchat" + # - "traefik.http.routers.rocketchat.entrypoints=websecure" + # - "traefik.http.services.rocketchat.loadbalancer.server.port=3000" + # - "traefik.http.routers.rocketchat.tls=true" + # - "traefik.http.routers.rocketchat.tls.certresolver=letsencrypt" + # - "traefik.http.services.rocketchat.loadbalancer.passhostheader=true" + # - "traefik.http.routers.rocketchat.middlewares=compresstraefik" + # - "traefik.http.middlewares.compresstraefik.compress=true" + # - "traefik.docker.network=traefik-network" + restart: unless-stopped depends_on: - - mongodb + mongodb: + condition: service_healthy mongodb: image: docker.io/bitnami/mongodb:latest