DataForeman Troubleshooting Guide
This guide helps you diagnose and fix common DataForeman problems.
Quick Diagnostic Checklist
Run through this checklist first:
|
|
Open a terminal in DataForeman folder and run:
|
|
Problem: Permission Denied Errors (Windows)
Symptom
Containers fail to start with “Permission denied” errors in logs:
Permission denied: /var/log/...
cannot create directory: Permission denied
Root Cause
On Windows with WSL2, Docker bind mounts need specific permissions for containers to write log files.
Solution 1: Fix Permissions via Windows GUI (Easiest - No Command Line)
Perfect for users who prefer visual tools:
-
Navigate to DataForeman Folder:
- Open File Explorer
- Go to
C:\Program Files\DataForeman
-
Create Missing Directories:
- Right-click in the folder → New → Folder
- Create a folder named
logs(if it doesn’t exist) - Open the
logsfolder - Inside
logs, create these folders:postgrescoreconnectivityfrontnatsopstsdb
- Go back to
C:\Program Files\DataForeman - Create a folder named
var(if it doesn’t exist)
-
Set Full Permissions on Logs Folder:
- Right-click the
logsfolder → Properties - Go to the “Security” tab
- Click “Edit” button
- Click “Add” button
- Type
Everyoneand click “Check Names” - Click “OK”
- Select “Everyone” from the list
- Check “Full control” in the “Allow” column
- Click “Apply” → “OK”
- Right-click the
-
Restart Docker Desktop:
- Right-click Docker icon in system tray
- Select “Restart Docker Desktop”
- Wait for Docker to fully restart (icon shows green)
-
Restart DataForeman:
- Search for “DataForeman” in Start Menu
- Click “Start DataForeman”
- Or use the desktop shortcut
Important Notes:
- You may need Administrator privileges to modify permissions in
C:\Program Files - If prompted by User Account Control (UAC), click “Yes”
- The
Everyonepermission allows Docker containers (running in WSL2) to write log files - This is safe because the folder is only accessible locally on your machine
Solution 2: Use Fix Permissions Tool
Run from Start Menu:
- Search for “DataForeman” → “Fix Permissions”
Or manually:
|
|
Then restart services:
|
|
Solution 3: Manual Fix via WSL
If the automated fix doesn’t work, manually create directories with correct permissions:
|
|
Then restart:
|
|
Problem: Can’t Access http://localhost:8080
Symptom
Browser shows “Unable to connect” or “This site can’t be reached”
Solutions
Solution 1: Check if containers are running
Open a terminal in DataForeman folder and type:
|
|
Look for services with “Exited” status. If any are exited:
|
|
Solution 2: Check if port 8080 is already in use
|
|
If another program is using port 8080, either:
- Stop that program, or
- Edit
docker-compose.ymlto change the front service port from8080:80to8081:80
Solution 3: Check frontend logs
|
|
Look for error messages in the output.
Solution 4: Restart everything
|
|
Wait 30-60 seconds, then try accessing http://localhost:8080 again.
Problem: Permission Denied Errors
Symptom
Containers show errors like:
Permission denied: '/app/logs/core/core.log'
FATAL: could not open log file: Permission denied
Solution
Open a terminal in DataForeman folder and type:
|
|
Why This Happens
The containers run as specific user IDs that need write access to log directories. The fix-permissions script sets the correct permissions.
Make It Permanent
If this happens after every reboot, add the script to your startup:
|
|
Problem: Containers Keep Restarting
Symptom
Running docker compose ps shows containers constantly restarting:
NAME STATUS
core-1 Restarting (1) 5 seconds ago
Solutions
Solution 1: Check memory usage
|
|
If memory usage is near 100%, you need more RAM. DataForeman needs at least 4GB.
Solution 2: Check container logs
|
|
Solution 3: Rebuild containers
|
|
Problem: Database Connection Errors
Symptom
Core service logs show:
Error: connect ECONNREFUSED 127.0.0.1:5432
Failed to connect to database
Solutions
Solution 1: Check if database is running
|
|
Both should show “Up”. If not:
|
|
Solution 2: Check database logs
|
|
Solution 3: Restart in correct order
|
|
Problem: Can’t Login / Invalid Credentials
Symptom
Login page shows “Invalid credentials” even with correct password
Solutions
Solution 1: Use default credentials
- Email:
admin@example.com - Password:
password
Solution 2: Reset admin password
If you’ve forgotten your password, you need to reset it by recreating the admin user.
Open a terminal in DataForeman folder and type:
|
|
Find ADMIN_PASSWORD= and set a new password. Save (Ctrl+X, Y, Enter).
Then delete and recreate the admin user:
|
|
Wait 10 seconds, then try logging in with the new password.
Important: The .env password is only used when creating the admin user. Once you change your password in the app, it’s stored in the database and .env is no longer used.
Solution 3: Check if database has admin user
|
|
If empty, the admin user wasn’t created. Check core logs:
|
|
Problem: Out of Disk Space
Symptom
Errors mentioning “no space left on device”
Solutions
Solution 1: Check disk usage
|
|
Solution 2: Clean up Docker
|
|
Solution 3: Configure data retention
- Access DataForeman at http://localhost:8080
- Go to Diagnostic → Capacity → Retention Policy
- Set retention period (e.g., 30 days)
- Enable compression
- Click Save
Solution 4: Manual database cleanup
|
|
Problem: Slow Performance
Symptom
Web interface is slow, pages take long to load
Solutions
Solution 1: Check system resources
|
|
Solution 2: Check database size
|
|
If very large (>10GB), configure data retention.
Solution 3: Restart services
|
|
Solution 4: Check network latency
|
|
Problem: Can’t Connect to Industrial Devices
Symptom
Device shows “disconnected” or “error” in DataForeman
Solutions
Solution 1: Check network connectivity
|
|
Solution 2: Check firewall
|
|
Solution 3: Check device configuration
- Verify IP address is correct
- Verify port is correct (102 for S7, 44818 for EIP, 4840 for OPC UA)
- Verify device is powered on and accessible from the DataForeman host
Solution 4: Check connectivity logs
|
|
Problem: Windows VM - Discovery Not Working
Symptom
Network discovery doesn’t find devices (but direct IP connection works)
Solution
Your VM network must be in Bridged mode, not NAT
- Shut down the VM
- Open VM settings
- Go to Network settings
- Change from “NAT” or “Shared” to “Bridged Adapter”
- Start the VM
- Restart DataForeman
Why: UDP broadcast packets (used for discovery) cannot traverse NAT. Direct connections work because they use TCP to a specific IP.
Getting More Help
If none of these solutions work:
1. Collect Diagnostic Information
Open a terminal in DataForeman folder and type:
|
|
2. Create a GitHub Issue
Go to GitHub Issues and create a new issue with:
- What you were trying to do
- What happened instead
- Error messages (from logs)
- System information (from diagnostic commands above)
- Steps to reproduce the problem
3. Search Existing Issues
Before creating a new issue, search existing issues - your problem might already be solved!
Complete Reset (Last Resort)
⚠️ WARNING: This will delete ALL your data!
Only do this if instructed or if you want to start completely fresh.
Open a terminal in DataForeman folder and type:
|
|
Preventive Maintenance
To avoid problems:
Weekly
- Check disk space:
df -h - Check container status:
docker compose ps
Monthly
- Review logs for errors:
docker compose logs --tail 200 - Clean up Docker:
docker system prune
After System Updates/Reboots
Open a terminal in DataForeman folder and type:
|
|
Before Updating DataForeman
Open a terminal in DataForeman folder and type:
|
|
Still stuck? Create a GitHub issue with your logs and we’ll help you out.