MinIO
Installing MinIO on SME
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)
https://min.io/download#/linux https://docs.min.io/docs/minio-quickstart-guide.html https://docs.min.io/docs/minio-server-configuration-guide.html
Followed notes form here https://www.centosblog.com/install-configure-minio-object-storage-server-centos-linux/
Install Minio on Centos Linux
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]
useradd -s /sbin/nologin -d /opt/minio minio
Set up directories
mkdir -p /opt/minio/bin mkdir /opt/minio/data # this will be your data partition
Install minio server binary and set it to executable. In this example we use the Linux x64 binary.
wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /opt/minio/bin/minio chmod +x /opt/minio/bin/minio
Ensure all files are owned by minio in /opt/minio:
chown -R minio:minio /opt/minio
This will start on all interfaces:
/opt/minio/bin/minio server /opt/minio/data
This will limit it to one interface:
/opt/minio/bin/minio server --address 1.2.3.4:9000 /opt/minio/data
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.
Make sure you keep a note of the AccessKey and SecretKey.
You can access the server via http://1.2.3.4:9000
Other options
/opt/minio/bin/minio --help
MinIO configuration client and commands
https://github.com/minio/mc/blob/master/docs/minio-admin-complete-guide.md
This can enable tracing for issues etc
Some other notes
Init scripts that don't work on SME - note there is a Unit file for systemd
git clone https://github.com/minio/minio-service.git
Initscript borrowed from here:
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="/opt/minio" cmd="/opt/minio/bin/minio server --address 192.168.97.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