KrakenHashes Quick Start Guide¶
Get KrakenHashes up and running in under 5 minutes!
Prerequisites¶
- Docker Engine 19.03.0+ and Docker Compose v2.0+ installed
- 4GB RAM minimum
- Linux-based system recommended
Verify Docker Compose Version¶
# Check your version - should be 2.0 or higher
docker compose version
# If you have the old docker-compose v1, you'll need to upgrade
⚠️ Important: This project requires Docker Compose v2 (plugin). The legacy docker-compose command will not work.
1. Download configuration template¶
# Create a directory for KrakenHashes
mkdir krakenhashes && cd krakenhashes
# Download the environment template
wget https://raw.githubusercontent.com/ZerkerEOD/krakenhashes/master/.env.example
cp .env.example .env
# Edit the .env file and change these at minimum:
# - DB_PASSWORD (from default)
# - JWT_SECRET (from default)
# - PUID/PGID (to match your user: run 'id -u' and 'id -g')
2. Download docker-compose.yml¶
# Download the docker-compose configuration
wget https://raw.githubusercontent.com/ZerkerEOD/krakenhashes/master/docker-compose.yml
This downloads the latest production docker-compose configuration which includes:
- PostgreSQL with optimized memory settings
- HTTPS (443) and agent (31337) ports
- HTTP port (1337) for non-TLS connections
- Proper volume mounts for data persistence
- Network isolation
3. Start KrakenHashes¶
# Start the application
docker compose up -d
# Wait for initialization (about 30 seconds)
docker compose logs -f krakenhashes
4. Access the Application¶
Open your browser and navigate to:
- https://localhost (redirects to port 443)
Note: You'll see a certificate warning because we're using self-signed certificates. This is normal for local development.
5. First Login¶
- Log in with the default admin credentials:
- Username:
admin -
Password:
KrakenHashes1! -
Important: Change the admin password immediately after first login for security
6. Quick Test¶
-
Upload hashcat binary (required first):
- Navigate to Admin → Binaries
- Click "Upload Binary"
- Upload your hashcat binary archive (download from https://hashcat.net/hashcat/)
- The archive contains binaries for all platforms (Linux, Windows, macOS)
System Initialization
After uploading your first binary, the system automatically: - Verifies the binary integrity - Creates the potfile preset job (if not already exists) - Makes the binary available to agents
-
Upload a wordlist:
- Navigate to Admin → Wordlists
- Click "Upload Wordlist"
- Upload a small wordlist file (e.g., rockyou.txt or a test file)
-
Create a test hashlist:
- Navigate to Hashlists
- Click "Create Hashlist"
- Add a few test hashes (e.g., MD5 hashes like
5f4dcc3b5aa765d61d8327deb882cf99for "password")
-
Create a job (when agents are connected):
- Navigate to your hashlist from the Hashlists page
- Click on your hashlist to view its details
- Click "Create Job" from the hashlist management page
- Choose a preset job template or configure custom settings
- Start the job
Note: Jobs require at least one connected agent to execute. Without agents, jobs will remain in pending status.
Common Tasks¶
View Logs¶
Log files are stored in $HOME/krakenhashes/logs/ by default. You can view them in several ways:
# Live logs from Docker
docker compose logs -f
# Backend logs only
docker compose logs -f krakenhashes
# Check stored log files
tail -f $HOME/krakenhashes/logs/backend/*.log
# Check for errors across all logs
grep -i error $HOME/krakenhashes/logs/*/*.log
For debugging, you can enable verbose logging by setting LOG_LEVEL=DEBUG in your .env file.
Stop the Application¶
Update to Latest Version¶
# Pull latest image
docker pull zerkereod/krakenhashes:latest
# Restart with new image
docker compose up -d
Backup Database¶
Troubleshooting¶
Cannot access the web interface¶
- Check if containers are running:
docker compose ps - Check logs for errors:
docker compose logs - Ensure ports 443, 31337, and 1337 are not in use:
netstat -tlnp | grep -E "443|31337|1337"
Database connection errors¶
- Ensure PostgreSQL is healthy:
docker compose ps - Check database logs:
docker compose logs postgres - Verify environment variables match in both services
Certificate warnings¶
This is normal with self-signed certificates. For production, see the Installation Guide for proper TLS setup.
Next Steps¶
- For Users: Read Understanding Jobs and Workflows
- For Admins: Review the full Installation Guide for production setup
- For Developers: See Development Setup
Getting Help¶
- Check the full documentation
- Report issues on GitHub
- Join our community chat (Discord): KrakenHashes