Skip to main content

System Requirements

Before installing PhotoFlow, ensure your system meets the following requirements:

Minimum Hardware Requirements

CPU

Dual-core processor (2 GHz or higher)

RAM

2 GB minimum, 4 GB recommended

Storage

500 MB for application + database storage

Network

Local network connection for multi-PC setup
For teams with more than 5 concurrent users, we recommend 4 GB RAM and a quad-core processor for optimal performance.

Software Requirements

Node.js

PhotoFlow requires Node.js version 20 or higher.
1

Check Current Version

Verify if Node.js is already installed:
node --version
You should see output like v20.x.x or higher.
2

Install Node.js

If you need to install or upgrade Node.js:
Download the installer from nodejs.org and run it.Choose the LTS (Long Term Support) version for stability.
3

Verify Installation

Confirm Node.js and npm are installed correctly:
node --version
npm --version

PostgreSQL

PhotoFlow uses PostgreSQL version 15 or higher for data storage.
1

Check Current Version

If PostgreSQL is already installed:
psql --version
Expected output: psql (PostgreSQL) 15.x or higher
2

Install PostgreSQL

  1. Download the installer from postgresql.org
  2. Run the installer and follow the setup wizard
  3. Remember the password you set for the postgres user
  4. Default port is 5432
3

Create Database User

Create a dedicated user for PhotoFlow:
# Access PostgreSQL shell
sudo -u postgres psql
-- Create user and database
CREATE USER photoflow WITH PASSWORD 'photoflow_password';
CREATE DATABASE photoflow OWNER photoflow;
GRANT ALL PRIVILEGES ON DATABASE photoflow TO photoflow;

-- Exit the shell
\q
Change photoflow_password to a strong password in production environments.

Git (Optional)

Git is recommended for cloning the repository and receiving updates:
# Check if Git is installed
git --version
Download from git-scm.com
If you don’t want to use Git, you can download PhotoFlow as a ZIP file from GitHub.

Network Requirements

For Local Development

  • No special network configuration required
  • Access via http://localhost:4173

For Multi-PC Setup

Network Configuration

All PCs must be on the same local network:
  • Connected to the same router/switch
  • Able to communicate via TCP/IP
  • No restrictive firewall rules blocking port 4173
Port Requirements:
  • 4173 (default) - PhotoFlow web interface
  • 5432 (default) - PostgreSQL database (only on server PC)
Ensure your firewall allows incoming connections on port 4173 for the server PC. Other PCs only need outgoing access.

Testing Network Connectivity

From a client PC, test connectivity to the server:
# Replace 192.168.1.100 with your server's IP
ping 192.168.1.100

# Test if port 4173 is accessible (requires telnet)
telnet 192.168.1.100 4173

Browser Requirements

PhotoFlow works best with modern browsers:

Chrome/Edge

Version 90 or higher

Firefox

Version 88 or higher

Safari

Version 14 or higher

Opera

Version 76 or higher
Internet Explorer is not supported. Use a modern browser for the best experience.

Optional Dependencies

Docker (for containerized deployment)

If you plan to deploy PhotoFlow using Docker:
  • Docker Engine version 20.10 or higher
  • Docker Compose version 2.0 or higher
See the Docker deployment guide for installation instructions.

Development Tools (for contributing)

If you plan to modify PhotoFlow’s source code:
  • npm version 9 or higher (included with Node.js)
  • Prisma CLI (installed via npm)
  • Code editor - VS Code, WebStorm, or similar

Verification Checklist

Before proceeding with installation, verify:
1

Node.js Installed

node --version  # Should show v20.x.x or higher
2

PostgreSQL Running

psql --version  # Should show 15.x or higher
3

Database Access

psql -U photoflow -d photoflow -h localhost
# Should connect successfully
4

Network Access (for multi-PC)

Ensure all PCs can ping the server PC:
ping <server-ip-address>

Next Steps

Once you’ve met all requirements:

Local Setup

Install PhotoFlow on your local machine

Docker Deployment

Deploy using Docker containers

Database Configuration

Configure PostgreSQL for PhotoFlow

Quick Start

Get running in under 5 minutes

Troubleshooting

If you have an older Node.js version:
  1. Use nvm (Node Version Manager) to install multiple versions:
nvm install 20
nvm use 20
  1. Or uninstall the old version and install Node.js 20 from nodejs.org
Check service status:
# Linux
sudo systemctl status postgresql

# macOS
brew services list
View logs for errors:
# Linux
sudo journalctl -u postgresql

# macOS
tail -f /usr/local/var/log/postgres.log
  1. Verify PostgreSQL is running on port 5432
  2. Check pg_hba.conf allows local connections
  3. Ensure the database user and password are correct
  4. Try connecting manually:
psql -U photoflow -d photoflow -h localhost
Allow port 4173 through your firewall:Windows:
netsh advfirewall firewall add rule name="PhotoFlow" dir=in action=allow protocol=TCP localport=4173
Linux (ufw):
sudo ufw allow 4173/tcp
macOS: Add an exception in System Preferences > Security & Privacy > Firewall

Build docs developers (and LLMs) love