start.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/sh
  2. #SSH setup
  3. # Check if host keys are present, else create them
  4. if ! test -f /data/ssh/ssh_host_rsa_key; then
  5. ssh-keygen -q -f /data/ssh/ssh_host_rsa_key -N '' -t rsa
  6. fi
  7. if ! test -f /data/ssh/ssh_host_dsa_key; then
  8. ssh-keygen -q -f /data/ssh/ssh_host_dsa_key -N '' -t dsa
  9. fi
  10. if ! test -f /data/ssh/ssh_host_ecdsa_key; then
  11. ssh-keygen -q -f /data/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
  12. fi
  13. if ! test -f /data/ssh/ssh_host_ed25519_key; then
  14. ssh-keygen -q -f /data/ssh/ssh_host_ed25519_key -N '' -t ed25519
  15. fi
  16. if ! test -d ~git/.ssh; then
  17. mkdir -p ~git/.ssh
  18. chmod 700 ~git/.ssh
  19. fi
  20. #Gogs setup
  21. if ! test -f ~git/.ssh/environment; then
  22. echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
  23. chmod 600 ~git/.ssh/environment
  24. fi
  25. cd /app/gogs
  26. # Link volumed data with app data
  27. ln -sf /data/gogs/log ./log
  28. ln -sf /data/gogs/data ./data
  29. ln -sd /data/.ssh/authorized_keys /data/git/.ssh/authorized_keys
  30. # Backward Compatibility with Gogs Container v0.6.15
  31. ln -sf /data/git /home/git
  32. chown -R git:git /data /app/gogs ~git/
  33. chmod 0755 /data /data/gogs ~git/
  34. # Set correct right to ssh keys
  35. chown -R root:root /data/ssh/*
  36. chmod 0700 /data/ssh
  37. chmod 0600 /data/ssh/*
  38. # Exec CMD or S6 by default if nothing present
  39. supervisord -c /app/gogs/docker/supervisord.conf