2
0
mirror of https://github.com/vimagick/dockerfiles.git synced 2025-12-21 13:23:02 +01:00

update gogs

This commit is contained in:
kev
2019-10-01 13:36:54 +08:00
parent 74d71f87b5
commit 1c4ee2591c
7 changed files with 112 additions and 135 deletions

View File

@@ -5,43 +5,36 @@ drone
## github ## github
```yaml
drone:
image: drone/drone:1.5-linux-amd64
ports:
- "8080:80"
volumes:
- ./data:/data
environment:
- DRONE_AGENTS_ENABLED=true
- DRONE_SERVER_PROTO=http
- DRONE_SERVER_HOST=drone.easypi.pro
- DRONE_RPC_SECRET=secret
- DRONE_GITHUB_SERVER=https://github.com
- DRONE_GITHUB_CLIENT_ID=xxxxxx
- DRONE_GITHUB_CLIENT_SECRET=xxxxxx
restart: always
```
```yaml ```yaml
# #
# Github » Settings » Applications » Developer applications » Register new application # Github » Settings » Applications » Developer applications » Register new application
# #
Application name: drone Application name: drone
Homepage URL: http://drone.easypi.info/ Homepage URL: http://drone.easypi.pro/
Application description: Drone is a Continuous Integration platform built on Docker, written in Go Application description: Drone is a Continuous Integration platform built on Docker, written in Go
Authorization callback URL: http://drone.easypi.info/authorize Authorization callback URL: http://drone.easypi.pro/authorize
Client ID: ... (generated by github) Client ID: ... (generated by github)
Client Secret: ... (generated by github) Client Secret: ... (generated by github)
``` ```
## docker-compose.yml
```yaml
drone:
image: drone/drone
ports:
- "8000:8000"
volumes:
- ./drone:/var/lib/drone
- /var/run/docker.sock:/var/run/docker.sock
environment:
- REMOTE_DRIVER=github
- REMOTE_CONFIG=https://github.com?client_id=...&client_secret=...
# - REMOTE_DRIVER=gogs
# - REMOTE_CONFIG=https://git.easypi.info/?open=false
- DEBUG=false
restart: always
wall:
image: drone/drone-wall
ports:
- "8080:80"
restart: always
```
> Drone will register gogs webhooks automatically, you don't need to do it manually. > Drone will register gogs webhooks automatically, you don't need to do it manually.
## nginx/sites-enabled/drone ## nginx/sites-enabled/drone
@@ -49,7 +42,7 @@ wall:
``` ```
server { server {
listen 80; listen 80;
server_name drone.easypi.info; server_name drone.easypi.pro;
location / { location / {
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $remote_addr;
@@ -57,7 +50,7 @@ server {
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header Origin ""; proxy_set_header Origin "";
proxy_pass http://127.0.0.1:8000; proxy_pass http://127.0.0.1:8080;
proxy_redirect off; proxy_redirect off;
proxy_http_version 1.1; proxy_http_version 1.1;
proxy_buffering off; proxy_buffering off;
@@ -65,14 +58,6 @@ server {
chunked_transfer_encoding off; chunked_transfer_encoding off;
} }
} }
server {
listen 80;
server_name wall.easypi.info;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
``` ```
## up and running ## up and running
@@ -81,13 +66,10 @@ server {
# server # server
$ cd ~/fig/drone/ $ cd ~/fig/drone/
$ docker-compose up -d $ docker-compose up -d
$ docker-compose logs $ docker-compose logs -f
# client (login with remote driver credential) # client (login with remote driver credential)
$ firefox http://drone.easypi.info/ $ firefox http://drone.easypi.pro/
# dashboard
$ firefox http://wall.easypi.info/
``` ```
[1]: http://readme.drone.io/usage/overview/ [1]: https://readme.drone.io

View File

@@ -1,23 +0,0 @@
#
# Dockerfile for drone-arm
#
FROM easypi/alpine-arm
MAINTAINER EasyPi Software Foundation
RUN apk add --no-cache ca-certificates
ADD drone /drone
ENV DATABASE_DRIVER=sqlite3 \
DATABASE_CONFIG=/var/lib/drone/drone.sqlite \
GODEBUG=netdns=go \
XDG_CACHE_HOME=/var/lib/drone
VOLUME $XDG_CACHE_HOME
WORKDIR $XDG_CACHE_HOME
EXPOSE 8000
ENTRYPOINT ["/drone"]
CMD ["server"]

View File

@@ -1,24 +1,6 @@
drone-arm drone-arm
========= =========
```yaml
drone:
image: armdrone/drone
ports:
- "8000:80"
volumes:
- ./data:/var/lib/drone
- /var/run/docker.sock:/var/run/docker.sock
environment:
- REMOTE_DRIVER=gogs
- REMOTE_CONFIG=http://git.easypi.info:3000/?open=false
- PLUGIN_FILTER=armdrone/*
- GIN_MODE=release
extra_hosts:
- git.easypi.info:192.168.31.231
restart: always
```
## Deploy Key Setup ## Deploy Key Setup
```yaml ```yaml

View File

@@ -1,45 +1,49 @@
version: '2' version: '3.7'
services: services:
drone-server: drone:
image: quay.io/armswarm/drone:0.8 image: drone/drone:1.5-linux-arm
ports: ports:
- "8000:8000" - "8080:80"
- "9000:9000"
volumes: volumes:
- ./data/drone:/var/lib/drone - ./data/drone:/data
environment: environment:
- DRONE_OPEN=true - DRONE_SERVER_HOST=drone
- DRONE_HOST=https://drone.easypi.pro - DRONE_SERVER_PROTO=http
- DRONE_DATABASE_DRIVER=mysql - DRONE_RPC_SECRET=secret
- DRONE_DATABASE_DATASOURCE=root:root@tcp(mariadb:3306)/drone?parseTime=true - DRONE_DATABASE_DRIVER=postgres
- DRONE_GOGS=true - DRONE_DATABASE_DATASOURCE=postgres://drone:drone@postgres:5432/drone?sslmode=disable
- DRONE_GOGS_URL=https://gogs.easypi.pro - DRONE_GOGS_SERVER=http://gogs:3000
- DRONE_SECRET=0123456789 - DRONE_AGENTS_ENABLED=true
- DRONE_ADMIN=root
depends_on: depends_on:
- mariadb - postgres
- gogs - gogs
restart: always restart: always
drone-agent: agent:
image: drone/agent:linux-arm image: drone/agent:1.5-linux-arm
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
environment: environment:
- DRONE_SERVER=drone-server:9000 - DRONE_RPC_PROTO=http
- DRONE_SECRET=0123456789 - DRONE_RPC_HOST=drone
- DRONE_RPC_SECRET=secret
- DRONE_RUNNER_NAME=agent
- DRONE_RUNNER_CAPACITY=2
depends_on: depends_on:
- drone-server - drone
restart: always restart: always
mariadb: postgres:
image: easypi/mariadb-arm image: arm32v7/postgres:12-alpine
ports: ports:
- "3306:3306" - "5432:5432"
volumes:
- ./data/postgres:/var/lib/postgresql/data
environment: environment:
- MYSQL_ROOT_PASSWORD=root - POSTGRES_USER=drone
- MYSQL_DATABASE=drone - POSTGRES_PASSWORD=drone
- POSTGRES_DB=drone
restart: always restart: always
gogs: gogs:
@@ -50,12 +54,3 @@ services:
volumes: volumes:
- ./data/gogs:/data - ./data/gogs:/data
restart: always restart: always
phpmyadmin:
image: easypi/phpmyadmin-arm
ports:
- "8080:80"
environment:
- PMA_HOST=mariadb
- PMA_PORT=3306
restart: always

Binary file not shown.

View File

@@ -1,18 +1,56 @@
drone: version: '3.7'
image: drone/drone
ports:
- "8000:80"
volumes:
- ./data:/var/lib/drone
- /var/run/docker.sock:/var/run/docker.sock
environment:
- REMOTE_DRIVER=gogs
- REMOTE_CONFIG=http://git.easypi.info:3000/?open=false
- DEBUG=false
restart: always
wall: services:
image: drone/drone-wall drone:
image: drone/drone:1.5-linux-amd64
ports: ports:
- "8080:80" - "8080:80"
volumes:
- ./data/drone:/data
environment:
- DRONE_SERVER_HOST=drone
- DRONE_SERVER_PROTO=http
- DRONE_RPC_SECRET=secret
- DRONE_DATABASE_DRIVER=postgres
- DRONE_DATABASE_DATASOURCE=postgres://drone:drone@postgres:5432/drone?sslmode=disable
- DRONE_GOGS_SERVER=http://gogs:3000
- DRONE_AGENTS_ENABLED=true
depends_on:
- postgres
- gogs
restart: always
agent:
image: drone/agent:1.5-linux-amd64
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone
- DRONE_RPC_SECRET=secret
- DRONE_RUNNER_NAME=agent
- DRONE_RUNNER_CAPACITY=2
depends_on:
- drone
restart: always
postgres:
image: postgres:12-alpine
ports:
- "5432:5432"
volumes:
- ./data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=drone
- POSTGRES_PASSWORD=drone
- POSTGRES_DB=drone
restart: always
gogs:
image: gogs/gogs
ports:
- "2222:22"
- "3000:3000"
volumes:
- ./data/gogs:/data
restart: always restart: always

View File

@@ -38,4 +38,7 @@ $ tree -FL 3 ./data/git/
└── user2/ └── user2/
``` ```
Please read [this][2] to learn more about `app.ini`.
[1]: https://gogs.io/ [1]: https://gogs.io/
[2]: https://gogs.io/docs/advanced/configuration_cheat_sheet.html