Build and deploy a forgejo runner to use for deployment of docker image to a registry and docker stock to a swarm cluster
- Dockerfile 100%
|
All checks were successful
Build and push docker images / test-runner-docker (push) Successful in 5s
Build and push docker images / test-runner-bitwarden (push) Successful in 28s
Build and push docker images / test-checkout (push) Successful in 8s
Build and push docker images / test-uv (push) Successful in 3s
Build and push docker images / deploy-forgejo-runner (push) Successful in 20s
|
||
|---|---|---|
| .forgejo/workflows | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
forgejo-runner
Custom image to use as a forgejo runner for deployment.
Should include:
- Bitwarden CLI: To retrieve secrets from Vaultwarden
- Docker CLI: To connect to the docker swarm daemon
- SSH Client: To connect to the docker swarm host
- NodeJS: For the forgejo git clone action
- Uv
Warning
: Bitwarden CLI is limited to version 2026.1.0
Build requirements:
Requirements to build and push this image to the registry
Connect to a docker daemon to build the image
- secrets.SSH_PRIVATE_KEY
- vars.SSH_HOST
- vars.SSH_USER
Connect to the registry to push the image
- secrets.DR_PASSWORD
- vars.DR_LOGIN
Usage requirements
Access to Vault
To connect to the Vaultwaarden, this environment variables should be set from secrets:
BW_CLIENTIDBW_CLIENTSECRETBW_SERVERBW_PASSWORD
Example:
- name: Login to Bitwarden (API key)
env:
BW_CLIENTID: ${{ secrets.BITWARDEN_CLIENT_ID }}
BW_CLIENTSECRET: ${{ secrets.BITWARDEN_CLIENT_SECRET }}
BW_SERVER: ${{ secrets.BITWARDEN_SERVER }}
BW_PASSWORD: ${{ secrets.BITWARDEN_PASSWORD }}
Access to docker
SSH_PRIVATE_KEYSSH_HOSTSSH_USER