1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/bin/sh
- # directory setup
- mkdir -p /data/ssh
- mkdir -p /data/gogs/log
- mkdir -p /data/gogs/data
- #SSH setup
- # Check if host keys are present, else create them
- if ! test -f /data/ssh/ssh_host_rsa_key; then
- ssh-keygen -q -f /data/ssh/ssh_host_rsa_key -N '' -t rsa
- fi
- if ! test -f /data/ssh/ssh_host_dsa_key; then
- ssh-keygen -q -f /data/ssh/ssh_host_dsa_key -N '' -t dsa
- fi
- if ! test -f /data/ssh/ssh_host_ecdsa_key; then
- ssh-keygen -q -f /data/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
- fi
- if ! test -f /data/ssh/ssh_host_ed25519_key; then
- ssh-keygen -q -f /data/ssh/ssh_host_ed25519_key -N '' -t ed25519
- fi
- if ! test -d ~git/.ssh; then
- mkdir -p ~git/.ssh
- chmod 700 ~git/.ssh
- fi
- #Gogs setup
- if ! test -f ~git/.ssh/environment; then
- echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
- chmod 600 ~git/.ssh/environment
- fi
- cd /app/gogs
- # check authorized keys
- if ! test -f /data/git/.ssh/authorized_keys; then
- echo "" > /data/git/.ssh/authorized_keys
- fi
- # check authorized keys
- if ! test -d /data/.ssh; then
- mkdir -p /data/.ssh
- fi
- # Link volumed data with app data
- ln -sf /data/gogs/log ./log
- ln -sf /data/gogs/data ./data
- ln -s /data/git/.ssh/authorized_keys /data/.ssh/authorized_keys
- # Backward Compatibility with Gogs Container v0.6.15
- ln -sf /data/git /home/git
- chown -R git:git /data /app/gogs ~git/
- chmod 0755 /data /data/gogs ~git/
- # Set correct right to ssh keys
- chown -R root:root /data/ssh/*
- chmod 0700 /data/ssh
- chmod 0600 /data/ssh/*
- # Exec CMD or S6 by default if nothing present
- supervisord -c /app/gogs/docker/supervisord.conf
|