Forgejo mass delete users

docker ps
forgejo-forgejo-1 21f2d56a6a65 mariadb:10.11 "docke r-entrypoint.s…" 11 days ago Up 9 days 3306/ tcp forgejo-db-1 fdb42def5dd5 nginx:alpine "/dock er-entrypoint.…" 2 months ago Up 9 days 0.0.0 .0:2283->80/tcp, [::]:2283->80/tcp
docker exec -it --user git forgejo-forgejo-1 /bin/bash

Check list and keep first 5

forgejo admin user list | awk ‘NR>1 {print $1}’ | sort -n | sed -n ‘6,$p’

Delet all and kep first 5 ID can be changed the number to keep

forgejo admin user list | awk 'NR>1 {print $1}' | sort -n | sed -n '6,$p' | xargs -r -n1 forgejo admin user delete --id

Update

root@ynm:/opt/forgejo/data/gitea/conf# docker inspect forgejo-db-1 --format ‘{{range .Config.Env}}{{println .}}{{end}}’

root@ynm:/opt/forgejo/data/gitea/conf# docker inspect forgejo-db-1 --format '{{range .Config.Env}}{{println .}}{{end}}'
MYSQL_DATABASE=forgejo
MYSQL_USER=forgejo
MYSQL_PASSWORD=forgejo-pass
MYSQL_ROOT_PASSWORD=strong-root-pass
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GOSU_VERSION=1.17
LANG=C.UTF-8
MARIADB_VERSION=1:10.11.14+maria~ubu2204


docker exec -it forgejo-db-1 mariadb -u root -p
USE forgejo;
SELECT id, name, owner_id FROM repository WHERE owner_id=276;
or
-- Kepp first 5 ID: 1,2,3,4,5
DELETE FROM repository WHERE owner_id NOT IN (1,2,3,4,5);


exit & 

docker exec -it --user git forgejo-forgejo-1 bash -c \
'forgejo admin user list | awk "NR>1 {print \$1}" | sort -n | sed -n "6,\$p" | xargs -r -n1 forgejo admin user delete --id'