Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

85 Zeilen
2.4KB

  1. #!/bin/bash
  2. GITEA_FULL_DOMAIN=${GITEA_SERVER_NAME}.${GITEA_DOMAIN}
  3. GITEA_SECRET_KEY=`openssl rand -hex 64`
  4. # check needed variables
  5. if [[ -z ${GITEA_ADMIN_PWD} || -z ${ADMIN_EMAIL} \
  6. || -z ${LDAP_SERVER_HOST} || -z ${LDAP_BIND_DN} \
  7. || -z ${LDAP_BIND_PWD} || -z ${LDAP_SEARCH_BASE} \
  8. ]];
  9. then
  10. echo "Missing variable! You must provide: GITEA_ADMIN_PWD, ADMIN_EMAIL and LDAP stuff";
  11. echo ${#GITEA_ADMIN_PWD}, ${ADMIN_EMAIL},
  12. echo ${LDAP_SERVER_HOST}, ${LDAP_BIND_DN}, ${#LDAP_BIND_PWD}, ${LDAP_SEARCH_BASE}
  13. #env;
  14. exit 1;
  15. fi
  16. # ### Conf file ###
  17. echo Tweaking config files
  18. CONF_FILE=${GITEA_CUSTOM}/conf/app.ini
  19. if [[ ! -e ${CONF_FILE} ]]; then
  20. mkdir -p ${GITEA_CUSTOM}/conf
  21. mv /home/${USER}/app.ini ${CONF_FILE}
  22. chown -R ${USER} ${GITEA_CUSTOM}
  23. echo Setting domain and port
  24. sed -i "s/GITEA_FULL_DOMAIN/${GITEA_FULL_DOMAIN}/g" ${CONF_FILE}
  25. sed -i "s/GITEA_HTTP_PORT/${GITEA_HTTP_PORT}/g" ${CONF_FILE}
  26. echo Setting path
  27. sed -i "s/GITEA_CUSTOM/${GITEA_CUSTOM//\//\\/}/g" ${CONF_FILE}
  28. echo Setting secret key
  29. sed -i "s/SECRET_KEY/${GITEA_SECRET_KEY}/g" ${CONF_FILE}
  30. fi
  31. chown -R ${USER} /data
  32. # Create self-signed certificates
  33. su ${USER} -c "cd /${GITEA_CUSTOM}; gitea cert --host localhost,${GITEA_FULL_DOMAIN}"
  34. echo gfd: ${GITEA_FULL_DOMAIN}
  35. # TODO: start gitea to init
  36. echo Starting Gitea to init everything
  37. nohup su ${USER} -c "/app/gitea/gitea web" &
  38. GITEA_PID=`echo $!`
  39. echo Gitea pid: ${GITEA_PID}
  40. CURL_RESULT=1
  41. echo Waiting for web server to be ready
  42. while [[ ${CURL_RESULT} -gt 0 ]]; do
  43. sleep 10
  44. curl localhost:${GITEA_HTTP_PORT} > /dev/null 2>&1
  45. CURL_RESULT=$?;
  46. echo Curl result: ${CURL_RESULT}
  47. done;
  48. echo Killing Gitea
  49. kill -9 ${GITEA_PID}
  50. # Create admin user
  51. echo Creating admin user
  52. su ${USER} -c "gitea admin create-user --username root --password ${GITEA_ADMIN_PWD} --admin --email ${ADMIN_EMAIL}"
  53. # LDAP
  54. echo Creating LDAP access
  55. su ${USER} -c "gitea admin auth add-ldap \
  56. --name ldap \
  57. --security-protocol unencrypted \
  58. --host ${LDAP_SERVER_HOST} \
  59. --port 389 \
  60. --bind-dn ${LDAP_BIND_DN} \
  61. --bind-password ${LDAP_BIND_PWD} \
  62. --user-search-base ${LDAP_SEARCH_BASE} \
  63. --user-filter \"(&(objectclass=*)(|(uniqueIdentifier=%[1]s)(mail=%[1]s)))\" \
  64. --username-attribute uniqueIdentifier \
  65. --firstname-attribute givenName \
  66. --surname-attribute sn \
  67. --email-attribute mail"
  68. exec /bin/s6-svscan /etc/s6