Skip to content

Self Hosted Cloud Storage system using Django as backend

License

Notifications You must be signed in to change notification settings

Arad-Afzali/Self-Hosted-Cloud-Storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-Hosted Cloud Storage

This is a self-hosted cloud storage management system built using Django. The system allows users to upload, manage, and share files securely within their own infrastructure.

alt text

Features

  • User authentication
  • File upload, download, and management
  • Responsive design for desktop and mobile devices

Installation

Follow these steps to set up the project on your local machine.

Prerequisites

  • Python 3.12 or higher
  • Django 4.x
  • Virtual environment (optional but recommended)
  1. Clone the repository:

    git clone https://github.com/Arad-Afzali/Self-Hosted-Cloud-Storage.git
    cd Self-Hosted-Cloud-Storage
  2. Create and activate a virtual environment (recommended):

    On macOS/Linux:

    python3 -m venv venv
    source venv/bin/activate

    On Windows:

    python3 -m venv venv
    venv\Scripts\activate
  3. Install the dependencies:

    pip install -r requirements.txt

Set Up the Database

Run the following commands to apply migrations and set up the database.

python manage.py makemigrations
python manage.py migrate

Run the Server

Start the development server.

python manage.py runserver

Open your browser and navigate to http://127.0.0.1:8000 to see the application in action.

Note

You can creat a new superuser by running the following command superuser can be used for deleting users

python manage.py createsuperuser

Usage

File Management

  • Log in with your account.
  • Upload files using the file upload interface.
  • Manage your files through the dashboard, including downloading, deleting, and sharing files.

Contributing

Contributions are welcome! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Make your changes and commit them with descriptive messages.
  4. Push your changes to your fork.
  5. Open a pull request and describe the changes you have made.