Compare commits
14 Commits
pkg/dev/eo
...
pkg/dev/eo
Author | SHA1 | Date | |
---|---|---|---|
5fa6632153 | |||
e42436c303 | |||
22525b938a | |||
054bdf790a | |||
e5c7da0072 | |||
11a467a98e | |||
a5e06df596 | |||
9e541f5c9d | |||
42bd76ac8b | |||
94fb92496f | |||
08aef8d219 | |||
272f206d85 | |||
a68203c7e5 | |||
e09e1f03f1 |
2
debian/control
vendored
2
debian/control
vendored
@ -8,7 +8,7 @@ Homepage: https://forge.cadoles.com/Cadoles/eole-gitea
|
||||
Vcs-Git: https://forge.cadoles.com/Cadoles/eole-gitea.git
|
||||
Vcs-Browser: https://forge.cadoles.com/Cadoles/eole-redis
|
||||
|
||||
Package: eole-redis
|
||||
Package: eole-gitea
|
||||
Architecture: all
|
||||
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
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
<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'>
|
||||
<value>/var/db/gitea/repo</value>
|
||||
<value>/srv/forge/git</value>
|
||||
</variable>
|
||||
<variable name='gitea_registration' type='oui/non' description="Les utilisateurs peuvent s'enregistrer">
|
||||
<value>non</value>
|
||||
|
@ -16,81 +16,120 @@ HOMEDIR="${WKDIR}/${USER}"
|
||||
OS="linux"
|
||||
ARCH="amd64"
|
||||
|
||||
APPVERSION="1.5.2"
|
||||
APPVERSION="1.8.3"
|
||||
APPNAME="gitea"
|
||||
APPBINARY="gitea"
|
||||
APPSIG="7C9E68152594688862D62AF62D9AE806EC1592E2"
|
||||
APPASC="${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc"
|
||||
KEYSERV="pgp.mit.edu"
|
||||
KEYSERV="hkp://p80.pool.sks-keyservers.net:80"
|
||||
DLSERV="dl.gitea.io"
|
||||
APPDIR="${WKDIR}/gitea"
|
||||
APPBINDIR="${APPDIR}/bin"
|
||||
APPCONFDIR="/etc/${APPNAME}"
|
||||
|
||||
if [[ -d ${APPCONFDIR} ]]
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
function configure_proxy {
|
||||
proxy=$(CreoleGet activer_proxy_client non)
|
||||
if [[ ${proxy} == "oui" ]]
|
||||
then
|
||||
prAddr=$(CreoleGet proxy_client_adresse)
|
||||
prPort=$(CreoleGet proxy_client_port)
|
||||
export HTTP_PROXY=http://${prAddr}:${prPort}
|
||||
export http_proxy=http://${prAddr}:${prPort}
|
||||
export HTTPS_PROXY=http://${prAddr}:${prPort}
|
||||
export https_proxy=http://${prAddr}:${prPort}
|
||||
fi
|
||||
}
|
||||
|
||||
proxy=$(CreoleGet activer_proxy_client non)
|
||||
function create_app_dir {
|
||||
|
||||
mkdir -p "${APPDIR}"
|
||||
chown ${USER}:${GROUP} "${APPDIR}" -R
|
||||
|
||||
if [[ ${proxy} == "oui" ]]
|
||||
then
|
||||
prAddr=$(CreoleGet proxy_client_adresse)
|
||||
prPort=$(CreoleGet proxy_client_port)
|
||||
export HTTP_PROXY=http://${prAddr}:${prPort}
|
||||
export http_proxy=http://${prAddr}:${prPort}
|
||||
export HTTPS_PROXY=http://${prAddr}:${prPort}
|
||||
export https_proxy=http://${prAddr}:${prPort}
|
||||
fi
|
||||
# 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}"
|
||||
|
||||
if [[ ! -d ${APPDIR} ]]
|
||||
then
|
||||
mkdir -p ${APPDIR}
|
||||
chown ${USER}:${GROUP} ${APPDIR} -R
|
||||
fi
|
||||
mkdir -p "${APPBINDIR}"
|
||||
chown ${USER}:${GROUP} "${APPBINDIR}"
|
||||
|
||||
# Create app user and group
|
||||
groupadd ${GROUP}
|
||||
adduser \
|
||||
--shell ${USERSHELL} \
|
||||
--gecos "${GECOS}" \
|
||||
--ingroup ${GROUP} \
|
||||
--disabled-password \
|
||||
--home ${HOMEDIR} \
|
||||
${USER}
|
||||
}
|
||||
|
||||
# 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 ${APPCONFDIR}
|
||||
chown root:${GROUP} ${APPCONFDIR}
|
||||
chmod 770 ${APPCONFDIR}
|
||||
function create_user_and_group {
|
||||
local existing_group=$(getent group ${GROUP})
|
||||
if [ -z "${existing_group}" ]; then
|
||||
groupadd ${GROUP}
|
||||
fi
|
||||
|
||||
if [[ ! -d ${APPBINDIR} ]]
|
||||
then
|
||||
mkdir -p ${APPBINDIR}
|
||||
chown ${USER}:${GROUP} ${APPBINDIR}
|
||||
fi
|
||||
local existing_user=$(getent passwd ${USER})
|
||||
if [ -z "${existing_user}" ]; then
|
||||
adduser \
|
||||
--shell ${USERSHELL} \
|
||||
--gecos "${GECOS}" \
|
||||
--ingroup ${GROUP} \
|
||||
--disabled-password \
|
||||
--home ${HOMEDIR} \
|
||||
${USER}
|
||||
fi
|
||||
}
|
||||
|
||||
cd $APPBINDIR
|
||||
if [[ ! -f ${APPBINARY} ]]
|
||||
then
|
||||
wget -O ${APPBINARY} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
|
||||
if [[ $? -eq 0 ]]
|
||||
then
|
||||
chmod +x ${APPBINARY}
|
||||
else
|
||||
echo "Error downloading binary for ${APPNAME}"
|
||||
return 123
|
||||
fi
|
||||
fi
|
||||
function download_binary {
|
||||
local temp_bin=$(mktemp)
|
||||
|
||||
if [[ ! -f ${APPASC} ]]
|
||||
then
|
||||
wget -O ${APPASC} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
|
||||
wget -O "${temp_bin}" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "Error downloading binary for ${APPNAME}"
|
||||
return 123
|
||||
fi
|
||||
|
||||
wget -O "${temp_bin}.asc" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
|
||||
gpg --keyserver ${KEYSERV} --recv ${APPSIG}
|
||||
gpg --verify ${APPNAME}-${APPVERSION}-${OS}-${ARCH}.asc ${APPBINARY}
|
||||
fi
|
||||
cd -
|
||||
gpg --verify "${temp_bin}.asc" "${temp_bin}"
|
||||
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "Error downloading binary for ${APPNAME}"
|
||||
return 123
|
||||
fi
|
||||
|
||||
cd $APPBINDIR
|
||||
chmod +x "${temp_bin}"
|
||||
mv -f "${temp_bin}" ${APPBINARY}
|
||||
cd -
|
||||
}
|
||||
|
||||
function current_gitea_version {
|
||||
if [[ ! -f "${APPBINDIR}/${APPBINARY}" ]]
|
||||
then
|
||||
return
|
||||
fi
|
||||
"${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
|
||||
echo "Installing Gitea ${APPVERSION}..."
|
||||
else
|
||||
echo "Upgrade Gitea from ${current_version} to ${APPVERSION}..."
|
||||
fi
|
||||
|
||||
configure_proxy
|
||||
create_user_and_group
|
||||
create_app_dir
|
||||
download_binary
|
||||
|
||||
}
|
||||
|
||||
main
|
@ -10,7 +10,7 @@ After=redis.service
|
||||
[Service]
|
||||
#LimitMEMLOCK=infinity
|
||||
#LimitNOFILE=65535
|
||||
RestartSec=2s
|
||||
RestartSec=4s
|
||||
Type=simple
|
||||
User=git
|
||||
Group=gitservice
|
||||
|
@ -70,7 +70,7 @@ HOST = %%{gitea_dbserver}:%%{gitea_dbport}
|
||||
%end if
|
||||
NAME = gitea
|
||||
USER = gitea
|
||||
PASSWD=gitea1234
|
||||
PASSWD = gitea1234
|
||||
; For "postgres" only, either "disable", "require" or "verify-full"
|
||||
SSL_MODE = disable
|
||||
; For "sqlite3" only
|
||||
|
Reference in New Issue
Block a user