services:
  server:
    image: "rancher/k3s:v1.31.5-k3s1"
    command: server
    tmpfs:
      - /run
      - /var/run
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
    privileged: true
    restart: always
    environment:
      - K3S_KUBECONFIG_OUTPUT=/output/kubeconfig.yaml
      - K3S_KUBECONFIG_MODE=666
    volumes:
      # This is just so that we get the kubeconfig file out
      - .:/output
    ports:
      - 6443:6443 # Kubernetes API Server
      - 80:80 # Ingress controller port 80
      - 443:443 # Ingress controller port 443