52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# Drone, the builder for Forgejo
|
|
|
|
This deploys Drone.io, CI builder for Forgejo (was Gitea).
|
|
|
|
## Installation
|
|
|
|
1. Clone this repository
|
|
1. `fly launch`, follow the prompts
|
|
1. Select `n` when it asks if you want to deploy
|
|
1. Setup the admin user account:
|
|
```shell
|
|
fly secrets set "DRONE_USER_CREATE=username:greg,machine:false,admin:true,token:=$(openssl rand -hex 16)"
|
|
```
|
|
1. Check that the [user filter](https://docs.drone.io/server/reference/drone-user-filter/) `DRONE_USER_FILTER = "greg"` matches your username above.
|
|
1. Also consider setting the [repository filter](https://docs.drone.io/server/reference/drone-repository-filter/) if needed
|
|
1. Generate, and store securely, you secrets:
|
|
```shell
|
|
fly secrets set "DRONE_RPC_SECRET=$(openssl rand -hex 16)"
|
|
```
|
|
1. storage you'll need to add two more secrets:
|
|
```shell
|
|
fly secrets set \
|
|
"DRONE_GITEA_CLIENT_ID=[redacted]" \
|
|
"DRONE_GITEA_CLIENT_SECRET=[redacted]"
|
|
```
|
|
1. Deploy, `fly deploy --remote-only`
|
|
1. Setup DNS with your registrar, you must have either CNAME or A/AAAA records
|
|
set. See: https://fly.io/docs/app-guides/custom-domains-with-fly/
|
|
1. Create certificate for Fly's automatic TLS termination. `fly certs create build.example.com`
|
|
|
|
# Final Step
|
|
|
|
1. Delete the Docker Engine from your local system.
|
|
1. You probably want to scale your remote Daemon: `fly scale vm dedicated-cpu-2x` and `fly scale memory 2048`
|
|
|
|
```shell
|
|
docker run --detach \
|
|
--volume=/var/run/docker.sock:/var/run/docker.sock \
|
|
--env=DRONE_RPC_PROTO=https \
|
|
--env=DRONE_RPC_HOST=build.burd.me \
|
|
--env=DRONE_RPC_SECRET=70619c6241d757e8935c9a7d \
|
|
--env=DRONE_RUNNER_CAPACITY=2 \
|
|
--env=DRONE_RUNNER_NAME=my-laptop-runner \
|
|
--publish=3000:3000 \
|
|
--name=runner \
|
|
drone/drone-runner-docker:1
|
|
```
|
|
--restart=always \
|
|
|
|
# NOTES:
|
|
|
|
* https://docs.drone.io/server/provider/gitea/
|