Compare commits
19 Commits
pkg/dev/eo
...
develop
Author | SHA1 | Date | |
---|---|---|---|
3b7bda63e8 | |||
bf7053a59a | |||
d10861f58a | |||
487bcb6f0d | |||
60a65d21f1 | |||
64dde6d518 | |||
ad3a51f33a | |||
0320506812 | |||
28f2bd2315 | |||
aff3f9cee7 | |||
d8bce9cd51 | |||
0839f68e18 | |||
93b96fb8e0 | |||
e42436c303 | |||
054bdf790a | |||
9e541f5c9d | |||
42bd76ac8b | |||
08aef8d219 | |||
e09e1f03f1 |
4
Makefile
4
Makefile
@ -3,8 +3,8 @@
|
||||
################################
|
||||
|
||||
SOURCE=eole-gitea
|
||||
VERSION=1.5.2
|
||||
EOLE_VERSION=2.6.2
|
||||
VERSION=1.13.2
|
||||
EOLE_VERSION=2.7.2
|
||||
PKGAPPS=non
|
||||
#FLASK_MODULE=<APPLICATION>
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
<files>
|
||||
<!-- Je suis un commentaire -->
|
||||
<file filelist='gitea-nginx' name='/etc/nginx/sites-available/gitea' source='gitea.nginx' mkdir='True' rm='True'/>
|
||||
<file filelist='gitea' name='/usr/share/eole/bastion/data/51-gitea-nat_rules' mkdir='True' rm='True' mode='0755'/>
|
||||
<file filelist='gitea' name='/etc/eole/eole-db.d/gitea-db.yml' rm='True' mkdir='True'/>
|
||||
@ -13,16 +12,14 @@
|
||||
<containers>
|
||||
<container name='forge' id='101'>
|
||||
<package>apt-transport-https</package>
|
||||
<package>git-core</package>
|
||||
<!-- FIXME this have to be installed <package>gitea</package> -->
|
||||
<package>git</package>
|
||||
<file filelist='gitea' name='/etc/gitea/conf/app.ini' source='gitea.conf' mkdir='True' rm='True' mode='770' owner='root' group='gitservice'/>
|
||||
<!-- <service servicelist='xxxx'>nom-du-service-a-lancer-dans-le-conteneur</service> -->
|
||||
<service servicelist='gitea'>forge</service>
|
||||
<service_access service='gitea_without_nginx'>
|
||||
<port service_accesslist="gitea_without_nginx" port_type="SymLinkOption">gitea_http_port</port>
|
||||
</service_access>
|
||||
<service_access service='gitea_ssh'>
|
||||
<tcpwrapper>sshd</tcpwrapper>
|
||||
<port service_accesslist="gitea_ssh'" port_type="SymLinkOption">gitea_ssh_port</port>
|
||||
</service_access>
|
||||
</container>
|
||||
</containers>
|
||||
@ -40,6 +37,8 @@
|
||||
<value>non</value>
|
||||
</variable>
|
||||
<variable name='gitea_mail_from' type='string' description="Adresse courriel a l'origine des messages de la forge"/>
|
||||
<variable name='gitea_smtp_srv' type='string' description="Adresse IP ou DNS du serveur SMTP à utiliser"/>
|
||||
<variable name='gitea_smtp_prt' type='port' description="Port du serveur SMTP à utiliser"/>
|
||||
<variable name='gitea_mail_auth' type='oui/non' description="Utiliser un compte pour le serveur smtp">
|
||||
<value>non</value>
|
||||
</variable>
|
||||
@ -48,7 +47,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>
|
||||
@ -80,6 +79,10 @@
|
||||
<condition name='hidden_if_in' source='gitea_mail'>
|
||||
<param>non</param>
|
||||
<target type='variable'>gitea_mail_from</target>
|
||||
<target type='variable'>gitea_smtp_srv</target>
|
||||
<target type='variable'>gitea_smtp_prt</target>
|
||||
<target type='variable'>gitea_email_user</target>
|
||||
<target type='variable'>gitea_email_password</target>
|
||||
</condition>
|
||||
<condition name='disabled_if_in' source='activer_gitea'>
|
||||
<param>non</param>
|
||||
|
@ -16,81 +16,120 @@ HOMEDIR="${WKDIR}/${USER}"
|
||||
OS="linux"
|
||||
ARCH="amd64"
|
||||
|
||||
APPVERSION="1.5.2"
|
||||
APPVERSION="1.16.8"
|
||||
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
|
||||
|
||||
proxy=$(CreoleGet activer_proxy_client non)
|
||||
|
||||
if [[ ${proxy} == "oui" ]]
|
||||
then
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ ! -d ${APPDIR} ]]
|
||||
then
|
||||
mkdir -p ${APPDIR}
|
||||
chown ${USER}:${GROUP} ${APPDIR} -R
|
||||
fi
|
||||
function create_app_dir {
|
||||
|
||||
# Create app user and group
|
||||
groupadd ${GROUP}
|
||||
adduser \
|
||||
mkdir -p "${APPDIR}"
|
||||
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
|
||||
|
||||
local existing_user=$(getent passwd ${USER})
|
||||
if [ -z "${existing_user}" ]; then
|
||||
adduser \
|
||||
--shell ${USERSHELL} \
|
||||
--gecos "${GECOS}" \
|
||||
--ingroup ${GROUP} \
|
||||
--disabled-password \
|
||||
--home ${HOMEDIR} \
|
||||
${USER}
|
||||
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 ${APPCONFDIR}
|
||||
chown root:${GROUP} ${APPCONFDIR}
|
||||
chmod 770 ${APPCONFDIR}
|
||||
function download_binary {
|
||||
local temp_bin=$(mktemp)
|
||||
|
||||
if [[ ! -d ${APPBINDIR} ]]
|
||||
then
|
||||
mkdir -p ${APPBINDIR}
|
||||
chown ${USER}:${GROUP} ${APPBINDIR}
|
||||
fi
|
||||
|
||||
cd $APPBINDIR
|
||||
if [[ ! -f ${APPBINARY} ]]
|
||||
then
|
||||
wget -O ${APPBINARY} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
|
||||
if [[ $? -eq 0 ]]
|
||||
wget -O "${temp_bin}" https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPNAME}-${APPVERSION}-${OS}-${ARCH}
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
chmod +x ${APPBINARY}
|
||||
else
|
||||
echo "Error downloading binary for ${APPNAME}"
|
||||
return 123
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -f ${APPASC} ]]
|
||||
then
|
||||
wget -O ${APPASC} https://${DLSERV}/${APPNAME}/${APPVERSION}/${APPASC}
|
||||
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
|
||||
|
@ -34,8 +34,7 @@ createscript: "/usr/share/eole/db/gitea/gen/00-create-gitea-db.sql"
|
||||
%set cnt_prefix = %%getVar('container_path_reseau', '')
|
||||
pwd_files:
|
||||
- {file: '%%cnt_prefix/etc/gitea/conf/app.ini',
|
||||
pattern: 'PASSWD = ',
|
||||
end_pattern: '',
|
||||
pattern: 'PASSWD = `',
|
||||
end_pattern: '`',
|
||||
owner: 'root:gitservice',
|
||||
mod: '660' }
|
||||
|
||||
|
@ -30,6 +30,7 @@ HTTP_ADDR =
|
||||
HTTP_PORT = %%gitea_http_port
|
||||
; Disable SSH feature when not available
|
||||
DISABLE_SSH = false
|
||||
START_SSH_SERVER = true
|
||||
SSH_PORT = %%gitea_ssh_port
|
||||
; Disable CDN even in "prod" mode
|
||||
OFFLINE_MODE = false
|
||||
@ -59,18 +60,18 @@ DB_TYPE = mysql
|
||||
%set %%dbMode = %%getVar("gitea_db_mode")
|
||||
%if %%dbMode == "default"
|
||||
%if %%edb_local == "oui"
|
||||
HOST = 127.0.0.1:3306
|
||||
HOST = /var/run/mysqld/mysqld.sock
|
||||
%else
|
||||
HOST = %%{edb_host}:%%{edb_port}
|
||||
%end if
|
||||
%elif %%dbMode == "local"
|
||||
HOST = 127.0.0.1:3306
|
||||
HOST = /var/run/mysqld/mysqld.sock
|
||||
%elif %%dbMode == "externe"
|
||||
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
|
||||
@ -136,11 +137,7 @@ SUBJECT = %(APP_NAME)s
|
||||
; Gmail: smtp.gmail.com:587
|
||||
; QQ: smtp.qq.com:25
|
||||
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
|
||||
%if %%getVar('activer_exim_relay_smtp','non') == 'oui'
|
||||
HOST = %%exim_relay_smtp:25
|
||||
%else
|
||||
HOST = 127.0.0.1
|
||||
%end if
|
||||
HOST = %%gitea_smtp_srv:%%gitea_srv_prt
|
||||
; Do not verify the certificate of the server. Only use this for self-signed certificates
|
||||
SKIP_VERIFY = true
|
||||
; Use client certificate
|
||||
@ -239,13 +236,17 @@ AVATAR_UPLOAD_PATH = data/avatars
|
||||
GRAVATAR_SOURCE = gravatar
|
||||
DISABLE_GRAVATAR = false
|
||||
|
||||
[repository.upload]
|
||||
ALLOWED_TYPES = application/zip|application/gzip|application/x-gzip|application/x-gtar|application/x-tgz|application/x-compressed-tar|text/plain
|
||||
|
||||
[attachment]
|
||||
; Whether attachments are enabled. Defaults to `true`
|
||||
ENABLE = true
|
||||
; Path for attachments. Defaults to `data/attachments`
|
||||
PATH = data/attachments
|
||||
; One or more allowed types, e.g. image/jpeg|image/png
|
||||
ALLOWED_TYPES = image/jpeg|image/png
|
||||
; ALLOWED_TYPES = image/jpeg|image/png
|
||||
ALLOWED_TYPES = */*
|
||||
; Max size of each file. Defaults to 32MB
|
||||
MAX_SIZE = 32
|
||||
; Max number of files per upload. Defaults to 10
|
||||
@ -265,15 +266,15 @@ MODE = console, file
|
||||
; Buffer length of channel, keep it as it is if you don't know what it is.
|
||||
BUFFER_LEN = 10000
|
||||
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
|
||||
LEVEL = Trace
|
||||
LEVEL = Info
|
||||
|
||||
; For "console" mode only
|
||||
[log.console]
|
||||
LEVEL =
|
||||
LEVEL = Info
|
||||
|
||||
; For "file" mode only
|
||||
[log.file]
|
||||
LEVEL =
|
||||
LEVEL = Info
|
||||
; This enables automated log rotate(switch of following options), default is true
|
||||
LOG_ROTATE = true
|
||||
; Max line number of single file, default is 1000000
|
||||
@ -287,7 +288,7 @@ MAX_DAYS = 7
|
||||
|
||||
; For "conn" mode only
|
||||
[log.conn]
|
||||
LEVEL =
|
||||
LEVEL = Info
|
||||
; Reconnect host for every single message, default is false
|
||||
RECONNECT_ON_MSG = false
|
||||
; Try to reconnect when connection is lost, default is false
|
||||
@ -299,7 +300,7 @@ ADDR =
|
||||
|
||||
; For "smtp" mode only
|
||||
[log.smtp]
|
||||
LEVEL =
|
||||
LEVEL = Info
|
||||
; Name displayed in mail title, default is "Diagnostic message from serve"
|
||||
SUBJECT = Diagnostic message from serve
|
||||
; Mail server
|
||||
@ -312,7 +313,7 @@ RECEIVERS =
|
||||
|
||||
; For "database" mode only
|
||||
[log.database]
|
||||
LEVEL =
|
||||
LEVEL = Info
|
||||
; Either "mysql" or "postgres"
|
||||
DRIVER =
|
||||
; Based on xorm, e.g.: root:root@localhost/gitea?charset=utf8
|
||||
|
Reference in New Issue
Block a user