Place chicken bones, skin, and any leftover meat in a large stockpot
Add cold water to cover the chicken by 1 to 2 inches
Add onion, carrots, celery, garlic, bay leaves, and peppercorns if desired
Bring to a gentle boil over medium-high heat
Reduce heat to low and simmer gently
Skim off foam and impurities from the surface as needed
Simmer for 2 to 4 hours
Add salt near the end if desired
Strain the stock through a fine-mesh sieve
Discard solids
Cool the stock quickly
Refrigerate or freeze for storage
