BYTEBOOK
Bytebook Tech Docs • Storage & S3 API
← Înapoi la Portal
PATH: DOCS / MINIO_S3_GUIDE.HTML _
[00:00:00] DOCS_READY
DEMOS Main Archive JAVA LABS Enterprise PY LABS Neural Assets NODE LABS Async Runtime INFRA Control Center
STORAGE & S3 API • VPS IP: 63.250.40.142

Ghid Complet: MinIO Object Storage (S3 Privat pe VPS)

Un ghid elaborat despre cum transformi serverul tău într-un hub de stocare de obiecte performant, scalabil și 100% compatibil cu standardul Amazon S3.

💡 De ce ai nevoie de MinIO în arhitectura ta?

Într-o aplicație modernă, stocarea fișierelor (imagini, avataruri, PDF-uri, documente sau backup-uri) direct pe hard disk-ul local unde rulează codul (Java/Python) este o practică nesigură și greu de scalat. Dacă vrei să muți aplicația pe mai multe containere, fișierele s-ar pierde.

🌐 API 100% Compatibil S3

Poți folosi orice librărie standard de AWS S3 din Python (boto3) sau Java (AWS SDK) fără modificări majore.

🔒 Control Total & Securitate

Datele tale rămân pe propriul VPS (63.250.40.142), fără riscul unor scurgeri de date către terți sau costuri lunare ascunse.

⚡ Performanță Ridicată

Scris în limbajul Go, MinIO consumă puține resurse și gestionează fișiere mari cu o viteză uimitoare.

Pasul 1. Instalarea și Rularea prin Docker

Pornim containerul MinIO pe VPS. Portul 9000 este destinat pentru traficul API (aplicații), iar portul 9001 pentru interfața grafică web de management.

docker run -d \
  --name minio \
  --restart always \
  -p 9000:9000 \
  -p 9001:9001 \
  -v /var/data/minio:/data \
  -e "MINIO_ROOT_USER=admin" \
  -e "MINIO_ROOT_PASSWORD=ParolaTaSuperSigura123!" \
  minio/minio server /data --console-address ":9001"

Pasul 2. Setarea Caddy Proxy pentru acces HTTPS

Pentru a accesa serverul în siguranță prin subdomenii, actualizăm fișierul /etc/caddy/Caddyfile:

s3.bytebook.xyz {
    reverse_proxy localhost:9000
}

s3-console.bytebook.xyz {
    reverse_proxy localhost:9001
}

Pasul 3. Integrarea în Codul Python

Cum se conectează o aplicație Python la noul tău server S3 privat folosind pachetul boto3:

import boto3

# Inițializare client S3 orientat către MinIO pe VPS
s3_client = boto3.client(
    's3',
    endpoint_url='https://s3.bytebook.xyz',
    aws_access_key_id='admin',
    aws_secret_access_key='ParolaTaSuperSigura123!'
)

# Încărcare efectivă a unui fișier în bucket-ul dedicat
bucket_name = 'user-uploads'
file_name = 'document.pdf'

try:
    s3_client.upload_file(file_name, bucket_name, f"docs/{file_name}")
    print("Succes: Fișierul a fost urcat pe MinIO!")
except Exception as e:
    print(f"Eroare la upload: {e}")