如何在jwilder nginx docker镜像后使用gitea设置无人机
使用我的gitea实例设置drone时遇到了一些问题,因为在过去几年中,对于drone的不同环境变量,有太多不同配置的指南,我无法按照我的方式设置。 是的,我知道,他们明确表示“我们强烈建议在专用实例上安装无人机。我们不为在同一实例上安装无人机和Gitea提供最终用户支持。我们不为解决单实例安装导致的网络复杂问题提供最终用户支持。”但我想一定有办法把它安装在同一台服务器上 我当前的设置如何在jwilder nginx docker镜像后使用gitea设置无人机,docker,nginx,drone,gitea,Docker,Nginx,Drone,Gitea,使用我的gitea实例设置drone时遇到了一些问题,因为在过去几年中,对于drone的不同环境变量,有太多不同配置的指南,我无法按照我的方式设置。 是的,我知道,他们明确表示“我们强烈建议在专用实例上安装无人机。我们不为在同一实例上安装无人机和Gitea提供最终用户支持。我们不为解决单实例安装导致的网络复杂问题提供最终用户支持。”但我想一定有办法把它安装在同一台服务器上 我当前的设置 无人机docker-compose.yaml 无人机对应的(自动生成的)nginx配置 (gite
https://drone.mydomain.tld/login
下面是我在访问drone.mydomain.tld时看到的内容
单击“授权”应用程序后,“我的浏览器”中的url请求将更改为,并仅加载,直到nginx抛出502。在初始授权之后,每个请求只会产生以下日志和erorr
nginx日志
无人机日志
gitea原木
页面源
这就是我的浏览器在javascript激活时显示的内容
无人机|持续集成
很抱歉,如果未启用JavaScript,Drone无法正常工作。请使其继续。
是否有任何配置我错过了或任何环境变量是过时的(我遵循不同的指南,但最终检查一切与)?有没有人运行类似的设置,可以与我共享他的配置?我尝试了几乎所有http/https组合和不同过时的无人机环境变量的组合,但从未实现真正的webfrontend 通过将gitea网络添加到无人机容器中,我能够在同一台服务器上运行gitea和drone 打开防火墙也很可能达到同样的效果,但我不确定要更改哪些规则,我不想打开那么多 无人机合成文件的代码段:
networks:
gitea:
external:
name: [name of your gitea service]_default
gitea网络也必须添加到与上述代理类似的网络下的无人机服务中。我已经一起运行无人机和gitea一段时间了。对我来说,我创建了drone作为gitea域的子域。以下是我的docker-compose.yml脚本,供参考:
version: "3.2"
services:
git:
image: gitea/gitea:1
environment:
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=*********(same as below)
volumes:
- ./data:/data
ports:
- "22:22"
depends_on:
- db
restart: always
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=*******
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=***********(same as above)
volumes:
- ./db/:/var/lib/mysql
nginx:
restart: always
image: linuxserver/letsencrypt
links:
- git
ports:
- "80:80"
- "443:443"
environment:
- URL=git.mydomain.com
- SUBDOMAINS=drone
- EMAIL=josh@mydomain.com
volumes:
- ./nginx:/config
depends_on:
- git
- drone-server
drone-server:
image: drone/drone:1
links:
- git
volumes:
- ./dronedata:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: always
environment:
- DRONE_AGENTS_ENABLED=true
- DRONE_GITEA_SERVER=https://git.mydomain.com
- DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}
- DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}
- DRONE_GIT_ALWAYS_AUTH=false
- DRONE_SERVER_HOST=drone.git.mydomain.com
- DRONE_SERVER_PROTO=https
- DRONE_TLS_AUTOCERT=false
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_RUNNER_CAPACITY=2
- DRONE_ADMIN=joshua
drone-runner:
image: drone/drone-runner-docker:1
links:
- drone-server
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone-server
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=${HOSTNAME}
您是否有可能干扰此过程的防火墙?我对Traefik也有类似的设置,我们通过更改防火墙配置来解决问题。thx,我尝试过这个,但考虑到gitea也在外部网络代理中,我看不到任何变化:(我很确定我只是忽略了一点,但在目标前方10厘米处被卡住,这非常令人沮丧:(
nginx.1 | 2019/11/08 10:44:16 [warn] 3762#3762: *47660 upstream server temporarily disabled while reading response header from upstream, client: 111.111.111.111, server: drone.mydomain.tld, request: "GET /login?XXXXXXXX HTTP/2.0", upstream: "http://172.22.0.8:80/login?XXXXXXXX", host: "drone.mydomain.tld", referrer: "https://drone.mydomain.tld/"
nginx.1 | 2019/11/08 10:44:16 [error] 3762#3762: *47660 upstream timed out (110: Operation timed out) while reading response header from upstream, client: 111.111.111.111, server: drone.mydomain.tld, request: "GET /login?XXXXXXXX HTTP/2.0", upstream: "http://172.22.0.8:80/login?XXXXXXXX", host: "drone.mydomain.tld", referrer: "https://drone.mydomain.tld/"
nginx.1 | 2019/11/08 10:44:16 [error] 3762#3762: *47660 no live upstreams while connecting to upstream, client: 111.111.111.111, server: drone.mydomain.tld, request: "GET /login?XXXXXXXX HTTP/2.0", upstream: "http://drone.mydomain.tld/login?XXXXXXXX", host: "drone.mydomain.tld", referrer: "https://drone.mydomain.tld/"
{"level":"debug","msg":"api: authentication required","request-id":"1TKR8MAfIewZpiiwn2YkUNEqBrt","time":"2019-11-08T09:50:39Z"}
{"level":"debug","msg":"api: guest access","request-id":"1TKR8MAfIewZpiiwn2YkUNEqBrt","time":"2019-11-08T09:50:39Z"}
{"fields.time":"2019-11-08T09:50:39Z","latency":109385,"level":"debug","method":"GET","msg":"","remote":"172.22.0.2:60330","request":"/api/user","request-id":"1TKR8MAfIewZpiiwn2YkUNEqBrt","time":"2019-11-08T09:50:39Z"}
{"fields.time":"2019-11-08T09:50:39Z","latency":64377,"level":"debug","method":"GET","msg":"","remote":"172.22.0.2:60332","request":"/login","request-id":"1TKR8IicJybGXkQf3ebpiGV4VXi","time":"2019-11-08T09:50:39Z"}
{"level":"debug","msg":"events: stream opened","request-id":"1TKR8Jv7zQrCQSzRyCFbeRLeC8M","time":"2019-11-08T09:50:39Z"}
{"level":"debug","msg":"events: stream cancelled","request-id":"1TKR8Jv7zQrCQSzRyCFbeRLeC8M","time":"2019-11-08T09:51:39Z"}
{"level":"debug","msg":"events: stream closed","request-id":"1TKR8Jv7zQrCQSzRyCFbeRLeC8M","time":"2019-11-08T09:51:39Z"}
{"level":"debug","msg":"api: guest access","request-id":"1TKR8Jv7zQrCQSzRyCFbeRLeC8M","time":"2019-11-08T09:51:39Z"}
{"fields.time":"2019-11-08T09:51:39Z","latency":60182954972,"level":"debug","method":"GET","msg":"","remote":"172.22.0.2:60334","request":"/api/stream","request-id":"1TKR8Jv7zQrCQSzRyCFbeRLeC8M","time":"2019-11-08T09:51:39Z"}
{"level":"error","msg":"oauth: cannot exchange code: ysvAfRKVkRz4ZtN9zX635Vd-mnB__oXW7Rmqpra1VGU=: Post https://gitea.mydomain.tld/login/oauth/access_token: dial tcp 144.76.155.172:443: connect: connection timed out","time":"2019-11-08T09:52:32Z"}
{"level":"debug","msg":"cannot authenticate user: Post https://gitea.mydomain.tld/login/oauth/access_token: dial tcp 144.76.155.172:443: connect: connection timed out","time":"2019-11-08T09:52:32Z"}
[Macaron] 2019-11-08 10:50:21: Started GET /login/oauth/authorize?client_id=$GITEA_CLIENT_ID&redirect_uri=https%3A%2F%2Fdrone.mydomain.tld%2Flogin&response_type=code&state=c697f48392907a0 for 134.96.216.2
[Macaron] 2019-11-08 10:50:21: Completed GET /login/oauth/authorize?client_id=$GITEA_CLIENT_ID&redirect_uri=https%3A%2F%2Fdrone.mydomain.tld%2Flogin&response_type=code&state=c697f48392907a0 302 Found in 58.954698ms
[Macaron] 2019-11-08 10:50:39: Started GET /login/oauth/authorize?client_id=$GITEA_CLIENT_ID&redirect_uri=https%3A%2F%2Fdrone.mydomain.tld%2Flogin&response_type=code&state=68255aaf95e94627 for 134.96.216.2
[Macaron] 2019-11-08 10:50:39: Completed GET /login/oauth/authorize?client_id=$GITEA_CLIENT_ID&redirect_uri=https%3A%2F%2Fdrone.mydomain.tld%2Flogin&response_type=code&state=68255aaf95e94627 302 Found in 78.11159ms
networks:
gitea:
external:
name: [name of your gitea service]_default
version: "3.2"
services:
git:
image: gitea/gitea:1
environment:
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=*********(same as below)
volumes:
- ./data:/data
ports:
- "22:22"
depends_on:
- db
restart: always
db:
image: mariadb:10
restart: always
environment:
- MYSQL_ROOT_PASSWORD=*******
- MYSQL_DATABASE=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=***********(same as above)
volumes:
- ./db/:/var/lib/mysql
nginx:
restart: always
image: linuxserver/letsencrypt
links:
- git
ports:
- "80:80"
- "443:443"
environment:
- URL=git.mydomain.com
- SUBDOMAINS=drone
- EMAIL=josh@mydomain.com
volumes:
- ./nginx:/config
depends_on:
- git
- drone-server
drone-server:
image: drone/drone:1
links:
- git
volumes:
- ./dronedata:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: always
environment:
- DRONE_AGENTS_ENABLED=true
- DRONE_GITEA_SERVER=https://git.mydomain.com
- DRONE_GITEA_CLIENT_ID=${DRONE_GITEA_CLIENT_ID}
- DRONE_GITEA_CLIENT_SECRET=${DRONE_GITEA_CLIENT_SECRET}
- DRONE_GIT_ALWAYS_AUTH=false
- DRONE_SERVER_HOST=drone.git.mydomain.com
- DRONE_SERVER_PROTO=https
- DRONE_TLS_AUTOCERT=false
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_RUNNER_CAPACITY=2
- DRONE_ADMIN=joshua
drone-runner:
image: drone/drone-runner-docker:1
links:
- drone-server
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone-server
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_RUNNER_CAPACITY=2
- DRONE_RUNNER_NAME=${HOSTNAME}