Node server works locally with "docker run etc." but not with "docker-compose up"

I’m trying to get comfortable with Docker and I’ve got a tiny test node/express app.

Basically, my node server listens on 8080. I want to pass through host requests to port 80 to the container port 8080. It works with these commands:

docker build -t oheller/toy-web-app .
docker run -e "SERVER_PORT=8080" -p 49160:8080 oheller/toy-web-app

But not with these commands:

docker-compose build
docker-compose up

I assume I’m missing something super obvious, but I’m really stuck after 2+ hours of Googling and testing. Please help!

Here’s the repo with a readme: