mirror of
https://github.com/casjaysdevdocker/gitea
synced 2026-06-24 02:01:03 -04:00
🐛 Fix DATABASE_DIR_SQLITE override; 📝 correct docker run example 🐛
DATABASE_DIR fix: The previous override hardcoded $DATA_DIR/db/sqlite, ignoring DATABASE_DIR_SQLITE when it was explicitly set via env var. Changed to respect DATABASE_DIR_SQLITE and only fall back to $DATA_DIR/db/sqlite when the env var is not provided. README: - docker run and compose examples updated to match actual working flags: --cgroupns private, --tty, --cap-add CHOWN/SYS_TIME/SYS_ADMIN, --hostname FQDN, --domainname, GITEA_PROTO, DATABASE_DIR_SQLITE with a separate sqlite volume mount - Removed non-functional vars from examples (CONTAINER_PROTOCOL, CONTAINER_DEFAULT_DATABASE_TYPE, DATABASE_BASE_DIR, WEB_PORT) - Added DATABASE_DIR_SQLITE to the database env var table - rootfs/usr/local/etc/docker/init.d/08-gitea.sh: respect DATABASE_DIR_SQLITE env var - README.md: fix docker run/compose examples, add DATABASE_DIR_SQLITE to table README.md rootfs/usr/local/etc/docker/init.d/08-gitea.sh
This commit is contained in:
@@ -10,14 +10,24 @@ A self-hosted Docker image for [Gitea](https://gitea.io) — a lightweight, fast
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run -d \
|
docker run -d \
|
||||||
--restart always \
|
|
||||||
--privileged \
|
|
||||||
--name casjaysdevdocker-gitea-latest \
|
--name casjaysdevdocker-gitea-latest \
|
||||||
--hostname git \
|
--privileged \
|
||||||
|
--restart always \
|
||||||
|
--tty \
|
||||||
|
--cgroupns private \
|
||||||
|
--hostname git.example.com \
|
||||||
|
--domainname example.com \
|
||||||
|
--network bridge \
|
||||||
|
--cap-add CHOWN \
|
||||||
|
--cap-add SYS_TIME \
|
||||||
|
--cap-add SYS_ADMIN \
|
||||||
-e TZ=America/New_York \
|
-e TZ=America/New_York \
|
||||||
-e GITEA_SERVER=git.example.com \
|
-e HOSTNAME=git.example.com \
|
||||||
|
-e GITEA_PROTO=http \
|
||||||
|
-e DATABASE_DIR_SQLITE=/data/db/sqlite \
|
||||||
-v /srv/docker/gitea/data:/data:z \
|
-v /srv/docker/gitea/data:/data:z \
|
||||||
-v /srv/docker/gitea/config:/config:z \
|
-v /srv/docker/gitea/config:/config:z \
|
||||||
|
-v /srv/docker/databases/sqlite/gitea:/data/db/sqlite:z \
|
||||||
-p 80:80 \
|
-p 80:80 \
|
||||||
-p 22:22 \
|
-p 22:22 \
|
||||||
casjaysdevdocker/gitea:latest
|
casjaysdevdocker/gitea:latest
|
||||||
@@ -30,16 +40,24 @@ services:
|
|||||||
gitea:
|
gitea:
|
||||||
image: casjaysdevdocker/gitea:latest
|
image: casjaysdevdocker/gitea:latest
|
||||||
container_name: casjaysdevdocker-gitea-latest
|
container_name: casjaysdevdocker-gitea-latest
|
||||||
hostname: git
|
hostname: git.example.com
|
||||||
|
domainname: example.com
|
||||||
privileged: true
|
privileged: true
|
||||||
|
tty: true
|
||||||
restart: always
|
restart: always
|
||||||
|
cap_add:
|
||||||
|
- CHOWN
|
||||||
|
- SYS_TIME
|
||||||
|
- SYS_ADMIN
|
||||||
environment:
|
environment:
|
||||||
- TZ=America/New_York
|
- TZ=America/New_York
|
||||||
- GITEA_SERVER=git.example.com
|
- HOSTNAME=git.example.com
|
||||||
- GITEA_PROTO=https
|
- GITEA_PROTO=http
|
||||||
|
- DATABASE_DIR_SQLITE=/data/db/sqlite
|
||||||
volumes:
|
volumes:
|
||||||
- /srv/docker/gitea/data:/data:z
|
- /srv/docker/gitea/data:/data:z
|
||||||
- /srv/docker/gitea/config:/config:z
|
- /srv/docker/gitea/config:/config:z
|
||||||
|
- /srv/docker/databases/sqlite/gitea:/data/db/sqlite:z
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 22:22
|
- 22:22
|
||||||
@@ -95,6 +113,7 @@ services:
|
|||||||
| `GITEA_SQL_USER` | _(empty)_ | Database user (external DB only) |
|
| `GITEA_SQL_USER` | _(empty)_ | Database user (external DB only) |
|
||||||
| `GITEA_SQL_PASS` | _(empty)_ | Database password (external DB only) |
|
| `GITEA_SQL_PASS` | _(empty)_ | Database password (external DB only) |
|
||||||
| `GITEA_SQL_NAME` | _(empty)_ | Database name (external DB only) |
|
| `GITEA_SQL_NAME` | _(empty)_ | Database name (external DB only) |
|
||||||
|
| `DATABASE_DIR_SQLITE` | `$DATA_DIR/db/sqlite` | Override the SQLite database directory (mount a separate volume here to keep the DB outside `/data`) |
|
||||||
|
|
||||||
**act\_runner**
|
**act\_runner**
|
||||||
|
|
||||||
|
|||||||
@@ -832,8 +832,8 @@ elif [ "$SERVICE_NAME" = "sqlite" ] || [ "$DATABASE_SERVICE_TYPE" = "sqlite" ];
|
|||||||
[ -d "$DATABASE_DIR" ] || mkdir -p "$DATABASE_DIR"
|
[ -d "$DATABASE_DIR" ] || mkdir -p "$DATABASE_DIR"
|
||||||
chmod 777 "$DATABASE_DIR"
|
chmod 777 "$DATABASE_DIR"
|
||||||
fi
|
fi
|
||||||
# Override: gitea always uses a fixed sqlite path under DATA_DIR, not the generic /data/db/sqlite/$SERVER_NAME
|
# Override: pin to a predictable path — respect DATABASE_DIR_SQLITE if set, otherwise use DATA_DIR
|
||||||
DATABASE_DIR="$DATA_DIR/db/sqlite"
|
DATABASE_DIR="${DATABASE_DIR_SQLITE:-$DATA_DIR/db/sqlite}"
|
||||||
[ -d "$DATABASE_DIR" ] || mkdir -p "$DATABASE_DIR"
|
[ -d "$DATABASE_DIR" ] || mkdir -p "$DATABASE_DIR"
|
||||||
[ -n "$DATABASE_ADMIN_WWW_ROOT" ] && { [ ! -d "$DATABASE_ADMIN_WWW_ROOT" ] || mkdir -p "${DATABASE_ADMIN_WWW_ROOT}"; }
|
[ -n "$DATABASE_ADMIN_WWW_ROOT" ] && { [ ! -d "$DATABASE_ADMIN_WWW_ROOT" ] || mkdir -p "${DATABASE_ADMIN_WWW_ROOT}"; }
|
||||||
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
# - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|||||||
Reference in New Issue
Block a user