For the complete documentation index, see llms.txt. This page is also available as Markdown.

Connecting MinIO S3 Storage

Instructions for deploying and connecting local MinIO S3 to MikoPBX

This guide describes the process of deploying local MinIO S3 storage and connecting it to MikoPBX. All actions are performed on macOS - for other operating systems, the official documentation is available at the link.

Installing MinIO on macOS

  1. Open the terminal and run the command:

brew install minio/stable/minio

After the installation is complete, the terminal will display a confirmation:

🍺  /opt/homebrew/Cellar/minio/RELEASE.2025-09-06T17-38-46Z_1: 4 files, 108.2MB, built in 3 seconds
  1. Create a directory for data.

mkdir -p ~/minio-data
  1. Start the server:

MINIO_ROOT_USER=minioadmin MINIO_ROOT_PASSWORD=minioadmin \
  minio server ~/minio-data --console-address ":9001"

You will see the following output with useful information, including the WebUI address for convenient further work with the storage.

MinIO Object Storage Server
Copyright: 2015-2026 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2025-09-06T17-38-46Z (go1.24.6 darwin/arm64)

API: http://192.168.100.114:9000  http://192.168.64.1:9000  http://127.0.0.1:9000
   RootUser: minioadmin
   RootPass: minioadmin

WebUI: http://192.168.100.114:9001 http://192.168.64.1:9001 http://127.0.0.1:9001
   RootUser: minioadmin
   RootPass: minioadmin

CLI: https://docs.min.io/community/minio-object-store/reference/minio-mc.html#quickstart
   $ mc alias set 'myminio' 'http://192.168.100.114:9000' 'minioadmin' 'minioadmin'

Docs: https://docs.min.io

After starting, leave the terminal window open - closing it will stop the server.

To start MinIO automatically when the system starts, run:

  1. Open a browser and go to the WebUI address.

Enter the credentials:

  • Username: minioadmin

  • Password: minioadmin

MinIO web interface

Creating a Bucket in MinIO

  1. Click "Create Bucket" in the left menu.

"Create Bucket" button in the MinIO web interface
  1. Enter a bucket name, for example mikopbx-recordings.

Click "Create Bucket".

Specifying the name for the bucket being created

To create an access key and configure access permissions, you will need the mc console utility.

Install MinIO Client:

After installation, check the version:

Connecting MinIO Client to the Local Server

Add the local MinIO server as an alias:

Parameters here:

  • local - an arbitrary connection name

  • http://127.0.0.1:9000 - MinIO API address.

  • minioadmin - root user

  • minioadmin - root password

Check the connection:

If the connection is successful, information about the MinIO server will appear in the terminal.

Information about the MinIO server

Creating a User and Bucket Access Policy

It is not recommended to use the MinIO root user for connecting external applications.

  1. Create a separate user for MikoPBX:

Replace strong-password with a strong password.

  1. Create a policy file:

  1. Add the following content to it:

  1. Save the file:

  1. Create the policy in MinIO:

  1. Attach the policy to the user:

Creating an Access Key for MikoPBX

Create an access key for the mikopbx-user user:

MinIO will display access data in response:

Save Access Key and Secret Key. They will be needed to connect MinIO to MikoPBX.

Secret Key is displayed only when it is created.

Connecting to MikoPBX

  1. Go to the "Maintenance" -> "Storage" tab.

"Storage" section in the MikoPBX web interface
  1. Open the "Cloud storage S3" tab and fill in the following fields:

  • Automatic recording upload to cloud storage - enable the switch.

  • S3 storage provider - MinIO

  • S3 endpoint URL - http://192.168.64.1:9000

  • S3 region - leave us-east-1 or enter any value (if you did not specify another one in the MinIO settings)

  • S3 bucket name - specify the bucket name created in MinIO (mikopbx-recordings in this guide)

  • Access key and Secret key - paste the values obtained in the previous part of this guide (key pair).

Configure the "Local storage period (S3 mode)" slider - choose how long recordings will be stored locally before being deleted after uploading to the cloud.

Shorter local storage frees up disk space faster.

Click "Save".

Parameters for connecting MinIO S3

After saving the settings, click "Test connection". If the connection is successful, the message "S3 connection successful" will appear and synchronization of call recordings will begin.

Successful connection to the S3 bucket

Last updated

Was this helpful?