diff --git a/docker-compose-files/Keep/README.md b/docker-compose-files/SIngle-Node/Keep/README.md similarity index 100% rename from docker-compose-files/Keep/README.md rename to docker-compose-files/SIngle-Node/Keep/README.md diff --git a/docker-compose-files/Keep/docker-compose.yml b/docker-compose-files/SIngle-Node/Keep/docker-compose.yml similarity index 100% rename from docker-compose-files/Keep/docker-compose.yml rename to docker-compose-files/SIngle-Node/Keep/docker-compose.yml diff --git a/docker-compose-files/Keep/start.sh b/docker-compose-files/SIngle-Node/Keep/start.sh similarity index 100% rename from docker-compose-files/Keep/start.sh rename to docker-compose-files/SIngle-Node/Keep/start.sh diff --git a/docker-compose-files/Nginx/conf.d/default_server.conf b/docker-compose-files/SIngle-Node/Nginx/conf.d/default_server.conf similarity index 100% rename from docker-compose-files/Nginx/conf.d/default_server.conf rename to docker-compose-files/SIngle-Node/Nginx/conf.d/default_server.conf diff --git a/docker-compose-files/Nginx/conf.d/domain.conf b/docker-compose-files/SIngle-Node/Nginx/conf.d/domain.conf similarity index 100% rename from docker-compose-files/Nginx/conf.d/domain.conf rename to docker-compose-files/SIngle-Node/Nginx/conf.d/domain.conf diff --git a/docker-compose-files/Nginx/docker-compose.yml b/docker-compose-files/SIngle-Node/Nginx/docker-compose.yml similarity index 100% rename from docker-compose-files/Nginx/docker-compose.yml rename to docker-compose-files/SIngle-Node/Nginx/docker-compose.yml diff --git a/docker-compose-files/Nginx/nginx.conf b/docker-compose-files/SIngle-Node/Nginx/nginx.conf similarity index 100% rename from docker-compose-files/Nginx/nginx.conf rename to docker-compose-files/SIngle-Node/Nginx/nginx.conf diff --git a/docker-compose-files/Stirling-PDF/README.md b/docker-compose-files/SIngle-Node/Stirling-PDF/README.md similarity index 100% rename from docker-compose-files/Stirling-PDF/README.md rename to docker-compose-files/SIngle-Node/Stirling-PDF/README.md diff --git a/docker-compose-files/Stirling-PDF/docker-compose.yml b/docker-compose-files/SIngle-Node/Stirling-PDF/docker-compose.yml similarity index 100% rename from docker-compose-files/Stirling-PDF/docker-compose.yml rename to docker-compose-files/SIngle-Node/Stirling-PDF/docker-compose.yml diff --git a/docker-compose-files/kong/POSTGRES_PASSWORD b/docker-compose-files/SIngle-Node/kong/POSTGRES_PASSWORD similarity index 100% rename from docker-compose-files/kong/POSTGRES_PASSWORD rename to docker-compose-files/SIngle-Node/kong/POSTGRES_PASSWORD diff --git a/docker-compose-files/kong/README.md b/docker-compose-files/SIngle-Node/kong/README.md similarity index 100% rename from docker-compose-files/kong/README.md rename to docker-compose-files/SIngle-Node/kong/README.md diff --git a/docker-compose-files/kong/config/kong.yaml b/docker-compose-files/SIngle-Node/kong/config/kong.yaml similarity index 100% rename from docker-compose-files/kong/config/kong.yaml rename to docker-compose-files/SIngle-Node/kong/config/kong.yaml diff --git a/docker-compose-files/kong/docker-compose.yml b/docker-compose-files/SIngle-Node/kong/docker-compose.yml similarity index 100% rename from docker-compose-files/kong/docker-compose.yml rename to docker-compose-files/SIngle-Node/kong/docker-compose.yml diff --git a/docker-compose-files/safeline/compose.yaml b/docker-compose-files/safeline/compose.yaml new file mode 100644 index 0000000..952b07a --- /dev/null +++ b/docker-compose-files/safeline/compose.yaml @@ -0,0 +1,145 @@ +# https://github.com/chaitin/safeline/blob/main/compose.yaml + +networks: + safeline-ce: + name: safeline-ce + driver: bridge + ipam: + driver: default + config: + - gateway: ${SUBNET_PREFIX:?SUBNET_PREFIX required}.1 + subnet: ${SUBNET_PREFIX}.0/24 + driver_opts: + com.docker.network.bridge.name: safeline-ce + +services: + postgres: + container_name: safeline-pg + restart: always + image: ${IMAGE_PREFIX}/safeline-postgres${ARCH_SUFFIX}:15.2 + volumes: + - ${SAFELINE_DIR}/resources/postgres/data:/var/lib/postgresql/data + - /etc/localtime:/etc/localtime:ro + environment: + - POSTGRES_USER=safeline-ce + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?postgres password required} + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.2 + command: [postgres, -c, max_connections=600] + healthcheck: + test: pg_isready -U safeline-ce -d safeline-ce + mgt: + container_name: safeline-mgt + restart: always + image: ${IMAGE_PREFIX}/safeline-mgt${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG:?image tag required} + volumes: + - /etc/localtime:/etc/localtime:ro + - ${SAFELINE_DIR}/resources/mgt:/app/data + - ${SAFELINE_DIR}/logs/nginx:/app/log/nginx:z + - ${SAFELINE_DIR}/resources/sock:/app/sock + - /var/run:/app/run + ports: + - ${MGT_PORT:-9443}:1443 + healthcheck: + test: curl -k -f https://localhost:1443/api/open/health + environment: + - MGT_PG=postgres://safeline-ce:${POSTGRES_PASSWORD}@safeline-pg/safeline-ce?sslmode=disable + depends_on: + - postgres + - fvm + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "5" + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.4 + detect: + container_name: safeline-detector + restart: always + image: ${IMAGE_PREFIX}/safeline-detector${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG} + volumes: + - ${SAFELINE_DIR}/resources/detector:/resources/detector + - ${SAFELINE_DIR}/logs/detector:/logs/detector + - /etc/localtime:/etc/localtime:ro + environment: + - LOG_DIR=/logs/detector + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.5 + tengine: + container_name: safeline-tengine + restart: always + image: ${IMAGE_PREFIX}/safeline-tengine${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG} + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/resolv.conf:/etc/resolv.conf:ro + - ${SAFELINE_DIR}/resources/nginx:/etc/nginx + - ${SAFELINE_DIR}/resources/detector:/resources/detector + - ${SAFELINE_DIR}/resources/chaos:/resources/chaos + - ${SAFELINE_DIR}/logs/nginx:/var/log/nginx:z + - ${SAFELINE_DIR}/resources/cache:/usr/local/nginx/cache + - ${SAFELINE_DIR}/resources/sock:/app/sock + environment: + - TCD_MGT_API=https://${SUBNET_PREFIX}.4:1443/api/open/publish/server + - TCD_SNSERVER=${SUBNET_PREFIX}.5:8000 + # deprecated + - SNSERVER_ADDR=${SUBNET_PREFIX}.5:8000 + - CHAOS_ADDR=${SUBNET_PREFIX}.10 + ulimits: + nofile: 131072 + network_mode: host + luigi: + container_name: safeline-luigi + restart: always + image: ${IMAGE_PREFIX}/safeline-luigi${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG} + environment: + - MGT_IP=${SUBNET_PREFIX}.4 + - LUIGI_PG=postgres://safeline-ce:${POSTGRES_PASSWORD}@safeline-pg/safeline-ce?sslmode=disable + volumes: + - /etc/localtime:/etc/localtime:ro + - ${SAFELINE_DIR}/resources/luigi:/app/data + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "5" + depends_on: + - detect + - mgt + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.7 + fvm: + container_name: safeline-fvm + restart: always + image: ${IMAGE_PREFIX}/safeline-fvm${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG} + volumes: + - /etc/localtime:/etc/localtime:ro + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "5" + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.8 + chaos: + container_name: safeline-chaos + restart: always + image: ${IMAGE_PREFIX}/safeline-chaos${REGION}${ARCH_SUFFIX}${RELEASE}:${IMAGE_TAG} + logging: + driver: "json-file" + options: + max-size: "100m" + max-file: "10" + environment: + - DB_ADDR=postgres://safeline-ce:${POSTGRES_PASSWORD}@safeline-pg/safeline-ce?sslmode=disable + volumes: + - ${SAFELINE_DIR}/resources/sock:/app/sock + - ${SAFELINE_DIR}/resources/chaos:/app/chaos + networks: + safeline-ce: + ipv4_address: ${SUBNET_PREFIX}.10 \ No newline at end of file