Compare commits

..

5 Commits

7 changed files with 68 additions and 106 deletions

View File

@ -1 +1 @@
Eolisation de Gitea ! Eolisation de Gogs !

2
debian/control vendored
View File

@ -8,7 +8,7 @@ Homepage: https://forge.cadoles.com/Cadoles/eole-gitea
Vcs-Git: https://forge.cadoles.com/Cadoles/eole-gitea.git Vcs-Git: https://forge.cadoles.com/Cadoles/eole-gitea.git
Vcs-Browser: https://forge.cadoles.com/Cadoles/eole-redis Vcs-Browser: https://forge.cadoles.com/Cadoles/eole-redis
Package: eole-gitea Package: eole-redis
Architecture: all Architecture: all
Depends: ${misc:Depends}, git-core, eole-db, eole-mysql Depends: ${misc:Depends}, git-core, eole-db, eole-mysql
Description: Dictionnaires et templates pour la configuration d'un serveur Gitea, testée uniquement avec eolebase Description: Dictionnaires et templates pour la configuration d'un serveur Gitea, testée uniquement avec eolebase

View File

@ -48,7 +48,7 @@
<variable name='gitea_web_name' type='string' description='Nom DNS de la forge' mandatory='True'/> <variable name='gitea_web_name' type='string' description='Nom DNS de la forge' mandatory='True'/>
<variable name='git_root' type='string' description='Repertoire des dépôts git' mandatory='True'> <variable name='git_root' type='string' description='Repertoire des dépôts git' mandatory='True'>
<value>/srv/forge/git</value> <value>/var/db/gitea/repo</value>
</variable> </variable>
<variable name='gitea_registration' type='oui/non' description="Les utilisateurs peuvent s'enregistrer"> <variable name='gitea_registration' type='oui/non' description="Les utilisateurs peuvent s'enregistrer">
<value>non</value> <value>non</value>

View File

@ -16,19 +16,24 @@ HOMEDIR="${WKDIR}/${USER}"
OS="linux" OS="linux"
ARCH="amd64" ARCH="amd64"
APPVERSION="1.8.3" APPVERSION="1.5.2"
APPNAME="gitea" APPNAME="gitea"
APPBINARY="gitea" APPBINARY="gitea"
APPSIG="7C9E68152594688862D62AF62D9AE806EC1592E2" APPSIG="7C9E68152594688862D62AF62D9AE806EC1592E2"
APPASC="${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc" APPASC="${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc"
KEYSERV="hkp://p80.pool.sks-keyservers.net:80" KEYSERV="pgp.mit.edu"
DLSERV="dl.gitea.io" DLSERV="dl.gitea.io"
APPDIR="${WKDIR}/gitea" APPDIR="${WKDIR}/gitea"
APPBINDIR="${APPDIR}/bin" APPBINDIR="${APPDIR}/bin"
APPCONFDIR="/etc/${APPNAME}" APPCONFDIR="/etc/${APPNAME}"
function configure_proxy { if [[ -d ${APPCONFDIR} ]]
then
exit 0
fi
proxy=$(CreoleGet activer_proxy_client non) proxy=$(CreoleGet activer_proxy_client non)
if [[ ${proxy} == "oui" ]] if [[ ${proxy} == "oui" ]]
then then
prAddr=$(CreoleGet proxy_client_adresse) prAddr=$(CreoleGet proxy_client_adresse)
@ -38,34 +43,15 @@ function configure_proxy {
export HTTPS_PROXY=http://${prAddr}:${prPort} export HTTPS_PROXY=http://${prAddr}:${prPort}
export https_proxy=http://${prAddr}:${prPort} export https_proxy=http://${prAddr}:${prPort}
fi fi
}
function create_app_dir { if [[ ! -d ${APPDIR} ]]
then
mkdir -p "${APPDIR}" mkdir -p ${APPDIR}
chown ${USER}:${GROUP} "${APPDIR}" -R chown ${USER}:${GROUP} ${APPDIR} -R
# Create app structure
mkdir -p ${APPDIR}/{custom,data,indexers,public,log}
chown ${USER}:${GROUP} ${APPDIR}/{data,indexers,log}
chmod 750 ${APPDIR}/{data,indexers,log}
mkdir -p "${APPCONFDIR}"
chown root:${GROUP} ${APPCONFDIR}
chmod 770 "${APPCONFDIR}"
mkdir -p "${APPBINDIR}"
chown ${USER}:${GROUP} "${APPBINDIR}"
}
function create_user_and_group {
local existing_group=$(getent group ${GROUP})
if [ -z "${existing_group}" ]; then
groupadd ${GROUP}
fi fi
local existing_user=$(getent passwd ${USER}) # Create app user and group
if [ -z "${existing_user}" ]; then groupadd ${GROUP}
adduser \ adduser \
--shell ${USERSHELL} \ --shell ${USERSHELL} \
--gecos "${GECOS}" \ --gecos "${GECOS}" \
@ -73,63 +59,38 @@ function create_user_and_group {
--disabled-password \ --disabled-password \
--home ${HOMEDIR} \ --home ${HOMEDIR} \
${USER} ${USER}
fi
}
function download_binary { # Create app structure
local temp_bin=$(mktemp) mkdir -p ${APPDIR}/{custom,data,indexers,public,log}
chown ${USER}:${GROUP} ${APPDIR}/{data,indexers,log}
chmod 750 ${APPDIR}/{data,indexers,log}
mkdir ${APPCONFDIR}
chown root:${GROUP} ${APPCONFDIR}
chmod 770 ${APPCONFDIR}
wget -O "${temp_bin}" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH} if [[ ! -d ${APPBINDIR} ]]
if [[ $? -ne 0 ]]
then then
echo "Error downloading binary for ${APPNAME}" mkdir -p ${APPBINDIR}
return 123 chown ${USER}:${GROUP} ${APPBINDIR}
fi
wget -O "${temp_bin}.asc" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
gpg --keyserver ${KEYSERV} --recv ${APPSIG}
gpg --verify "${temp_bin}.asc" "${temp_bin}"
if [[ $? -ne 0 ]]
then
echo "Error downloading binary for ${APPNAME}"
return 123
fi fi
cd $APPBINDIR cd $APPBINDIR
chmod +x "${temp_bin}" if [[ ! -f ${APPBINARY} ]]
mv -f "${temp_bin}" ${APPBINARY}
cd -
}
function current_gitea_version {
if [[ ! -f "${APPBINDIR}/${APPBINARY}" ]]
then then
return wget -O ${APPBINARY} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
fi if [[ $? -eq 0 ]]
"${APPBINDIR}/${APPBINARY}" --version | cut -d' ' -f 3
}
function main {
# Check that installed version if ok
local current_version=$(current_gitea_version)
if [ "$current_version" == "$APPVERSION" ]; then
exit 0
fi
if [ -z "$current_version" ]
then then
echo "Installing Gitea ${APPVERSION}..." chmod +x ${APPBINARY}
else else
echo "Upgrade Gitea from ${current_version} to ${APPVERSION}..." echo "Error downloading binary for ${APPNAME}"
return 123
fi
fi fi
configure_proxy if [[ ! -f ${APPASC} ]]
create_user_and_group then
create_app_dir wget -O ${APPASC} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
download_binary gpg --keyserver ${KEYSERV} --recv ${APPSIG}
gpg --verify ${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc ${APPBINARY}
} fi
cd -
main

View File

@ -10,7 +10,7 @@ After=redis.service
[Service] [Service]
#LimitMEMLOCK=infinity #LimitMEMLOCK=infinity
#LimitNOFILE=65535 #LimitNOFILE=65535
RestartSec=4s RestartSec=2s
Type=simple Type=simple
User=git User=git
Group=gitservice Group=gitservice

View File

@ -34,7 +34,8 @@ createscript: "/usr/share/eole/db/gitea/gen/00-create-gitea-db.sql"
%set cnt_prefix = %%getVar('container_path_reseau', '') %set cnt_prefix = %%getVar('container_path_reseau', '')
pwd_files: pwd_files:
- {file: '%%cnt_prefix/etc/gitea/conf/app.ini', - {file: '%%cnt_prefix/etc/gitea/conf/app.ini',
pattern: 'PASSWD = `', pattern: 'PASSWD = ',
end_pattern: '`', end_pattern: '',
owner: 'root:gitservice', owner: 'root:gitservice',
mod: '660' } mod: '660' }

View File

@ -70,7 +70,7 @@ HOST = %%{gitea_dbserver}:%%{gitea_dbport}
%end if %end if
NAME = gitea NAME = gitea
USER = gitea USER = gitea
PASSWD = `gitea1234` PASSWD=gitea1234
; For "postgres" only, either "disable", "require" or "verify-full" ; For "postgres" only, either "disable", "require" or "verify-full"
SSL_MODE = disable SSL_MODE = disable
; For "sqlite3" only ; For "sqlite3" only