Compare commits

...

3 commits

Author SHA1 Message Date
Alexey Skobkin 3b2fba1309 drone. drone-runner. README.md status. 2022-03-29 16:06:34 +03:00
Alexey Skobkin 0ac705229b drone-runner. draft. 2022-03-29 15:58:00 +03:00
Alexey Skobkin 0167c5d8eb drone. draft. 2022-03-29 15:57:44 +03:00
8 changed files with 127 additions and 0 deletions

View file

@ -33,6 +33,8 @@ Not every stack is tested to fully work.
| App Name | Status | Image | Description | Links |
|-------------------------|--------------|----------------------------------------------|----------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ARK Server | ✅ | `thmhoag/arkserver` | ARK: Survival Evolved game server with ArkManager. | [Website](http://playark.com), [Steam](https://store.steampowered.com/app/346110/ARK_Survival_Evolved/), [Image Github](https://github.com/thmhoag/arkserver), [ArkManager](https://github.com/arkmanager/ark-server-tools) |
| Drone | Not tested | `drone/drone` | Continuous integration platform. | [Website](https://www.drone.io), [Github](https://github.com/harness/drone), [Image](https://hub.docker.com/r/drone/drone) |
| Drone Docker Runner | Not tested | `drone/drone-runner-docker` | CI runner daemon for Docker. | [Website](https://www.drone.io), [Github](https://github.com/drone-runners/drone-runner-docker), [Image](https://hub.docker.com/r/drone/drone-runner-docker) |
| Duplicati | ✅ | `linuxserver/duplicati` | Backup solution with many storage backends. | [Website](https://www.duplicati.com), [Github](https://github.com/duplicati/duplicati) |
| Element-web | ✅ | `vectorim/element-web` | Web Matrix client. | [Website](https://element.io), [Github](https://github.com/vector-im/element-web/) |
| emby | ✅ | `emby/embyserver` | Media server with online transcoding support. | [Website](https://emby.media) |

18
drone-runner/.env.dist Normal file
View file

@ -0,0 +1,18 @@
# see https://hub.docker.com/r/drone/drone-runner-docker
IMAGE_VERSION=1
WEBUI_BIND_ADDR=127.0.0.1
WEBUI_BIND_PORT=3000
# Drone settings
# https://docs.drone.io/runner/docker/installation/linux/
DRONE_RPC_PROTO=https
DRONE_RPC_HOST=drone.domain.tld
DRONE_RPC_SECRET=super-duper-secret
DRONE_RUNNER_CAPACITY=2
DRONE_RUNNER_NAME=runner-name
# Service settings
LOG_MAX_SIZE=5m
LOG_MAX_FILE=5

View file

@ -0,0 +1,18 @@
# https://hub.docker.com/r/drone/drone-runner-docker
version: '3.7'
services:
drone-runner:
image: "drone/drone-runner-docker:${IMAGE_VERSION:-1}"
container_name: drone-runner
volumes:
- "${HOST_DATA_DIR:-./data}:/data"
ports:
- "${WEBUI_BIND_ADDR:-127.0.0.1}:${WEBUI_BIND_PORT:-3000}:3000"
env_file: .env
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "${LOG_MAX_SIZE:-5m}"
max-file: "${LOG_MAX_FILE:-5}"

View file

@ -0,0 +1,19 @@
server {
listen 80;
server_name drone-runner.domain.tld;
#charset utf-8;
location / {
proxy_set_header Host $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 $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_pass http://127.0.0.1:3000/;
}
}

30
drone/.env.dist Normal file
View file

@ -0,0 +1,30 @@
# see https://hub.docker.com/r/drone/drone
IMAGE_VERSION=2
HOST_DATA_DIR=./data
WEBUI_BIND_ADDR=127.0.0.1
WEBUI_BIND_PORT=8386
# Drone settings
# https://docs.drone.io/server/reference/
DRONE_GITEA_SERVER=https://gitea.domain.tld
DRONE_GITEA_CLIENT_ID=xxx
DRONE_GITEA_CLIENT_SECRET=yyy
DRONE_RPC_SECRET=super-duper-secret
DRONE_SERVER_HOST=drone.domain.tld
DRONE_SERVER_PROTO=https
#DRONE_DATABASE_DRIVER=mysql
#DRONE_DATABASE_DRIVER=postgres
DRONE_DATABASE_DRIVER=sqlite3
#DRONE_DATABASE_DATASOURCE=root:password@tcp(1.2.3.4:3306)/drone?parseTime=true
#DRONE_DATABASE_DATASOURCE=postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable
DRONE_DATABASE_DATASOURCE=/data/database.sqlite
# Optional string value. Configures the secret key used to encrypt secrets in the database.
# Encryption is disabled by default and must be configured before the system is first used.
#DRONE_DATABASE_SECRET=zzz
# Service settings
LOG_MAX_SIZE=5m
LOG_MAX_FILE=5

2
drone/data/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/*
!/.gitignore

19
drone/docker-compose.yml Normal file
View file

@ -0,0 +1,19 @@
# https://hub.docker.com/r/drone/drone
version: '3.7'
services:
drone:
image: "drone/drone:${IMAGE_VERSION:-2}"
container_name: drone
hostname: drone
volumes:
- "${HOST_DATA_DIR:-./data}:/data"
ports:
- "${WEBUI_BIND_ADDR:-127.0.0.1}:${WEBUI_BIND_PORT:-8386}:80"
env_file: .env
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "${LOG_MAX_SIZE:-5m}"
max-file: "${LOG_MAX_FILE:-5}"

19
drone/nginx/drone.conf Normal file
View file

@ -0,0 +1,19 @@
server {
listen 80;
server_name drone.domain.tld;
#charset utf-8;
location / {
proxy_set_header Host $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 $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_pass http://127.0.0.1:8386/;
}
}