🗃️ Update codebase 🗃️

README.md
rootfs/tmp/etc/gitea/app.ini
rootfs/usr/local/bin/entrypoint.sh
rootfs/usr/local/etc/docker/init.d/05-dockerd.sh
rootfs/usr/local/etc/docker/init.d/08-gitea.sh
This commit is contained in:
casjay
2025-11-29 13:12:37 -05:00
parent 58363fea97
commit a79ffa1f6a
5 changed files with 91 additions and 14 deletions

View File

@@ -1,7 +1,33 @@
## 👋 Welcome to gitea 🚀 ## 👋 Welcome to gitea 🚀
Description Self-hosted Git service with built-in CI/CD (Gitea Actions), Docker-in-Docker support, and SSH access.
## Features
- 🚀 **Latest Gitea** - Auto-downloads latest version on build
- 🐳 **Docker-in-Docker** - Run Docker inside the container for CI/CD
- ⚙️ **Gitea Actions** - Built-in CI/CD with act_runner (5 parallel runners by default)
- 🔐 **SSH Server** - Git operations over SSH (port 22/7833)
- 📦 **Package Registry** - Container, NPM, Maven, PyPI, and more
- 💾 **SQLite** - Zero-config database (PostgreSQL/MySQL supported)
- 🔧 **Easy Configuration** - Environment variable driven setup
## Quick Start
### Simple Run (HTTP only)
```bash
docker run -d \
--privileged \
--name gitea \
-p 80:80 \
-p 22:22 \
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-gitea/rootfs/data:/data:z" \
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-gitea/rootfs/config:/config:z" \
casjaysdevdocker/gitea:latest
```
Access Gitea at: `http://localhost`
## Install my system scripts ## Install my system scripts
@@ -34,6 +60,32 @@ docker run -d \
casjaysdevdocker/gitea:latest casjaysdevdocker/gitea:latest
``` ```
## Environment Variables
| Variable | Default | Description |
|----------|---------|-------------|
| `GITEA_EMAIL_CONFIRM` | `false` | Enable email notifications |
| `EMAIL_RELAY` | `172.17.0.1` | SMTP relay (Docker host gateway) |
| `SERVER_ADMIN` | `administrator@$HOSTNAME` | Admin email address |
| `RUNNERS_START` | `5` | Number of parallel CI/CD runners |
| `GITEA_HOSTNAME` | `$HOSTNAME` | Gitea server hostname |
| `TZ` | `America/New_York` | Timezone |
### Enable Email Notifications
```bash
docker run -d \
--privileged \
--name gitea \
-e GITEA_EMAIL_CONFIRM=yes \
-e EMAIL_RELAY=smtp.gmail.com \
-e SERVER_ADMIN=admin@example.com \
-p 80:80 -p 22:22 \
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-gitea/rootfs/data:/data:z" \
-v "$HOME/.local/share/srv/docker/casjaysdevdocker-gitea/rootfs/config:/config:z" \
casjaysdevdocker/gitea:latest
```
## via docker-compose ## via docker-compose
```yaml ```yaml

View File

@@ -166,6 +166,9 @@ ENDLESS_TASK_TIMEOUT = 3h
ABANDONED_JOB_TIMEOUT = 24h ABANDONED_JOB_TIMEOUT = 24h
SKIP_WORKFLOW_STRINGS = [skip ci],[ci skip],[no ci],[skip actions],[actions skip] SKIP_WORKFLOW_STRINGS = [skip ci],[ci skip],[no ci],[skip actions],[actions skip]
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[actions.artifacts]
ENABLED = true
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[storage.actions_log] [storage.actions_log]
STORAGE_TYPE = local STORAGE_TYPE = local
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -177,6 +180,13 @@ FROM = REPLACE_SERVER_ADMI
USER = USER =
PASSWD = PASSWD =
PROTOCOL = PROTOCOL =
SEND_AS_PLAIN_TEXT = false
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[email.incoming]
ENABLED = false
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[notify.email]
ENABLED = REPLACE_GITEA_EMAIL_CONFIRM
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[openid] [openid]
ENABLE_OPENID_SIGNIN = true ENABLE_OPENID_SIGNIN = true

View File

@@ -223,6 +223,13 @@ mkdir -p "/usr/local/etc/docker/exec"
touch "/data/logs/start.log" touch "/data/logs/start.log"
touch "/data/logs/entrypoint.log" touch "/data/logs/entrypoint.log"
# - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - -
# Enable cgroup v2 delegation for Docker-in-Docker
if [ -f "/sys/fs/cgroup/cgroup.controllers" ]; then
if [ -w "/sys/fs/cgroup/cgroup.subtree_control" ]; then
cat /sys/fs/cgroup/cgroup.controllers > /sys/fs/cgroup/cgroup.subtree_control 2>/dev/null || true
fi
fi
# - - - - - - - - - - - - - - - - - - - - - - - - -
# fix permissions # fix permissions
chmod -f 777 "/run" chmod -f 777 "/run"
chmod -f 777 "/tmp" chmod -f 777 "/tmp"

View File

@@ -227,6 +227,14 @@ __run_pre_execute_checks() {
__banner "$pre_execute_checks_MessageST" __banner "$pre_execute_checks_MessageST"
# Put command to execute in parentheses # Put command to execute in parentheses
{ {
# Fix cgroup v2 delegation for Docker-in-Docker
if [ -f "/sys/fs/cgroup/cgroup.controllers" ]; then
echo "Enabling cgroup v2 delegation for Docker-in-Docker"
# Enable all available controllers at root
if [ -w "/sys/fs/cgroup/cgroup.subtree_control" ]; then
cat /sys/fs/cgroup/cgroup.controllers > /sys/fs/cgroup/cgroup.subtree_control 2>/dev/null || true
fi
fi
[ -L "/config/docker/daemon.json" ] && unlink "/config/docker/daemon.json" [ -L "/config/docker/daemon.json" ] && unlink "/config/docker/daemon.json"
if [ -n "$DOCKER_REGISTRIES" ]; then if [ -n "$DOCKER_REGISTRIES" ]; then
local set_reg="" local set_reg=""

View File

@@ -182,9 +182,9 @@ GITEA_SQL_HOST="${GITEA_SQL_HOST:-localhost}"
GITEA_WORK_DIR="${GITEA_WORK_DIR:-$WORK_DIR}" GITEA_WORK_DIR="${GITEA_WORK_DIR:-$WORK_DIR}"
TZ="${GITEA_TZ:-${TZ:-America/New_York}}" TZ="${GITEA_TZ:-${TZ:-America/New_York}}"
SERVICE_PROTOCOL="${GITEA_PROTO:-$SERVICE_PROTOCOL}" SERVICE_PROTOCOL="${GITEA_PROTO:-$SERVICE_PROTOCOL}"
EMAIL_RELAY="${GITEA_EMAIL_RELAY:-${EMAIL_RELAY:-localhost}}" EMAIL_RELAY="${GITEA_EMAIL_RELAY:-${EMAIL_RELAY:-172.17.0.1}}"
SERVER_SITE_TITLE="${GITEA_NAME:-${SERVER_SITE_TITLE:-SelfHosted GIT Server}}" SERVER_SITE_TITLE="${GITEA_NAME:-${SERVER_SITE_TITLE:-SelfHosted GIT Server}}"
SERVER_ADMIN="${GITEA_ADMIN:-${SERVER_ADMIN:-gitea@${DOMAINNAME:-$GITEA_HOSTNAME}}}" SERVER_ADMIN="${GITEA_ADMIN:-${SERVER_ADMIN:-administrator@${HOSTNAME}}}"
GITEA_SERVER="${ENV_GITEA_SERVER:-$GITEA_SERVER}" GITEA_SERVER="${ENV_GITEA_SERVER:-$GITEA_SERVER}"
GITEA_EMAIL_CONFIRM="${GITEA_EMAIL_CONFIRM:-false}" GITEA_EMAIL_CONFIRM="${GITEA_EMAIL_CONFIRM:-false}"
GITEA_SQL_DB_HOST="${GITEA_SQL_DB_HOST:-localhost}" GITEA_SQL_DB_HOST="${GITEA_SQL_DB_HOST:-localhost}"