Simplest possible config does not work. Help please!

Hello,
I have my local server that has a web and git servers running on it.
I want to have "my.website" to point to the web server and "git.my.website" to point to git (port 3000).

I have started with just configuring a simple "port redirection" so just to get traefik to redirect port 80 to port 3000.
However traefik seems to be focused on docker and kubernetes so I could not find the documentation or examples on how to do it.

My static config looks like this:

[entryPoints]
  [entryPoints.http]
    address = ":80"
    [entryPoints.http.forwardedHeaders]
      trustedIPs = ["127.0.0.1/32", "10.0.0.0/8", "192.168.0.0/16"]

[providers]
  [providers.http]
    endpoint = "localhost:3000"

[routers]
  [routers.my-router]
    entryPoints = ["http"]
    rule = "PathPrefix(`/`)"
    service = "git"

[services]
  [services.git]
    [[services.git.servers]]
      url = "http://localhost:3000"

curl localhost gives me a 404 and curl localhost:3000 works as it should.
What's wrong here? Can anyone help please?

NOTE: tcp tag is arbitrary, I don't think it's relevant here
Also i have read this and still need help

Routers and services belong under http or tcp section and usually into a separate dynamic config file.

And providers.http loads dynamic config via http, not sure if that is what you want. The dynamic config file is usually loaded via providers.file.

I recommend to search the forum for git examples and solutions.

And you might check some Traefik examples (link).

Side note: people mostly use yaml configuration, as toml has a lot of repetition.