Follow these steps to get Hostify running on your local machine:
# Ubuntu/Debian
sudo apt update
sudo apt install tesseract-ocr tesseract-ocr-fra tesseract-ocr-ara python3-pip nodejs npm
# macOS
brew install tesseract tesseract-lang node python3
# Windows
# Download Tesseract from: https://github.com/UB-Mannheim/tesseract/wiki
# Install Node.js from: https://nodejs.org/
# Install Python from: https://python.org/# Navigate to frontend
cd frontend
# Install Node.js dependencies
npm install
# Create environment file
cp .env.example .env
# Edit .env with your Firebase credentials
nano .env
# Go back to root
cd ..# Navigate to backend and run setup script
cd backend
./setup-venv.sh
cd ..# Navigate to backend
cd backend
# Create Python virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install Python dependencies
pip install -r requirements.txt
# Create environment file
cp .env.example .env
# Edit .env with your credentials
nano .env
# Go back to root
cd ..- Create a Supabase project at https://supabase.com
- In the SQL Editor, run the schema from
database/supabase_schema.sql - Get your Supabase URL and anon key
- Update your backend
.envfile
- Create a Firebase project at https://console.firebase.google.com
- Enable Authentication with Google, Apple, and Microsoft providers
- Generate Firebase Admin SDK credentials
- Update both
.envfiles with your Firebase credentials
cd backend
source venv/bin/activate
python run.pycd frontend
npm run devVisit http://localhost:3000 to use the application!
- Create Project: Go to Firebase Console and create a new project
- Enable Authentication:
- Go to Authentication → Sign-in method
- Enable Google, Apple, and Microsoft providers
- Web App Config:
- Go to Project Settings → General → Your apps
- Add a web app and copy the config
- Admin SDK:
- Go to Project Settings → Service accounts
- Generate new private key
- Copy the JSON content
- Create Project: Go to Supabase and create a new project
- Run Schema: Execute the SQL from
database/supabase_schema.sql - Get Credentials:
- Go to Settings → API
- Copy URL and anon key
VITE_FIREBASE_API_KEY=your-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=your-app-id
VITE_API_BASE_URL=http://localhost:5000SECRET_KEY=your-secret-key-here
FLASK_ENV=development
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
FIREBASE_ADMIN_SDK_JSON={"type": "service_account", ...}-
Tesseract not found:
- Ensure Tesseract is installed and in PATH
- On Windows, add to system PATH
-
Firebase authentication fails:
- Check that providers are enabled in Firebase Console
- Verify domain is added to authorized domains
-
Database connection fails:
- Verify Supabase credentials
- Check if RLS policies are set up correctly
-
CORS errors:
- Ensure Flask-CORS is properly configured
- Check that frontend URL is allowed
- Use
npm run devfor hot reload in development - Use
python run.pyfor backend development with auto-reload - Check browser console for detailed error messages
- Use Firebase Authentication emulator for local testing
- Build the frontend:
npm run build - Deploy the
distfolder - Set environment variables in deployment settings
- Create a
requirements.txtfile - Set environment variables
- Deploy the backend folder
- Supabase is production-ready
- Configure Row Level Security policies
- Set up proper indexes for performance
If you encounter issues:
- Check the troubleshooting section
- Verify all environment variables are set correctly
- Ensure all dependencies are installed
- Check the console for error messages
For additional help, refer to the README.md file or create an issue in the repository.