mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-01 22:31:15 +00:00
Merge branch 'origin/main' into 'next-release/main'
This commit is contained in:
commit
52acbd25ef
9 changed files with 11 additions and 41 deletions
|
@ -32,9 +32,9 @@ In addition you need at least some kind of database which requires additional re
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
You can install Woodpecker on multiple ways. If you are not sure which one to choose, we recommend using the [docker-compose](./05-deployment-methods/10-docker-compose.md) method for the beginning:
|
You can install Woodpecker on multiple ways. If you are not sure which one to choose, we recommend using the [docker compose](./05-deployment-methods/10-docker-compose.md) method for the beginning:
|
||||||
|
|
||||||
- Using [docker-compose](./05-deployment-methods/10-docker-compose.md) with the official [container images](./05-deployment-methods/10-docker-compose.md#docker-images)
|
- Using [docker compose](./05-deployment-methods/10-docker-compose.md) with the official [container images](./05-deployment-methods/10-docker-compose.md#docker-images)
|
||||||
- Using [Kubernetes](./05-deployment-methods/20-kubernetes.md) via the Woodpecker Helm chart
|
- Using [Kubernetes](./05-deployment-methods/20-kubernetes.md) via the Woodpecker Helm chart
|
||||||
- Using binaries, DEBs or RPMs you can download from [latest release](https://github.com/woodpecker-ci/woodpecker/releases/latest)
|
- Using binaries, DEBs or RPMs you can download from [latest release](https://github.com/woodpecker-ci/woodpecker/releases/latest)
|
||||||
- Or using a [third-party installation method](./05-deployment-methods/30-third-party.md)
|
- Or using a [third-party installation method](./05-deployment-methods/30-third-party.md)
|
||||||
|
@ -55,5 +55,5 @@ Check the [server configuration](./10-server-config.md) and [agent configuration
|
||||||
|
|
||||||
The agent is the worker which executes the [workflows](../20-usage/15-terminology/index.md).
|
The agent is the worker which executes the [workflows](../20-usage/15-terminology/index.md).
|
||||||
Woodpecker agents can execute work using a [backend](../20-usage/15-terminology/index.md) like [docker](./22-backends/10-docker.md) or [kubernetes](./22-backends/40-kubernetes.md).
|
Woodpecker agents can execute work using a [backend](../20-usage/15-terminology/index.md) like [docker](./22-backends/10-docker.md) or [kubernetes](./22-backends/40-kubernetes.md).
|
||||||
By default if you choose to deploy an agent using [docker-compose](./05-deployment-methods/10-docker-compose.md) the agent simply use docker for the backend as well.
|
By default if you choose to deploy an agent using [docker compose](./05-deployment-methods/10-docker-compose.md) the agent simply use docker for the backend as well.
|
||||||
So nothing to worry about here. If you still prefer to adjust the agent to your needs, check the [agent configuration](./15-agent-config.md) page.
|
So nothing to worry about here. If you still prefer to adjust the agent to your needs, check the [agent configuration](./15-agent-config.md) page.
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
# docker-compose
|
# docker compose
|
||||||
|
|
||||||
The below [docker-compose](https://docs.docker.com/compose/) configuration can be used to start a Woodpecker server with a single agent.
|
The below [docker compose](https://docs.docker.com/compose/) configuration can be used to start a Woodpecker server with a single agent.
|
||||||
|
|
||||||
It relies on a number of environment variables that you must set before running `docker-compose up`. The variables are described below.
|
It relies on a number of environment variables that you must set before running `docker compose up`. The variables are described below.
|
||||||
|
|
||||||
```yaml title="docker-compose.yaml"
|
```yaml title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
image: woodpeckerci/woodpecker-server:latest
|
image: woodpeckerci/woodpecker-server:latest
|
||||||
|
@ -43,8 +41,6 @@ volumes:
|
||||||
Woodpecker needs to know its own address. You must therefore provide the public address of it in `<scheme>://<hostname>` format. Please omit trailing slashes:
|
Woodpecker needs to know its own address. You must therefore provide the public address of it in `<scheme>://<hostname>` format. Please omit trailing slashes:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
@ -57,7 +53,6 @@ Woodpecker can also have its port's configured. It uses a separate port for gRPC
|
||||||
They can be configured with `*_ADDR` variables:
|
They can be configured with `*_ADDR` variables:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
@ -70,7 +65,6 @@ They can be configured with `*_ADDR` variables:
|
||||||
Reverse proxying can also be [configured for gRPC](../40-advanced/10-proxy.md#caddy). If the agents are connecting over the internet, it should also be SSL encrypted. The agent then needs to be configured to be secure:
|
Reverse proxying can also be [configured for gRPC](../40-advanced/10-proxy.md#caddy). If the agents are connecting over the internet, it should also be SSL encrypted. The agent then needs to be configured to be secure:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
@ -83,8 +77,6 @@ Reverse proxying can also be [configured for gRPC](../40-advanced/10-proxy.md#ca
|
||||||
As agents run pipeline steps as docker containers they require access to the host machine's Docker daemon:
|
As agents run pipeline steps as docker containers they require access to the host machine's Docker daemon:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
[...]
|
[...]
|
||||||
woodpecker-agent:
|
woodpecker-agent:
|
||||||
|
@ -96,8 +88,6 @@ As agents run pipeline steps as docker containers they require access to the hos
|
||||||
Agents require the server address for agent-to-server communication. The agent connects to the server's gRPC port:
|
Agents require the server address for agent-to-server communication. The agent connects to the server's gRPC port:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-agent:
|
woodpecker-agent:
|
||||||
[...]
|
[...]
|
||||||
|
@ -108,8 +98,6 @@ Agents require the server address for agent-to-server communication. The agent c
|
||||||
The server and agents use a shared secret to authenticate communication. This should be a random string of your choosing and should be kept private. You can generate such string with `openssl rand -hex 32`:
|
The server and agents use a shared secret to authenticate communication. This should be a random string of your choosing and should be kept private. You can generate such string with `openssl rand -hex 32`:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -7,8 +7,6 @@ The default database engine of Woodpecker is an embedded SQLite database which r
|
||||||
By default Woodpecker uses a SQLite database stored under `/var/lib/woodpecker/`. If using containers, you can mount a [data volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) to persist the SQLite database.
|
By default Woodpecker uses a SQLite database stored under `/var/lib/woodpecker/`. If using containers, you can mount a [data volume](https://docs.docker.com/storage/volumes/#create-and-manage-volumes) to persist the SQLite database.
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -63,17 +63,15 @@ Point it to your server's docker config.
|
||||||
WOODPECKER_DOCKER_CONFIG=/root/.docker/config.json
|
WOODPECKER_DOCKER_CONFIG=/root/.docker/config.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## Handling sensitive data in docker-compose and docker-swarm
|
## Handling sensitive data in **docker compose** and **docker swarm**
|
||||||
|
|
||||||
To handle sensitive data in docker-compose or docker-swarm configurations there are several options:
|
To handle sensitive data in `docker compose` or `docker swarm` configurations there are several options:
|
||||||
|
|
||||||
For docker-compose you can use a `.env` file next to your compose configuration to store the secrets outside of the compose file. While this separates configuration from secrets it is still not very secure.
|
For docker compose you can use a `.env` file next to your compose configuration to store the secrets outside of the compose file. While this separates configuration from secrets it is still not very secure.
|
||||||
|
|
||||||
Alternatively use docker-secrets. As it may be difficult to use docker secrets for environment variables Woodpecker allows to read sensible data from files by providing a `*_FILE` option of all sensible configuration variables. Woodpecker will try to read the value directly from this file. Keep in mind that when the original environment variable gets specified at the same time it will override the value read from the file.
|
Alternatively use docker-secrets. As it may be difficult to use docker secrets for environment variables Woodpecker allows to read sensible data from files by providing a `*_FILE` option of all sensible configuration variables. Woodpecker will try to read the value directly from this file. Keep in mind that when the original environment variable gets specified at the same time it will override the value read from the file.
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -22,8 +22,6 @@ Otherwise, the communication should go via the `docker0` gateway (usually 172.17
|
||||||
To configure the Docker network if the network's name is `gitea`, configure it like this:
|
To configure the Docker network if the network's name is `gitea`, configure it like this:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
[...]
|
[...]
|
||||||
woodpecker-agent:
|
woodpecker-agent:
|
||||||
|
|
|
@ -11,8 +11,6 @@ Woodpecker comes with experimental support for Bitbucket Datacenter / Server, fo
|
||||||
To enable Bitbucket Server you should configure the Woodpecker container using the following environment variables:
|
To enable Bitbucket Server you should configure the Woodpecker container using the following environment variables:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -137,8 +137,6 @@ To install the Woodpecker server behind a [Traefik](https://traefik.io/) load ba
|
||||||
<!-- cspell:words redirectscheme certresolver -->
|
<!-- cspell:words redirectscheme certresolver -->
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3.8'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
server:
|
server:
|
||||||
image: woodpeckerci/woodpecker-server:latest
|
image: woodpeckerci/woodpecker-server:latest
|
||||||
|
|
|
@ -52,8 +52,6 @@ SSL support is provided using the [ListenAndServeTLS](https://golang.org/pkg/net
|
||||||
Update your configuration to expose the following ports:
|
Update your configuration to expose the following ports:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
@ -66,8 +64,6 @@ Update your configuration to expose the following ports:
|
||||||
Update your configuration to mount your certificate and key:
|
Update your configuration to mount your certificate and key:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
@ -79,8 +75,6 @@ Update your configuration to mount your certificate and key:
|
||||||
Update your configuration to provide the paths of your certificate and key:
|
Update your configuration to provide the paths of your certificate and key:
|
||||||
|
|
||||||
```diff title="docker-compose.yaml"
|
```diff title="docker-compose.yaml"
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
[...]
|
[...]
|
||||||
|
|
|
@ -6,13 +6,11 @@ Please note that the autoscaler is not feature-complete yet. You can follow the
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
### docker-compose
|
### docker compose
|
||||||
|
|
||||||
If you are using docker-compose you can add the following to your `docker-compose.yaml` file:
|
If you are using docker compose you can add the following to your `docker-compose.yaml` file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
woodpecker-server:
|
woodpecker-server:
|
||||||
image: woodpeckerci/woodpecker-server:next
|
image: woodpeckerci/woodpecker-server:next
|
||||||
|
|
Loading…
Reference in a new issue