initial commit
This commit is contained in:
commit
cfbada8473
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"editor.fontSize": 13,
|
||||||
|
"terminal.integrated.fontSize": 13,
|
||||||
|
"window.zoomLevel": 1.4,
|
||||||
|
}
|
||||||
48
README-CICD.md
Normal file
48
README-CICD.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
## How to use CICD on gitea
|
||||||
|
In this example we create an example project with a simple cicd. The CICD will be run
|
||||||
|
when you push the project
|
||||||
|
|
||||||
|
## Procedure
|
||||||
|
* create a project in gitea
|
||||||
|
* clone it on local pc
|
||||||
|
* goto project folder on local
|
||||||
|
* create folder `.gitea/workflows`
|
||||||
|
* create `README.md` file
|
||||||
|
* create file `gitea-ci.yml` on the foder create above with the next content:
|
||||||
|
```yaml
|
||||||
|
name: Gitea Actions Demo
|
||||||
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
# efinition of the job(s)
|
||||||
|
jobs:
|
||||||
|
test-runner:
|
||||||
|
# Indicates on which runner label to run the job (must match one of the labels defined in the runner)
|
||||||
|
runs-on: [ubuntu-latest]
|
||||||
|
steps:
|
||||||
|
- name: Check runner
|
||||||
|
run: |
|
||||||
|
echo "✅ The runner is working properly!"
|
||||||
|
echo "User running this job : $(whoami)"
|
||||||
|
echo "Contents of current directory :"
|
||||||
|
ls -la
|
||||||
|
|
||||||
|
- name: Test Docker
|
||||||
|
run: |
|
||||||
|
echo "🐳 Checking Docker in the runner"
|
||||||
|
docker version || echo "⚠️ Docker not accessible in this runner"
|
||||||
|
|
||||||
|
- name: Network test
|
||||||
|
run: |
|
||||||
|
echo "🌐 Testing the connection to gitea.io"
|
||||||
|
curl -I https://gitea.io || echo "⚠️ Unable to contact gitea.io"
|
||||||
|
```
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "first commit`
|
||||||
|
git push
|
||||||
|
```
|
||||||
|
To see the CICD click on **Actions** in your project
|
||||||
103
README.md
Normal file
103
README.md
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# Gitea
|
||||||
|
|
||||||
|
## Description
|
||||||
|
This docker compose run gitea and his runner on docker
|
||||||
|
|
||||||
|
## Requierments
|
||||||
|
### Folder
|
||||||
|
```bash
|
||||||
|
sudo mkdir -p /home/docker/gitea/data
|
||||||
|
sudo mkdir -p /home/docker/gitea/postgres
|
||||||
|
sudo mkdir -p /home/docker/gitea/runner/data
|
||||||
|
```
|
||||||
|
### Files
|
||||||
|
```bash
|
||||||
|
sudo touch /home/docker/gitea/runner/config.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Certificats
|
||||||
|
Copy crt and key files on `/home/docker/certs/`
|
||||||
|
|
||||||
|
## Apache
|
||||||
|
### http-gitea.conf
|
||||||
|
```
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerName gitea.gmolab.net
|
||||||
|
ServerAlias gitea
|
||||||
|
CustomLog logs/gitea_access_log common
|
||||||
|
ErrorLog logs/gitea_error_log
|
||||||
|
# redirect to https
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteCond %{SERVER_NAME} =gitea [OR]
|
||||||
|
RewriteCond %{SERVER_NAME} =gitea.gmolab.net
|
||||||
|
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
### https-gitea.conf
|
||||||
|
```
|
||||||
|
##
|
||||||
|
## SSL Virtual Host Context
|
||||||
|
##
|
||||||
|
# General setup for the virtual host
|
||||||
|
<VirtualHost *:443>
|
||||||
|
ServerName gitea.gmolab.net
|
||||||
|
ServerAlias gitea
|
||||||
|
CustomLog logs/gitea_access_log common
|
||||||
|
ErrorLog logs/gitea_error_log
|
||||||
|
|
||||||
|
# SSL
|
||||||
|
SSLEngine on
|
||||||
|
SSLHonorCipherOrder on
|
||||||
|
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
|
||||||
|
SSLHonorCipherOrder on
|
||||||
|
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
|
||||||
|
# Enable HTTP/2, if available
|
||||||
|
Protocols h2 http/1.1
|
||||||
|
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
|
||||||
|
Header always set Strict-Transport-Security "max-age=63072000"
|
||||||
|
# certificats
|
||||||
|
SSLCertificateFile "/etc/httpd/auth/cert/gmolab.net.crt"
|
||||||
|
SSLCertificateKeyFile "/etc/httpd/auth/cert/gmolab.net.key"
|
||||||
|
SSLCertificateChainFile "/etc/httpd/auth/cert/gmolabCA.crt"
|
||||||
|
# proxy
|
||||||
|
SSLProxyEngine On
|
||||||
|
ProxyPreserveHost On
|
||||||
|
ProxyRequests off
|
||||||
|
ProxyPass "/" "http://127.0.0.1:3000/"
|
||||||
|
ProxyPassReverse "/" "https://127.0.0.1:3000/"
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Start gitea for config
|
||||||
|
```bash
|
||||||
|
docker compose up web db
|
||||||
|
```
|
||||||
|
|
||||||
|
## Access
|
||||||
|
https://gitea.gmolab.net
|
||||||
|
|
||||||
|
## Config
|
||||||
|
Login on https://gitea.gmolab.net
|
||||||
|
Adapt the configuration as you need
|
||||||
|
**Do not forget** to config user and password admin in section `Administrator Account Settings`
|
||||||
|
|
||||||
|
### Create runner
|
||||||
|
* click on the user name at the top right of the page, **Settings** -> **Actions** -> **Runners**
|
||||||
|
* click on **Create new Runner** and copy **Registration Token**
|
||||||
|
* edit file `docker-copose.yml`and
|
||||||
|
- set variable `GITEA_RUNNER_REGISTRATION_TOKEN` with the token copied above
|
||||||
|
- set variable `GITEA_INSTANCE_URL` with URL
|
||||||
|
- set variable `GITEA_RUNNER_NAME` with the name that you want
|
||||||
|
* stop gitea
|
||||||
|
```bash
|
||||||
|
docker compose down
|
||||||
|
```
|
||||||
|
## Start gitea stack
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
### [1.0.0] - 2025-10-16
|
||||||
|
#### Added
|
||||||
|
- initial version by [GMo](mailto:gilles.mouchet@gmail.com)
|
||||||
73
docker-compose.yml
Normal file
73
docker-compose.yml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
gitea:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
image: docker.gitea.com/gitea:1.24.6
|
||||||
|
container_name: gitea-web
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
- GITEA__database__DB_TYPE=postgres
|
||||||
|
- GITEA__database__HOST=db:5432
|
||||||
|
- GITEA__database__NAME=gitea
|
||||||
|
- GITEA__database__USER=gitea
|
||||||
|
- GITEA__database__PASSWD=gitea
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
#- ./gitea:/data
|
||||||
|
- /home/docker/gitea/data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000/"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
start_period: 20s
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: docker.io/library/postgres:14
|
||||||
|
container_name: gitea-db
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=gitea
|
||||||
|
- POSTGRES_PASSWORD=gitea
|
||||||
|
- POSTGRES_DB=gitea
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- /home/docker/gitea/postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
runner:
|
||||||
|
image: docker.io/gitea/act_runner:nightly
|
||||||
|
container_name: gitea-run
|
||||||
|
environment:
|
||||||
|
CONFIG_FILE: /config.yaml
|
||||||
|
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
|
||||||
|
#GITEA_INSTANCE_URL: "http://172.31.10.15:3000"
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: "${RUNNER_TOKEN}"
|
||||||
|
#GITEA_RUNNER_REGISTRATION_TOKEN: "afg...gzh"
|
||||||
|
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
|
||||||
|
#GITEA_RUNNER_NAME: "gitea_runner_1"
|
||||||
|
GITEA_RUNNER_LABELS: "${RUNNER_LABELS}"
|
||||||
|
networks:
|
||||||
|
- gitea
|
||||||
|
volumes:
|
||||||
|
- /home/docker/gitea/runner/config.yaml:/config.yaml
|
||||||
|
- /home/docker/gitea/runner/data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
depends_on:
|
||||||
|
web:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user