Skip to content

Secure cloud-based file storage system with role-based access control (RBAC), AWS S3 integration, pre-signed URLs, and server-side encryption. Includes secure authentication, file management, and system logging.

Notifications You must be signed in to change notification settings

saileshpulukuri/safe-cloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Safe Cloud — Secure Cloud-Based File Storage

Safe Cloud is a secure file storage platform built with PHP, designed for uploading, managing, and retrieving files using AWS S3.
It incorporates role-based access control (RBAC), private buckets, pre-signed URLs, and server-side encryption to ensure data confidentiality and integrity.


Key Features

  • Role-Based Access Control (RBAC) — Admin, Editor, and User roles with distinct permissions.
  • AWS S3 Integration — All file operations use secure, pre-signed URLs; buckets remain private.
  • Server-Side Encryption — Data stored in S3 is encrypted using SSE-S3 or SSE-KMS.
  • File & Folder Management — Create, rename, delete, and organize files and folders with role-based visibility.
  • System Logs — Track uploads, deletions, and authentication events.
  • Secure Authentication — Password hashing, session management, and optional JWT integration.
  • Backup & Restore Support — Database and file backups (excluded from public repo).

Tech Stack

  • Backend: PHP
  • Cloud Storage: AWS S3
  • Database: MySQL/MariaDB
  • Auth: Sessions / JWT
  • Hosting: Compatible with any LAMP stack / Ubuntu Server

🚀 Getting Started (Ubuntu Setup)

1️⃣ Install Required Packages

-```bash sudo apt update sudo apt install apache2 php libapache2-mod-php php-mysql composer unzip mysql-server

2️⃣ Clone the Repository

cd /var/www/html sudo git clone https://github.com/saileshpulukuri/safe-cloud.git cd safe-cloud

3️⃣ Install PHP Dependencies

composer install

4️⃣ Configure Environment Variables

cp .env.example .env nano .env DB_HOST=localhost DB_PORT=3306 DB_DATABASE=safecloud DB_USERNAME=your_mysql_user DB_PASSWORD=your_mysql_password

AWS_REGION=us-east-1 AWS_S3_BUCKET=safe-cloud-prod AWS_ACCESS_KEY_ID=your_key AWS_SECRET_ACCESS_KEY=your_secret

5️⃣ Set Permissions for Uploads/Backups

sudo chmod -R 775 html/uploads sudo chmod -R 775 html/backups

6️⃣ Start MySQL and Create the Database

sudo service mysql start mysql -u root -p CREATE DATABASE safecloud; EXIT;

7️⃣ Run the Application

sudo service apache2 restart

About

Secure cloud-based file storage system with role-based access control (RBAC), AWS S3 integration, pre-signed URLs, and server-side encryption. Includes secure authentication, file management, and system logging.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published