Before starting with the vegetables, make sure your fish bones and head are well cleaned and placed in the refrigerator until ready to use.
Next, roughly chop down the onion, carrot, and celery into bite-sized pieces and set them aside. Place a dutch oven or stainless steel pot onto your stovetop and bring the heat to medium-high. Add and melt the butter in the pot until it begins to froth and then toss in your veggies. Give them a quick stir and then sprinkle the salt over them. Continue to sauté the vegetables until they turn translucent and soften a bit. If they start to brown too much or char, turn the heat down to medium.
After about 5 minutes, pour in the water and add the rest of the ingredients to the pot. Bring the heat down to medium-low or low and cook the fish stock for 30-45 minutes. You want to see only steam, NO bubbles. If you have a food thermometer, the temperature should not go over 185°F (85°C).
Skim off any impurities and scum as your fish stock cooks. When done, turn off the heat strain through a fine mesh strainer. If you need to, you can pour everything through a colander into a bowl beneath (to catch all of the larger pieces), and then pour the liquid through a fine mesh strainer and into the container you want to store the fish stock in.
Your homemade fish stock can be kept fresh in a refrigerator for 3-4 days or in the freezer for up to 3 months.