`git update-server-info` is your friend; it generates the auxiliary files needed to allow clients to make range requests against packs.
For example: https://andrewaylett.github.io/rgitweb/ is a repository viewer that runs against a static git repo. It doesn't care what you're storing the pack in, just that the data is there to make the right range requests.