Files
breedr/INSTALL.md
2026-03-08 22:55:08 -05:00

4.0 KiB

BREEDR Installation Guide

Quick Start - Unraid Deployment

Step 1: Clone the Repository

SSH into your Unraid server and run:

cd /tmp
git clone https://git.alwisp.com/jason/breedr.git
cd breedr

Step 2: Build the Docker Image

docker build -t breedr:latest .

This will:

  • Install all Node.js dependencies automatically
  • Build the React frontend
  • Set up the SQLite database
  • Create a production-ready container

Build time: Approximately 3-5 minutes depending on your server.

Step 3: Deploy via Unraid UI

  1. Open Unraid web interface
  2. Navigate to the Docker tab
  3. Click Add Container
  4. Configure the following:

Basic Settings

  • Name: Breedr
  • Repository: breedr:latest
  • Network Type: Bridge

Port Mappings

  • Container Port: 3000
  • Host Port: 3000 (or your preferred port)
  • Connection Type: TCP

Volume Mappings

Path 1 - Database Storage:

  • Container Path: /app/data
  • Host Path: /mnt/user/appdata/breedr
  • Access Mode: Read/Write

Path 2 - Photo Uploads:

  • Container Path: /app/uploads
  • Host Path: /mnt/user/appdata/breedr/uploads
  • Access Mode: Read/Write

Extra Parameters (Optional)

--restart=unless-stopped
  1. Click Apply

Step 4: Access BREEDR

Open your browser and navigate to:

http://[YOUR-UNRAID-IP]:3000

For example: http://192.168.1.100:3000


Alternative: Command Line Deployment

If you prefer command line deployment:

docker run -d \
  --name=breedr \
  -p 3000:3000 \
  -v /mnt/user/appdata/breedr:/app/data \
  -v /mnt/user/appdata/breedr/uploads:/app/uploads \
  --restart unless-stopped \
  breedr:latest

Verifying Installation

Check Container Status

docker ps | grep breedr

View Container Logs

docker logs breedr

You should see:

🐕 BREEDR Server Running
================================
Environment: production
Port: 3000
Database: /app/data/breedr.db
Uploads: /app/uploads
Access: http://localhost:3000
================================

Test Health Endpoint

curl http://localhost:3000/api/health

Should return:

{"status":"ok","timestamp":"..."}

Updating BREEDR

To update to the latest version:

# Stop and remove old container
docker stop breedr
docker rm breedr

# Pull latest code
cd /tmp/breedr
git pull origin master

# Rebuild image
docker build -t breedr:latest .

# Redeploy (data persists in volumes)
docker run -d \
  --name=breedr \
  -p 3000:3000 \
  -v /mnt/user/appdata/breedr:/app/data \
  -v /mnt/user/appdata/breedr/uploads:/app/uploads \
  --restart unless-stopped \
  breedr:latest

Backup & Restore

Backup

Your data is stored in two locations:

  1. Database: /mnt/user/appdata/breedr/breedr.db
  2. Photos: /mnt/user/appdata/breedr/uploads/

To backup:

tar -czf breedr-backup-$(date +%Y%m%d).tar.gz /mnt/user/appdata/breedr/

Restore

tar -xzf breedr-backup-YYYYMMDD.tar.gz -C /

Troubleshooting

Container won't start

# Check logs for errors
docker logs breedr

# Ensure ports aren't in use
netstat -tulpn | grep 3000

Database errors

# Reinitialize database
docker exec -it breedr node server/db/init.js

Permission issues

# Fix permissions
chown -R nobody:users /mnt/user/appdata/breedr
chmod -R 755 /mnt/user/appdata/breedr

Can't access web interface

  1. Verify container is running: docker ps
  2. Check firewall settings
  3. Verify port mapping: docker port breedr
  4. Check Unraid network settings

Uninstalling

# Stop and remove container
docker stop breedr
docker rm breedr

# Remove image
docker rmi breedr:latest

# Remove data (WARNING: This deletes all your data!)
rm -rf /mnt/user/appdata/breedr

Support

For issues or questions:

  1. Check the logs: docker logs breedr
  2. Review the README.md
  3. Contact your system administrator