Changes

From SME Server
Jump to navigationJump to search
3,229 bytes added ,  13:52, 17 June 2020
Line 1: Line 1: −
Installing MinIO on SME
+
== Installing MinIO on SME ==
 +
 
 +
===General Notes===
    
Just some notes on the basics of installing MinIO
 
Just some notes on the basics of installing MinIO
   −
It works, but needs a startup script to automate start/stop
+
This could be used with your own instance of say [RClone](https://wiki.contribs.org/Rclone) or Rocket.Chat
   −
This could be used with your own instance of say [RClone](https://wiki.contribs.org/Rclone)
+
Documentation here:
    
https://min.io/download#/linux
 
https://min.io/download#/linux
 +
 
https://docs.min.io/docs/minio-quickstart-guide.html
 
https://docs.min.io/docs/minio-quickstart-guide.html
 +
 
https://docs.min.io/docs/minio-server-configuration-guide.html
 
https://docs.min.io/docs/minio-server-configuration-guide.html
   −
Followed notes form here
+
Followed notes from here https://www.centosblog.com/install-configure-minio-object-storage-server-centos-linux/
https://www.centosblog.com/install-configure-minio-object-storage-server-centos-linux/
  −
 
     −
Install Minio on Centos Linux
+
=== Install Minio on SME v9 ===
   −
 
+
"In this example, we’ll install Minio to /opt/minio, and [won't] configure it to run as a (systemd) service."
In this example, we’ll install Minio to /opt/minio, and [won't] configure it to run as a (systemd) service.
      
Add a minio user [This is not the standard SME way but just for testing]
 
Add a minio user [This is not the standard SME way but just for testing]
Line 34: Line 35:  
  chown -R minio:minio /opt/minio
 
  chown -R minio:minio /opt/minio
    +
===Start MinIO===
 +
 +
Start it manually so you can get the Keys that you will require.
    
This will start on all interfaces:
 
This will start on all interfaces:
Line 43: Line 47:  
  /opt/minio/bin/minio server --address 1.2.3.4:9000 /opt/minio/data
 
  /opt/minio/bin/minio server --address 1.2.3.4:9000 /opt/minio/data
    +
Once you have the keys you can then follow the instructions for Automated Service below.
   −
Note this only runs on http. It could run http but for EXTERNAL access it is recommended to run a revers proxy. You can then use SSL certs as well.
+
Note this only runs on http. It could run https but for EXTERNAL access but you need to set it up with certs (see docs)
 +
It is recommended to run a reverse proxy and use the general server SSL certs
   −
Make sure you keep a note of the AccessKey and SecretKey.
+
Make sure you keep a note of the AccessKey and SecretKey when you start the first time
    
You can access the server via http://1.2.3.4:9000
 
You can access the server via http://1.2.3.4:9000
Line 54: Line 60:  
  /opt/minio/bin/minio --help
 
  /opt/minio/bin/minio --help
   −
MinIO configuration client and commands
+
===MinIO configuration client and commands===
 +
 
 +
Be CAREFUL as you have mc - midnight commander installed !!!!!
 +
 
 +
https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md
 +
https://docs.min.io/docs/minio-client-quickstart-guide
 +
 
 +
wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /opt/minio/bin/mc
 +
chmod +x /opt/minio/bin/mc
 +
/opt/minio/bin/mc --help
 +
 
 +
Add a location for your server:
 +
 
 +
/opt/minio/bin/mc config host add minio http://192.168.1.1:9000 <ACCESS KEY> <SECRET KEY>
 +
 
 +
Run a command:
 +
 
 +
/opt/minio/bin/mc admin info server minio
 +
 
 +
/opt/minio/bin/mc ls minio
 +
[2019-10-16 16:54:53 CEST]      0B bucket1/
   −
  https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md
+
Help:
 +
  /opt/minio/bin/mc -h
   −
This can enable tracing for issues etc
+
This can enable tracing for issues, modify configuration etc
      −
Some other notes
+
====Automated startup====
    
Init scripts that don't work on SME - note there is a Unit file for systemd
 
Init scripts that don't work on SME - note there is a Unit file for systemd
Line 70: Line 97:     
https://github.com/fhd/init-script-template/blob/master/template
 
https://github.com/fhd/init-script-template/blob/master/template
 +
 +
#!/bin/sh
 +
### BEGIN INIT INFO
 +
# Provides:
 +
# Required-Start:    $remote_fs $syslog
 +
# Required-Stop:    $remote_fs $syslog
 +
# Default-Start:    2 3 4 5
 +
# Default-Stop:      0 1 6
 +
# Short-Description: Start daemon at boot time
 +
# Description:      Enable service provided by daemon.
 +
### END INIT INFO
 +
 +
# dir not used here
 +
# dir="/opt/minio"
 +
# cmd is the whole command - it could be templated break it down in to bits
 +
# add your own details etc etc
 +
# Change the IP address to your local one
 +
cmd="/opt/minio/bin/minio server --address 192.168.1.1:9000 /opt/minio/data"
 +
# user=""
 +
 +
name=`basename $0`
 +
pid_file="/var/run/$name.pid"
 +
stdout_log="/var/log/$name.log"
 +
stderr_log="/var/log/$name.err"
 +
 +
get_pid() {
 +
    cat "$pid_file"
 +
}
 +
 +
is_running() {
 +
    [ -f "$pid_file" ] && ps -p `get_pid` > /dev/null 2>&1
 +
}
 +
 +
case "$1" in
 +
    start)
 +
    if is_running; then
 +
        echo "Already started"
 +
    else
 +
        echo "Starting $name"
 +
        cd "$dir"
 +
        $cmd >> "$stdout_log" 2>> "$stderr_log" &
 +
        echo $! > "$pid_file"
 +
        if ! is_running; then
 +
            echo "Unable to start, see $stdout_log and $stderr_log"
 +
            exit 1
 +
        fi
 +
    fi
 +
    ;;
 +
    stop)
 +
    if is_running; then
 +
        echo -n "Stopping $name.."
 +
        kill `get_pid`
 +
        for i in 1 2 3 4 5 6 7 8 9 10
 +
        # for i in `seq 10`
 +
        do
 +
            if ! is_running; then
 +
                break
 +
            fi
 +
 +
            echo -n "."
 +
            sleep 1
 +
        done
 +
        echo
 +
 +
        if is_running; then
 +
            echo "Not stopped; may still be shutting down or shutdown may have failed"
 +
            exit 1
 +
        else
 +
            echo "Stopped"
 +
            if [ -f "$pid_file" ]; then
 +
                rm "$pid_file"
 +
            fi
 +
        fi
 +
    else
 +
        echo "Not running"
 +
    fi
 +
    ;;
 +
    restart)
 +
    $0 stop
 +
    if is_running; then
 +
        echo "Unable to stop, will not attempt to start"
 +
        exit 1
 +
    fi
 +
    $0 start
 +
    ;;
 +
    status)
 +
    if is_running; then
 +
        echo "Running"
 +
    else
 +
        echo "Stopped"
 +
        exit 1
 +
    fi
 +
    ;;
 +
    *)
 +
    echo "Usage: $0 {start|stop|restart|status}"
 +
    exit 1
 +
    ;;
 +
esac
 +
 +
exit 0
 +
 +
 +
It would need:
 +
 +
ckkconfig minio on
 +
 +
You can probably link to daemon tool:
 +
 +
ln -s /etc/rc.d/init.d/e-smith-service S85minio
 +
 +
config set minio service status enabled
 +
 +
service minio start|stop|restart|status

Navigation menu