For: First-time users, fresh laptops, zero assumptions Time: ~20-30 minutes from complete nothing to running Piper Morgan Difficulty: Beginner-friendly (we explain everything)
Before starting, verify you have everything:
→ Read: Comprehensive Prerequisites Guide
This covers:
Skip ahead only if you already verified all four items above.
Mac:
Cmd + SpaceWindows:
Windows + RKeep this window open for all remaining steps. Don’t close it!
We’ll create a dedicated folder to keep everything organized.
Type this command (press Enter after each line):
cd ~
mkdir piper-morgan-workspace
cd piper-morgan-workspace
What these do:
cd ~ takes you to your home folder (fastest way)mkdir piper-morgan-workspace creates a new foldercd piper-morgan-workspace moves you into that folderVerify it worked: Type pwd and press Enter. You should see a path ending in piper-morgan-workspace.
Piper Morgan’s database runs in Docker. First, make sure Docker Desktop is running:
Mac:
Cmd + SpaceWindows:
Once Docker is running, open a new terminal tab and start the database:
Mac/Linux:
docker-compose up -d postgres
Windows (PowerShell):
docker-compose up -d postgres
Press Enter.
What you’ll see:
Creating network "piper-morgan-product_default" with the default driver
Creating piper-morgan-product_db_1 ...
Creating piper-morgan-product_db_1 ... done
✅ If you see “done”: Database is starting! Give it 10 seconds to fully initialize.
Keep this terminal tab open (Docker will keep running).
Go back to your original terminal tab (the one in the piper-morgan-product folder) and proceed below.
Instead of doing Steps 5-10 manually, you can use the automated setup wizard:
python3.12 main.py setup
This single command will:
Time: ~5-10 minutes total (including waiting for dependencies to install)
If you prefer to do it manually, continue below. Otherwise, you’re done! 🎉
If you prefer to understand each step, follow Steps 5-10 below. Both approaches work!
This is critical. A virtual environment isolates Piper Morgan’s Python packages from the rest of your system.
⚠️ IMPORTANT: First, clean up any old virtual environment
If you see a venv folder from a previous attempt, delete it:
rm -rf venv
Press Enter.
Now create the virtual environment using Python 3.12 explicitly:
Mac:
python3.12 -m venv venv
Windows:
python -m venv venv
Press Enter.
What this does: Creates a special folder called venv that contains everything Piper Morgan needs, using Python 3.12.
What you’ll see: Nothing much. The command runs silently. Wait for the command prompt to return.
This takes ~30-60 seconds. Don’t interrupt!
Verify it worked: Type ls -la and press Enter. You should see a folder named venv in the list.
Troubleshoot: If you see an error like python3.12: command not found:
This step changes your terminal to use the Piper Morgan Python environment. You must do this step or nothing will work.
Mac/Linux - Type this command:
source venv/bin/activate
Windows - Type this command:
venv\Scripts\activate
Press Enter.
What you’ll see: Your command prompt changes. Look at the beginning of the line—it should now say (venv) before your username.
Before: username@computer piper-morgan $
After: (venv) username@computer piper-morgan $
❌ If you don’t see (venv): The activation didn’t work. Try the command again.
✅ If you see (venv): Perfect! You’re now using the virtual environment.
⚠️ Important: Every time you close your terminal and open a new one, you’ll need to repeat this step (Step 6) to use Piper Morgan again!
pip is the software that installs Python packages. Let’s make sure it’s up to date.
Type this command:
pip install --upgrade pip
Press Enter.
What you’ll see: Text showing pip being downloaded. This takes ~30 seconds. Wait for the prompt to return.
Verify it worked: Type pip --version and press Enter. You should see a version number.
This is the step that fixes the structlog error! This command installs all the Python packages Piper Morgan needs.
Type this command:
pip install -r requirements.txt