setup.sh 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!/bin/bash
  2. set -e
  3. if [ "$#" -ne 1 ]
  4. then
  5. echo "USAGE: $0 DOMAIN"
  6. exit 1
  7. fi
  8. echo "check /var/lib/minio"
  9. if [ ! -d /var/lib/minio ]
  10. then
  11. mkdir /var/lib/minio
  12. chown www-data:www-data /var/lib/minio
  13. chmod 700 /var/lib/minio
  14. fi
  15. echo "check /lib/systemd/system/minio.service"
  16. if [ ! -f /lib/systemd/system/minio.service ]
  17. then
  18. cat > /lib/systemd/system/minio.service <<EOF
  19. [Unit]
  20. Description=MinIO offers high-performance, S3 compatible object storage.
  21. After=network.target
  22. [Service]
  23. Type=simple
  24. User=www-data
  25. Group=www-data
  26. WorkingDirectory=/var/lib/minio
  27. ExecStart=/usr/bin/minio server data
  28. Restart=always
  29. RestartSec=10s
  30. Environment="MINIO_ADDRESS=127.0.0.1:9000"
  31. Environment="MINIO_CONSOLE_ADDRESS=127.0.0.1:9001"
  32. Environment="MINIO_ROOT_USER=www"
  33. Environment="MINIO_ROOT_PASSWORD=$(pwgen 32 1)"
  34. [Install]
  35. WantedBy=multi-user.target
  36. EOF
  37. chmod 444 /lib/systemd/system/minio.service
  38. systemctl daemon-reload
  39. systemctl enable minio
  40. fi
  41. echo "check /etc/nginx/sites-enabled/s3.$1.conf"
  42. if [ ! -f /etc/nginx/sites-enabled/s3.$1.conf ]
  43. then
  44. cat > /etc/nginx/sites-enabled/s3.$1.conf <<EOF
  45. server {
  46. server_name assets.$1;
  47. access_log /var/log/nginx/assets.$1.access.log;
  48. error_log /var/log/nginx/assets.$1.error.log;
  49. location / {
  50. proxy_set_header X-Forwarded-Proto http;
  51. proxy_set_header X-Real-IP \$remote_addr;
  52. proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
  53. proxy_set_header Host \$http_host;
  54. proxy_redirect off;
  55. proxy_pass http://127.0.0.1:9000;
  56. proxy_set_header Upgrade \$http_upgrade;
  57. proxy_set_header Connection "upgrade";
  58. }
  59. }
  60. server {
  61. server_name s3.$1;
  62. access_log /var/log/nginx/s3.$1.access.log;
  63. error_log /var/log/nginx/s3.$1.error.log;
  64. location / {
  65. proxy_set_header X-Forwarded-Proto http;
  66. proxy_set_header X-Real-IP \$remote_addr;
  67. proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
  68. proxy_set_header Host \$http_host;
  69. proxy_redirect off;
  70. proxy_pass http://127.0.0.1:9001;
  71. proxy_set_header Upgrade \$http_upgrade;
  72. proxy_set_header Connection "upgrade";
  73. }
  74. }
  75. EOF
  76. chmod 644 /etc/nginx/sites-enabled/s3.$1.conf
  77. fi
  78. echo "done($1)."
  79. exit 0