From 92bb37687b9cb0b389e5c4366bf11e20e97c5551 Mon Sep 17 00:00:00 2001 From: kev Date: Wed, 23 Sep 2020 15:54:24 +0800 Subject: [PATCH] add jenkins/inbound-agent --- README.md | 4 ++- jenkins/agent/README.md | 22 ++++++++++++++++ jenkins/agent/docker-compose.yml | 16 ++++++++++++ rocketchat/README.md | 11 ++++++++ rocketchat/docker-compose.yml | 43 ++++++++++++++++++++------------ rocketchat/nginx.conf | 29 +++++++++++++++++++++ 6 files changed, 108 insertions(+), 17 deletions(-) create mode 100644 jenkins/agent/README.md create mode 100644 jenkins/agent/docker-compose.yml create mode 100644 rocketchat/nginx.conf diff --git a/README.md b/README.md index d739a2a..a0c933e 100644 --- a/README.md +++ b/README.md @@ -317,7 +317,9 @@ A collection of delicious docker recipes. - [ ] python - [x] gogs/gogs :cn: - [x] haproxy -- [x] jenkins/jenkins +- [x] jenkins + - [x] inbound-agent + - [x] jenkins - [x] jmxtrans/jmxtrans - [x] wurstmeister/kafka - [x] mailgun/kafka-pixy diff --git a/jenkins/agent/README.md b/jenkins/agent/README.md new file mode 100644 index 0000000..7cc2b65 --- /dev/null +++ b/jenkins/agent/README.md @@ -0,0 +1,22 @@ +jenkins/inbound-agent +===================== + +## how to + +- Enable TCP port 50000 for inbound agents: http://jenkins:8080/configureSecurity/ +- Create New Node: http://jenkins:8080/computer/ +- Get Jenkins Secret: http://jenkins:8080/script/ + +```groovy +for (aSlave in hudson.model.Hudson.instance.slaves){ + println aSlave.name + "," + aSlave.getComputer().getJnlpMac() +} +``` + +## up and running + +```bash +$ mkdir -p data +$ chown 1000:1000 data +$ docker-compose up -d +``` diff --git a/jenkins/agent/docker-compose.yml b/jenkins/agent/docker-compose.yml new file mode 100644 index 0000000..8abed3a --- /dev/null +++ b/jenkins/agent/docker-compose.yml @@ -0,0 +1,16 @@ +version: "3.8" + +services: + + inbound-agent: + image: jenkins/inbound-agent + init: true + container_name: docker-inbound-agent + volumes: + - ./data:/home/jenkins + environment: + - JENKINS_URL=http://jenkins.easypi.pro:8080 + - JENKINS_SECRET=*************************** + - JENKINS_AGENT_NAME=docker-inbound-agent + - JENKINS_AGENT_WORKDIR=/home/jenkins/agent + restart: unless-stopped diff --git a/rocketchat/README.md b/rocketchat/README.md index 05260d5..b28dfbf 100644 --- a/rocketchat/README.md +++ b/rocketchat/README.md @@ -5,4 +5,15 @@ Rocket.Chat [Rocket.Chat][1] is a Web Chat Server, developed in JavaScript, using the Meteor fullstack framework. +## up and running + +```bash +$ docker-compose up -d mongo +$ docker-compose exec mongo mongo +>>> rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'localhost:27017'}]}) +>>> exit +$ docker-compose up -d rocketchat +$ curl http://127.0.0.1:3000 +``` + [1]: https://rocket.chat/ diff --git a/rocketchat/docker-compose.yml b/rocketchat/docker-compose.yml index 8b75dbf..d25ef2d 100644 --- a/rocketchat/docker-compose.yml +++ b/rocketchat/docker-compose.yml @@ -1,17 +1,28 @@ -rocketchat: - image: rocket.chat - ports: - - "3000:3000" - links: - - mongo:db - environment: - - ROOT_URL=http://chat.easypi.pro - restart: always +# +# https://github.com/RocketChat/Rocket.Chat/blob/develop/docker-compose.yml +# -mongo: - image: mongo - ports: - - "27017:27017" - volumes: - - ./data:/data/db - restart: always +version: "3.8" + +services: + + rocketchat: + image: rocketchat/rocket.chat:3.6.1 + ports: + - "3000:3000" + environment: + - ROOT_URL=https://chat.easypi.pro + - MONGO_URL=mongodb://mongo:27017/rocketchat + - MONGO_OPLOG_URL=mongodb://mongo:27017/local + depends_on: + - mongo + restart: unless-stopped + + mongo: + image: mongo:4 + command: mongod --oplogSize 128 --replSet rs0 + ports: + - "27017:27017" + volumes: + - ./data/db:/data/db + restart: unless-stopped diff --git a/rocketchat/nginx.conf b/rocketchat/nginx.conf new file mode 100644 index 0000000..7769c42 --- /dev/null +++ b/rocketchat/nginx.conf @@ -0,0 +1,29 @@ +server { + listen 80; + server_name chat.easypi.pro; + return 301 https://$host$request_uri; +} + +server { + listen 443; + server_name chat.easypi.pro; + ssl_certificate easypi.pro.crt; + ssl_certificate_key easypi.pro.key; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_session_timeout 1d; + ssl_session_cache shared:SSL:50m; + client_max_body_size 200M; + + location / { + proxy_pass http://127.0.0.1:3000; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Nginx-Proxy true; + proxy_redirect off; + } +}