Gitea premier jet
This commit is contained in:
parent
afd4862172
commit
939d193847
|
@ -10,6 +10,15 @@ trigger_framadate:
|
||||||
- changes:
|
- changes:
|
||||||
- podman-framadate/*
|
- podman-framadate/*
|
||||||
|
|
||||||
|
trigger_gitea:
|
||||||
|
stage: triggers
|
||||||
|
trigger:
|
||||||
|
include: podman-gitea/.gitlab-ci.yml
|
||||||
|
strategy: depend
|
||||||
|
rules:
|
||||||
|
- changes:
|
||||||
|
- podman-gitea/*
|
||||||
|
|
||||||
trigger_jitsi:
|
trigger_jitsi:
|
||||||
stage: triggers
|
stage: triggers
|
||||||
trigger:
|
trigger:
|
||||||
|
|
24
podman-gitea/.gitlab-ci.yml
Normal file
24
podman-gitea/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# sed -n 's/^ - \(.*\)$/\1/p' .gitlab-ci.yml | bash
|
||||||
|
before_script:
|
||||||
|
- podman pod exists podman-gitea && podman pod rm --force podman-gitea
|
||||||
|
- rm -f ~/.config/systemd/user/pod-podman-gitea.service && systemctl --user daemon-reload
|
||||||
|
- podman volume exists podman-gitea_gitea-data && podman volume rm podman-gitea_gitea-data
|
||||||
|
- podman volume exists podman-gitea_gitea-pgsql && podman volume rm podman-gitea_gitea-pgsql
|
||||||
|
|
||||||
|
gitea:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- cd podman-gitea
|
||||||
|
- GARBAYE_GITEA_POSTGRES_PASSWORD=kejfczEAKjzkejklc GARBAYE_GITEA_ENV_WEBLISTENPORT=18088 ./05_freshinstall.sh
|
||||||
|
- ./20_enable.sh
|
||||||
|
- ./30_start.sh && sleep 10
|
||||||
|
- ./40_stop.sh
|
||||||
|
- ./70_disable.sh
|
||||||
|
- ./80_destroy.sh
|
||||||
|
- podman volume rm podman-gitea_gitea-data
|
||||||
|
- podman volume rm podman-gitea_gitea-pgsql
|
||||||
|
tags:
|
||||||
|
- garbaye
|
||||||
|
- compute
|
||||||
|
- podman
|
||||||
|
- x86_64
|
27
podman-gitea/05_freshinstall.sh
Executable file
27
podman-gitea/05_freshinstall.sh
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
ABSDIR="$( dirname "$(readlink -f -- "$0")" )"
|
||||||
|
source ${ABSDIR}/../functions.sh
|
||||||
|
source ${ABSDIR}/vars.sh
|
||||||
|
|
||||||
|
ensure_pwd_is_scriptdir
|
||||||
|
ensure_not_root
|
||||||
|
|
||||||
|
ensure_variables_are_defined "$envvars"
|
||||||
|
|
||||||
|
if podman volume exists ${dbvolume} ; then
|
||||||
|
echo "Error : DB volume ${dbvolume} already exists."
|
||||||
|
echo "Please remove it before a freshinstall, or continue with a standard installation."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if podman volume exists ${datavolume} ; then
|
||||||
|
echo "Error : DATA volume ${datavolume} already exists."
|
||||||
|
echo "Please remove it before a freshinstall, or continue with a standard installation."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
podman volume create ${dbvolume}
|
||||||
|
podman volume create ${datavolume}
|
||||||
|
|
||||||
|
${ABSDIR}/10_install.sh
|
62
podman-gitea/10_install.sh
Executable file
62
podman-gitea/10_install.sh
Executable file
|
@ -0,0 +1,62 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
ABSDIR="$( dirname "$(readlink -f -- "$0")" )"
|
||||||
|
source ${ABSDIR}/../functions.sh
|
||||||
|
source ${ABSDIR}/vars.sh
|
||||||
|
|
||||||
|
ensure_pwd_is_scriptdir
|
||||||
|
ensure_not_root
|
||||||
|
|
||||||
|
ensure_pod_not_exists ${pod_name}
|
||||||
|
ensure_variables_are_defined "$envvars"
|
||||||
|
|
||||||
|
if ! podman volume exists ${dbvolume} ; then
|
||||||
|
echo "Error : DB volume ${dbvolume} does not exists. Consider running 05_freshinstall.sh if this is the first install."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! podman volume exists ${datavolume} ; then
|
||||||
|
echo "Error : DATA volume ${datavolume} does not exists. Consider running 05_freshinstall.sh if this is the first install."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat <<EOT >> .env
|
||||||
|
APP_NAME=${GARBAYE_GITEA_APPNAME}
|
||||||
|
GITEA__database__DB_TYPE=postgres
|
||||||
|
GITEA__database__HOST=db:5432
|
||||||
|
GITEA__database__NAME=gitea
|
||||||
|
GITEA__database__PASSWD=${GARBAYE_GITEA_POSTGRES_PASSWORD}
|
||||||
|
GITEA__database__USER=gitea
|
||||||
|
GITEA__mailer__ENABLED=true
|
||||||
|
GITEA__mailer__FROM=${GARBAYE_GITEA_SMTP_FROM}
|
||||||
|
GITEA__mailer__HOST=${GARBAYE_GITEA_SMTP_SERVER}
|
||||||
|
GITEA__security__INSTALL_LOCK=true
|
||||||
|
GITEA__server__DOMAIN=${GARBAYE_GITEA_DOMAIN}
|
||||||
|
GITEA__server__SSH_DOMAIN=${GARBAYE_GITEA_DOMAIN}
|
||||||
|
GITEA__server__ROOT_URL="https://${GARBAYE_GITEA_DOMAIN}"
|
||||||
|
GITEA__server__SSH_PORT=${sshlisten_port}
|
||||||
|
GITEA__service__DISABLE_REGISTRATION=true
|
||||||
|
POSTGRES_DB=gitea
|
||||||
|
POSTGRES_PASSWORD=${GARBAYE_GITEA_POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_USER=gitea
|
||||||
|
EOT
|
||||||
|
|
||||||
|
export gitea_image
|
||||||
|
export gitea_version
|
||||||
|
export postgres_image
|
||||||
|
export postgres_version
|
||||||
|
export weblisten_if
|
||||||
|
export weblisten_port
|
||||||
|
export sshlisten_if
|
||||||
|
export sshlisten_port
|
||||||
|
|
||||||
|
source ${ABSDIR}/zz_build-images.sh
|
||||||
|
podman image exists ${gitea_image}:${gitea_version} &&
|
||||||
|
podman pull ${postgres_image}:${postgres_version} &&
|
||||||
|
podman-compose --podman-run-args "--env-file .env" up -d &&
|
||||||
|
echo -n "Waiting for gitea to finish starting " &&
|
||||||
|
( podman logs -f ${container_name} 2>&1 & ) | grep -q 'NewServer()' &&
|
||||||
|
echo "OK" &&
|
||||||
|
podman pod stop ${pod_name} &&
|
||||||
|
echo Pod built and stopped. &&
|
||||||
|
shred -u .env
|
1
podman-gitea/20_enable.sh
Symbolic link
1
podman-gitea/20_enable.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/20_enable_pod.sh
|
1
podman-gitea/30_start.sh
Symbolic link
1
podman-gitea/30_start.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/30_start_pod.sh
|
1
podman-gitea/40_stop.sh
Symbolic link
1
podman-gitea/40_stop.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/40_stop_pod.sh
|
1
podman-gitea/70_disable.sh
Symbolic link
1
podman-gitea/70_disable.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/70_disable_pod.sh
|
1
podman-gitea/80_destroy.sh
Symbolic link
1
podman-gitea/80_destroy.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/80_destroy_pod.sh
|
1
podman-gitea/90_prune.sh
Symbolic link
1
podman-gitea/90_prune.sh
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../_podman-common/90_prune_pod.sh
|
4
podman-gitea/README.md
Normal file
4
podman-gitea/README.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
To add a user (first admin or registration closed) :
|
||||||
|
```
|
||||||
|
podman exec --user 1000 gitea gitea admin user create --admin --username <name> --password <password> --email <email>
|
||||||
|
```
|
22
podman-gitea/docker-compose.yml
Normal file
22
podman-gitea/docker-compose.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
gitea:
|
||||||
|
image: "${gitea_image}:${gitea_version}"
|
||||||
|
container_name: gitea
|
||||||
|
environment:
|
||||||
|
- USER_UID=1000
|
||||||
|
- USER_GID=1000
|
||||||
|
volumes:
|
||||||
|
- gitea-data:/data:Z
|
||||||
|
ports:
|
||||||
|
- ${weblisten_if}:${weblisten_port}:3000
|
||||||
|
- ${sshlisten_if}:${sshlisten_port}:22
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: "${postgres_image}:${postgres_version}"
|
||||||
|
container_name: gitea-db
|
||||||
|
volumes:
|
||||||
|
- gitea-pgsql:/var/lib/postgresql/data:Z
|
26
podman-gitea/vars.sh
Normal file
26
podman-gitea/vars.sh
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
## vars
|
||||||
|
gitea_image="localhost/gitea/gitea"
|
||||||
|
gitea_version='1.16.8'
|
||||||
|
postgres_image="docker.io/library/postgres"
|
||||||
|
postgres_version='14'
|
||||||
|
## default vars : override with ENV var
|
||||||
|
weblisten_if="${GARBAYE_GITEA_ENV_WEBLISTENIF:-127.0.0.1}"
|
||||||
|
weblisten_port="${GARBAYE_GITEA_ENV_WEBLISTENPORT:-8088}"
|
||||||
|
sshlisten_if="${GARBAYE_GITEA_ENV_SSHLISTENIF:-0.0.0.0}"
|
||||||
|
sshlisten_port="${GARBAYE_GITEA_ENV_SSHLISTENPORT:-22222}"
|
||||||
|
GARBAYE_GITEA_APPNAME="${GARBAYE_GITEA_ENV_APPNAME:-Garbaye : forge GIT}"
|
||||||
|
GARBAYE_GITEA_SMTP_FROM="${GARBAYE_GITEA_ENV_SMTP_FROM:-git@garbaye.fr}"
|
||||||
|
GARBAYE_GITEA_DOMAIN="${GARBAYE_GITEA_ENV_DOMAIN:-git.garbaye.fr}"
|
||||||
|
## mandatory ENV vars
|
||||||
|
envvars='GARBAYE_GITEA_POSTGRES_PASSWORD'
|
||||||
|
## internal vars : do not touch
|
||||||
|
pod_name='podman-gitea'
|
||||||
|
service_name="pod-${pod_name}.service"
|
||||||
|
get_default_iface_ipv4 GARBAYE_GITEA_SMTP_SERVER
|
||||||
|
upstream_images="${gitea_image} ${postgres_image}"
|
||||||
|
confvolume='podman-gitea_gitea-config'
|
||||||
|
datavolume='podman-gitea_gitea-data'
|
||||||
|
dbvolume='podman-gitea_gitea-pgsql'
|
||||||
|
container_name='gitea'
|
||||||
|
db_container_name='gitea-db'
|
24
podman-gitea/zz_build-images.sh
Executable file
24
podman-gitea/zz_build-images.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
ABSDIR="$( dirname "$(readlink -f -- "$0")" )"
|
||||||
|
source ${ABSDIR}/../functions.sh
|
||||||
|
source ${ABSDIR}/vars.sh
|
||||||
|
|
||||||
|
ensure_pwd_is_scriptdir
|
||||||
|
ensure_not_root
|
||||||
|
|
||||||
|
buildfolder=/tmp/gitea-$$
|
||||||
|
|
||||||
|
if ! podman image exists ${gitea_image}:${gitea_version}; then
|
||||||
|
mkdir ${buildfolder} &&
|
||||||
|
curl -sSfL -- "https://dl.gitea.io/gitea/${gitea_version}/gitea-src-${gitea_version}.tar.gz" | tar xz -C ${buildfolder}/ && {
|
||||||
|
sed_in_place "^FROM golang" "FROM docker.io/library/golang" ${buildfolder}/Dockerfile
|
||||||
|
sed_in_place "^FROM alpine" "FROM docker.io/library/alpine" ${buildfolder}/Dockerfile
|
||||||
|
TMPDIR=${HOME} podman image build -t ${gitea_image}:${gitea_version} -f ${buildfolder}/Dockerfile ${buildfolder}
|
||||||
|
}
|
||||||
|
rm -rf ${buildfolder}
|
||||||
|
podman image prune -a -f --filter dangling=true
|
||||||
|
podman image prune -a -f --filter intermediate=true
|
||||||
|
podman image rm -f $(podman images -a -q -- docker.io/library/golang)
|
||||||
|
podman image rm -f $(podman images -a -q -- docker.io/library/alpine)
|
||||||
|
fi
|
Loading…
Reference in a new issue