SkyVault is a secure personal cloud storage system built using Flask.
82
SkyVault is a secure personal cloud storage system built using Flask. The application allows users to upload files, which are then encrypted before storage, ensuring privacy and security. Users can log in, upload, view, download, and delete their encrypted files securely.
The project is organized as follows:
SkyVault/
├── app.py # Main application file
├── uploads/ # Original uploaded files (if necessary)
├── encrypted_files/ # All encrypted files stored here
├── templates/ # HTML templates
│ ├── index.html # Homepage with file upload form
│ ├── files.html # Page to view uploaded files
│ ├── login.html # Login page
│ ├── 404.html # Custom 404 page
│ ├── 500.html # Custom 500 error page
└── static/ # Static files (e.g., CSS, JS)
└── css/
└── styles.css # Custom styles for the web pages
└── icons/
└── image-icon.png
└── pdf-icon.png
├── requirements.txt # Python dependencies for the project
├── Dockerfile # Docker configuration for building the application image
├── docker-compose.yml # Docker Compose configuration file
└── README.md # Project documentation
Make sure you have the following installed:
Clone the repository:
git clone https://github.com/PriyanshuKSharma/SkyVault.git
cd SkyVault
Create a virtual environment:
python -m venv venv
Activate the virtual environment:
venv\Scripts\activate
source venv/bin/activate
Install the required dependencies:
pip install -r requirements.txt
Run the application:
python app.py
The app will be available at http://127.0.0.1:5000/.
Ensure that Docker and Docker Compose are installed on your system.
Clone the repository:
git clone https://github.com/PriyanshuKSharma/SkyVault.git
cd SkyVault
Build the Docker image:
docker build -t priyanshuksharma/skyvault-cloud:1.0 .
Run the application using Docker:
docker run -p 5000:5000 priyanshuksharma/skyvault-cloud:1.0
The app will be available at http://127.0.0.1:5000/.
Alternatively, use Docker Compose to set up and run the application:
docker-compose up
If you want to share your Docker image, you can push it to Docker Hub:
Tag the Docker image:
docker tag skyvault-cloud:1.0 priyanshuksharma/skyvault-cloud:1.0
Push the image to Docker Hub:
docker push priyanshuksharma/skyvault-cloud:1.0
Your image will now be available on Docker Hub at https://hub.docker.com/repository/docker/priyanshuksharma/skyvault-cloud.
Fernet encryption.encrypted_files/ directory./login and enter your credentials./files page./download/<filename> route./delete/<filename> route.Uploaded files are encrypted using the cryptography package with Fernet symmetric encryption. The encrypted files are stored in the encrypted_files/ directory, ensuring that the files are only accessible to authenticated users.
If you want to run the SkyVault application on another system using Docker, follow these steps:
On your system, save the Docker image to a tar file:
docker save -o skyvault-cloud.tar priyanshuksharma/skyvault-cloud:1.0
This will create a file named skyvault-cloud.tar that contains your Docker image.
Copy the skyvault-cloud.tar file to the target system. You can use a USB drive, file-sharing services, SCP, or any preferred method.
On the target system, load the Docker image from the tar file:
docker load -i skyvault-cloud.tar
After loading, verify that the image is available:
docker images
You should see the image listed (e.g., priyanshuksharma/skyvault-cloud:1.0).
Start the container using:
docker run -p 5000:5000 priyanshuksharma/skyvault-cloud:1.0
This maps port 5000 on the local system to port 5000 in the container. Open a browser and access the application at:
http://127.0.0.1:5000
If the target system has internet access, you can pull the image directly from Docker Hub:
Log in to Docker Hub (if necessary):
docker login
Pull the image:
docker pull priyanshuksharma/skyvault-cloud:1.0
Run the container:
docker run -p 5000:5000 priyanshuksharma/skyvault-cloud:1.0
1.0 with the appropriate version tag if needed.This project is not licensed.
Fernet symmetric encryption.Content type
Image
Digest
sha256:69efb7087…
Size
63.1 MB
Last updated
almost 2 years ago
docker pull priyanshuksharma/skyvault-cloud:1.0