main.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/usr/bin/env bash
  2. if [ -z "$ZT_IDENTITY_PATH" ]; then
  3. echo '*** FAILED: ZT_IDENTITY_PATH environment variable is not defined'
  4. exit 1
  5. fi
  6. if [ -z "$ZT_DB_HOST" ]; then
  7. echo '*** FAILED: ZT_DB_HOST environment variable not defined'
  8. exit 1
  9. fi
  10. if [ -z "$ZT_DB_PORT" ]; then
  11. echo '*** FAILED: ZT_DB_PORT environment variable not defined'
  12. exit 1
  13. fi
  14. if [ -z "$ZT_DB_USER" ]; then
  15. echo '*** FAILED: ZT_DB_USER environment variable not defined'
  16. exit 1
  17. fi
  18. if [ -z "$ZT_DB_PASSWORD" ]; then
  19. echo '*** FAILED: ZT_DB_PASSWORD environment variable not defined'
  20. exit 1
  21. fi
  22. mkdir -p /var/lib/zerotier-one
  23. pushd /var/lib/zerotier-one
  24. ln -s $ZT_IDENTITY_PATH/identity.public identity.public
  25. ln -s $ZT_IDENTITY_PATH/identity.secret identity.secret
  26. popd
  27. echo "{
  28. \"settings\": {
  29. \"portMappingEnabled\": true,
  30. \"softwareUpdate\": \"disable\",
  31. \"interfadePrefixBlacklist\": [
  32. \"inot\",
  33. \"nat64\"
  34. ],
  35. \"controllerDbPath\": \"postgres:host=${ZT_DB_HOST} port=${ZT_DB_PORT} dbname=ztc user=${ZT_DB_USER} password=${ZT_DB_PASSWORD}\"
  36. }
  37. }
  38. " > /var/lib/zerotier-one/local.conf
  39. exec /usr/local/bin/zerotier-one /var/lib/zerotier-one