Overview:
The Home CloudHost project allows users to host their own cloud storage solution at home. It provides step-by-step instructions for setting up the development environment and running the backend and frontend components either locally or in Docker containers. The project offers a DIY cloud hosting option for users seeking more control over their data.
Features:
- Self-hosted Cloud: Host your cloud storage solution at home.
- Development Setup Guide: Step-by-step instructions for setting up the development environment.
- Local and Docker Setup: Run the project locally or in Docker containers.
- Backend and Frontend Components: Instructions for setting up and running both backend and frontend components.
- Production Setup Instructions: Guidance for setting up the project in a production environment.
Installation:
Development Setup:
- Clone the repo:
git clone [repository_url] cd project
Local setup (Linux & Windows):
- Install dependencies:
npm install - Run the backend:
cd server/ cp sample.env .env # Set correct value for HOME_CLOUD_STORAGE in .env npm start - Run the frontend:
cd client/ cp sample.env .env # Set correct value for REACT_APP_API_URL in .env npm start
Docker (Linux):
- Set HOME_CLOUD_STORAGE env variable.
- Create a .env file in ./client/ and set the value.
- Install dependencies:
npm install - Run Docker containers:
docker-compose up
Production Setup:
Local (Linux & Windows):
Backend:
- In server/, set HOME_CLOUD_STORAGE in .env.
- Start the server:
npm start
Frontend:
- In client/, create .env.production.
- Set REACT_APP_API_URL.
- Install serve globally:
npm install -g serve - Build the app:
npm run build - Start the server:
serve -s build
Docker (Linux):
- Set HOME_CLOUD_STORAGE env variable.
- Create a .env.production file in ./client/ and set the API URL.
- Build images and run containers:
docker-compose -f docker-compose.prod.yml up
Summary:
The Home CloudHost project provides users with the ability to host their cloud storage solution locally or in Docker containers. By following the setup instructions, users can create their cloud storage environment with backend and frontend components. The project aims to offer a self-hosted cloud solution for users seeking more control over their data and storage capabilities.