Can kubernetes be used on a cheap VPS to display only 1 service?

Hello everybody,

I have a domain name on Freenom and a VPS with Linux Ubuntu 22.04 on Google.
I would like to use Docker Compose.
I wrote this configuration:

version: "3.9"

services:
  traefik:
    build: ./traefik
    image: image-traefik-eb:v.1.0
    container_name: container-traefik-eb
    command:
      - --log.level=INFO
      - --log.filePath=/data-log/traefik.log
      - --log.format=json
      - --accesslog=true
      - --api.insecure=false
      - --api.dashboard=true
      - --providers.docker
      - --providers.docker.exposedbydefault=false
      - --entrypoints.web.address=:80
      - --entrypoints.web.http.redirections.entryPoint.to=websecure
      - --entrypoints.web.http.redirections.entrypoint.scheme=https
      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http.tls=true
      - --entrypoints.websecure.http.tls.certresolver=leresolver
      - --certificatesresolvers.leresolver.acme.tlsChallenge=true
      - --certificatesresolvers.leresolver.acme.email=domain-name@gmail.com
      - --certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json
    labels:
      traefik.enable: true
      traefik.http.routers.dashboard.rule: Host(`www.traefik.domain-name.ga`)
      traefik.http.routers.dashboard.service: api@internal
      traefik.http.routers.dashboard.middlewares: auth
      traefik.http.middlewares.auth.basicauth.users: user:***********************
      traefik.http.routers.unmatchedwww.rule: HostRegexp(`{name:^www\..*}`) 
      traefik.http.routers.unmatchedwww.service: noop@internal
      traefik.http.routers.unmatchedwww.priority: 2
      traefik.http.routers.matchlast.rule: PathPrefix(`/`)
      traefik.http.routers.matchlast.priority: 1
      traefik.http.routers.matchlast.middlewares: addwww
      traefik.http.middlewares.addwww.redirectregex.regex: ^https://(?:www\.)?(.*)
      traefik.http.middlewares.addwww.redirectregex.replacement: https://www.$${1}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./volumes/data-letsencrypt/:/letsencrypt
      - ./volumes/data-log/:/data-log/
    restart: always
    ports:
      - 80:80
      - 443:443
    networks:
      - eb
      - traefik-network
      
  php:
    build: ./php-apache
    image: image-php-apache-eb:v.1.0
    labels:
      traefik.enable: 'true'
      traefik.http.services.php.loadbalancer.server.port: 80
      traefik.http.services.php.loadbalancer.server.scheme: http
      traefik.http.routers.php.rule: Host(`www.domain-name.ga`)
      traefik.http.routers.php.tls.domains[0].main: domain-name.ga
      traefik.http.routers.php.tls.domains[0].sans: www.domain-name.ga
    volumes:
      - ./volumes/data-php:/var/www/html
    restart: always
    depends_on:
      - traefik
    networks:
      - eb

networks:
  eb:
    internal: true
  traefik-network:
FROM traefik:v2.8.0
FROM php:8.1-apache
EXPOSE 80

I use Traefik for the following reasons:

  1. Obtain a Let’s Encrypt certificate
  2. Redirect to the various services (in this case only 1)
  3. Redirect from http to https and from non-www to www
  4. View the dashboard in secure mode on https and with password

I can do everything except point 1. If I simplify the configuration I can get the certificates but not satisfy point 3 or 4, etc …

Basically I always get to 99% but I can never get to 100%.

Can I get to 100% with kubernetes?
Can kubernetes help me?