You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

39 lines
934 B

  1. #!/bin/bash
  2. if [[ ! -d /data/gogs ]] ; then
  3. mkdir -p /var/run/sshd
  4. mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git /data/gogs/custom
  5. fi
  6. if [[ ! -d /data/ssh ]] ; then
  7. mkdir /data/ssh
  8. ssh-keygen -q -f /data/ssh/ssh_host_rsa_key -N '' -t rsa
  9. ssh-keygen -q -f /data/ssh/ssh_host_dsa_key -N '' -t dsa
  10. ssh-keygen -q -f /data/ssh/ssh_host_ed25519_key -N '' -t ed25519
  11. chown -R root:root /data/ssh/*
  12. chmod 600 /data/ssh/*
  13. fi
  14. ln -sf /data/gogs/custom ./custom
  15. ln -sf /data/gogs/log ./log
  16. ln -sf /data/gogs/data ./data
  17. ln -sf /data/git /home/git
  18. if [[ ! -d ~git/.ssh ]] ; then
  19. mkdir ~git/.ssh
  20. chmod 700 ~git/.ssh
  21. fi
  22. if [[ ! -f ~git/.ssh/environment ]] ; then
  23. echo "GOGS_CUSTOM=/data/gogs" > ~git/.ssh/environment
  24. chown git:git ~git/.ssh/environment
  25. chown 600 ~git/.ssh/environment
  26. fi
  27. chown -R git:git /data .
  28. if [[ ${GOGS_SSH_PORT} ]] ; then
  29. echo "Port ${GOGS_SSH_PORT}" >> /etc/ssh/sshd_config
  30. fi