Installation Guide
Installation Steps
-
System Requirements Check Ensure your system meets the minimum requirements:
- Docker Engine 24.0.0+
- Docker Compose v2.0.0+
- At least 2GB of RAM
- 10GB of free disk space
-
Clone the Repository
git clone https://github.com/watercrawl/watercrawl.git
cd watercrawl -
Set Up Environment Configuration
cd docker
cp .env.example .envEdit the
.env
file to customize your installation. At minimum, you should update:SECRET_KEY
(for security)FRONTEND_URL
(if deploying on a domain other than localhost)MINIO_EXTERNAL_ENDPOINT
,MINIO_BROWSER_REDIRECT_URL
, andMINIO_SERVER_URL
(if deploying on a domain other than localhost)
-
Start Services
docker compose up -d
-
Create Admin User
docker compose exec app python manage.py createsuperuser
-
Verify Installation
- Access the web interface at
http://localhost
(or your configured domain) - Log in with your admin credentials
- Check the status of all services using
docker compose ps
- Monitor logs using
docker compose logs -f
- Access the web interface at
Important Deployment Notes
When deploying to a production environment with a domain other than localhost, you MUST update the following settings in your .env
file:
# Change this from 'localhost' to your actual domain or IP
MINIO_EXTERNAL_ENDPOINT=your-domain.com
# Also update these URLs accordingly
MINIO_BROWSER_REDIRECT_URL=http://your-domain.com/minio-console/
MINIO_SERVER_URL=http://your-domain.com/
Failure to update these settings will result in broken file uploads and downloads.
Directory Structure
After installation, your directory structure will look like:
watercrawl/
├── docker/
│ ├── .env # Your environment configuration file
│ ├── docker-compose.yml # Docker Compose configuration
│ ├── nginx/ # Nginx configuration files
│ │ ├── nginx.conf # Nginx configuration template
│ │ └── entrypoint.sh # Nginx entrypoint script
│ └── volumes/ # Persistent data volumes
│ ├── minio-data/ # MinIO storage
│ └── postgres-db/ # PostgreSQL database
Upgrading
To upgrade your WaterCrawl installation to the latest version:
-
Update Repository
git pull origin main
-
Update Environment Variables Check for any new environment variables in
.env.example
and add them to your.env
file. -
Rebuild and Restart Services
docker compose down
docker compose up -d -
Apply Database Migrations
The database changes are automatically applied when the app container is started.