Troubleshooting¶
This page covers common issues, diagnostic commands, and step-by-step resolution for all TruSpace components.
General Debugging Approach¶
Before diving into specific issues, run through these checks first:
1. Are all containers running?
If any container is stopped, start it:
2. Check container logs:
docker logs truspace-backend
docker logs frontend
docker logs ipfs0
docker logs cluster0
docker logs webui
docker logs ollama
3. Check the health endpoint:
This reports the status of the backend, IPFS gateway, pinning service, and cluster.
4. Inspect configuration files:
Ensure .env values are correct — look for typos in secrets, URLs, and port numbers.
Installation Issues¶
Docker: permission denied¶
Port already in use¶
Or change the conflicting port in .env (e.g. FRONTEND_PORT, BACKEND_PORT).
Database migration errors on startup¶
If you see migration-related errors after pulling a new TruSpace version:
Data loss
Deleting truspace.db removes all users, workspaces, and metadata. Back up the file first if you need to preserve data.
npm dependency errors after update¶
Startup Issues¶
Containers won't start¶
# View logs for all services at once
docker compose logs -f
# Full reset (removes volumes — use with caution)
docker compose down -v
./start.sh
Slow first startup¶
The first run pulls Docker images (~2–3 GB) and downloads AI models (~1–4 GB). Subsequent starts are much faster. To skip the AI components entirely:
Server & Network Issues¶
Server not responding¶
Ensure the configured ports are reachable and the firewall is not blocking them.
Not connected to other IPFS peers¶
# Check active swarm connections
docker exec ipfs0 ipfs swarm peers
# Manually connect to a peer
docker exec ipfs0 ipfs swarm connect <multiaddr>
# Check cluster peers
docker exec cluster0 ipfs-cluster-ctl peers ls
Also verify:
- The
CLUSTER_SECRETin.envis identical on all nodes - Port
4001/tcp(IPFS swarm) and9096/tcp(cluster) are open in your firewall - The IPFS swarm key matches across all nodes (for private networks)
Documents¶
How many documents are in the system?¶
Which documents are pinned locally?¶
Replace ipfs0 with another node name to query that peer instead.
Which documents are pinned in the cluster?¶
Are there any pinning errors?¶
Documents with PIN_ERROR status are not properly replicated. Check cluster connectivity.
Document not rendering¶
Look for fetch or decryption errors in the output.
AI perspectives not generated automatically¶
Check all three services that participate in AI generation:
Verify the model name in .env matches an actually downloaded model:
Pull the model manually if missing:
How to delete a document¶
Replace :docId with the actual document ID.
Users¶
How many users are registered?¶
Which users have access to a workspace?¶
To remove a specific permission:
Which users have contributed to a workspace?¶
Users cannot login or register¶
Confirm the SQLite database is mounted and accessible:
Workspaces¶
How to delete a workspace¶
Replace :wCID with the workspace CID and :wUID with the user ID of the person performing the deletion.
IPFS & Cluster¶
Content not syncing between nodes¶
- Verify
CLUSTER_SECRETis the same on all peers - Check cluster membership:
docker exec cluster0 ipfs-cluster-ctl peers ls - Restart the cluster service:
docker compose restart cluster0 - Force a swarm reconnect:
docker exec ipfs0 ipfs swarm connect <peer-multiaddr>
Checking pin status across the cluster¶
Restarting IPFS without losing data¶
AI Issues¶
AI not responding or chatbot inaccessible¶
Ensure ports are correctly configured and the Ollama model is downloaded:
Slow AI processing¶
- Switch to a lighter model: set
OLLAMA_MODEL=tinyllamain.env - Enable GPU passthrough in
docker-compose.override.yml - Check available RAM:
free -h
AI completely disabled but perspectives still attempted¶
Ensure this is set in .env:
Then restart:
Out of Memory¶
# Check current usage
free -h
docker stats
# Restart containers to free memory
docker compose down
docker compose up -d
For Raspberry Pi or memory-constrained systems, increase swap:
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile # set CONF_SWAPSIZE=2048
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
Network Connectivity (Docker)¶
Containers on different networks can't communicate¶
Docker containers on different networks cannot resolve each other by name. Check which network each container is on:
Ensure all TruSpace services are on the same Docker network, or add explicit network entries in docker-compose.yml.
Port conflict with host services (e.g. UniFi, other services on 8080)¶
Remap the conflicting port on the host side in docker-compose.yml:
Do not modify the internal container port.
Getting Help¶
If the steps above don't resolve your issue:
- Open a GitHub Issue
- Start a GitHub Discussion
- Include the output of
docker compose logsand your.env(with secrets redacted)