Common issues and solutions for Wardrobe AI Closet.
Cause: PostgreSQL not running or wrong connection string
Solution:
# Check if PostgreSQL is running
sudo systemctl status postgresql
# Start PostgreSQL if stopped
sudo systemctl start postgresql
# Test connection
psql -U wardrobe -d wardrobe -h localhost
# Check .env DATABASE_URL format:
# postgresql://username:password@host:port/database
DATABASE_URL="postgresql://wardrobe:password@localhost:5432/wardrobe"
Solution:
# Reset database password
sudo -u postgres psql
ALTER USER wardrobe WITH PASSWORD 'new_password';
\q
# Update .env with new password
Solution:
cd app
bunx prisma generate
# or
npx prisma generate
Solution:
# Install Bun
curl -fsSL https://bun.sh/install | bash
source ~/.bashrc
# Or use npm instead
npm install
npm run build
npm start
Solution:
# If using Bun
rm bun.lockb
bun install
# If using npm
rm package-lock.json
npm install
Cause: Some packages don’t work with Bun
Solution:
# Use npm for development
npm install
npm run dev
# Use Bun only for production builds
bun run build
Solution:
.env has correct key:
OPENROUTER_API_KEY=sk-or-v1-xxxxx
.envSolution:
Solution:
Solution:
# Check Redis is running
redis-cli ping
# Clear stuck jobs (caution: only if truly stuck)
redis-cli FLUSHDB
# Restart app
sudo systemctl restart wardrobe
Cause: Next.js compiles pages on first request (dev mode)
Solution:
bun run build && bun startbun run dev --turboSolution:
kind: "thumbnail" entries# Install ImageMagick
sudo apt install imagemagick
# Batch optimize (from data directory)
find images -name "*.jpg" -exec mogrify -quality 85 {} \;
Solution:
# Check database size
du -sh /var/lib/postgresql/data
# Analyze slow queries
sudo -u postgres psql wardrobe
EXPLAIN ANALYZE SELECT * FROM items WHERE state = 'available';
# Vacuum database
VACUUM ANALYZE;
Cause: Image processing, AI jobs, or memory leaks
Solution:
# Check memory usage
free -h
htop
# Restart app
sudo systemctl restart wardrobe
# Limit memory (systemd service)
# Add to /etc/systemd/system/wardrobe.service:
[Service]
MemoryMax=2G
MemoryHigh=1.5G
Solution:
client_max_body_size 50M;
sudo systemctl reload nginx
df -h
Cause: Only certain image types are supported
Solution:
.jpg, .jpeg, .png, .webp# Convert HEIC to JPG (iPhone photos)
heif-convert photo.heic photo.jpg
Solution:
ls -la /var/www/wardrobe/data/images
# Should be readable by app user
sudo chown -R www-data:www-data /var/www/wardrobe/data
sudo -u postgres psql wardrobe
SELECT id, file_path FROM image_assets LIMIT 5;
DATA_DIR in .env matches actual directoryCause: Upload interrupted or disk full
Solution:
df -hSolution:
# Clear cache and reinstall
rm -rf node_modules .next
bun install
# or
npm install
# Rebuild
bun run build
Solution:
# Regenerate Prisma Client
bunx prisma generate
# Clear Next.js cache
rm -rf .next
# Rebuild
bun run build
Solution:
.ts/.tsx filesnpx tsc --noEmit
tsconfig.json:
{
"compilerOptions": {
"strict": false
}
}
Solution:
# Increase Node.js memory
NODE_OPTIONS="--max-old-space-size=4096" bun run build
# Or add to package.json:
"scripts": {
"build": "NODE_OPTIONS='--max-old-space-size=4096' next build"
}
Solution:
# Check Redis is running
sudo systemctl status redis
# Start Redis
sudo systemctl start redis
# Test connection
redis-cli ping
# Should return "PONG"
# Check REDIS_URL in .env
REDIS_URL="redis://localhost:6379"
Solution:
redis-cli ping# If using systemd, check worker service
sudo systemctl status wardrobe-worker
redis-cli
FLUSHALL
Solution:
# Check queue size
redis-cli LLEN bull:ai-jobs:wait
# Clear failed jobs
redis-cli DEL bull:ai-jobs:failed
# Clear completed jobs
redis-cli DEL bull:ai-jobs:completed
Add to .env:
DEBUG=true
LOG_LEVEL=debug
# App logs (systemd)
sudo journalctl -u wardrobe -f
# Docker logs
docker-compose logs -f app
# Nginx logs
sudo tail -f /var/log/nginx/error.log
CAUTION: This deletes all data!
# Stop app
sudo systemctl stop wardrobe
# Drop database
sudo -u postgres psql
DROP DATABASE wardrobe;
CREATE DATABASE wardrobe OWNER wardrobe;
\q
# Clear Redis
redis-cli FLUSHALL
# Clear images
rm -rf /var/www/wardrobe/data/images/*
# Run migrations
cd /var/www/wardrobe/app
bunx prisma migrate deploy
# Start app
sudo systemctl start wardrobe
# App version
cat /var/www/wardrobe/app/package.json | grep version
# Environment
uname -a
node --version
bun --version
postgres --version
redis-server --version
# Recent logs
sudo journalctl -u wardrobe --since "10 minutes ago"
# Disk space
df -h