Add external K3S_API_HOST and Gitea service to docker-compose.yaml

This commit is contained in:
emelinda 2026-07-22 14:25:29 +03:00
parent 361b7155bf
commit eb2748170a
2 changed files with 32 additions and 3 deletions

View File

@ -1 +1,5 @@
K3S_TOKEN=gVadzB0OtWGDAM9rmlZvHiwfITsP8bxo
# Внешний адрес (IP или домен), по которому к kube-apiserver обращаются извне.
# Попадёт в TLS-сертификат (--tls-san). Без него внешний kubectl упадёт на x509.
K3S_API_HOST=10.0.0.10

View File

@ -6,20 +6,22 @@ services:
- server
- --tls-san=127.0.0.1
- --tls-san=k3s-server
- --tls-san=${K3S_API_HOST:-127.0.0.1} # внешний IP/домен для доступа к apiserver извне
- --disable=traefik
privileged: true
cgroup: host # kubelet в cgroup v2 (Ubuntu 22.04+/RedOS)
restart: unless-stopped
environment:
K3S_TOKEN: ${K3S_TOKEN:-supersecrettoken}
K3S_KUBECONFIG_OUTPUT: /output/kubeconfig.yaml
K3S_KUBECONFIG_MODE: "644"
ports:
- "6443:6443" # kube-apiserver
- "80:80" # ingress http
- "6443:6443" # kube-apiserver — доступен извне; ОБЯЗАТЕЛЬНО ограничь фаерволом до доверенных IP
- "80:80" # ingress http — задействуются после установки ingress-контроллера
- "443:443" # ingress https
volumes:
- k3s-server-data:/var/lib/rancher/k3s # etcd/state, образы, манифесты — только named volume
- ./k3s:/output # отсюда забираем контекст k8s
- ./k3s:/output:z # отсюда забираем контекст k8s (:z — SELinux label для RedOS)
tmpfs:
- /run
- /var/run
@ -41,6 +43,7 @@ services:
command:
- agent
privileged: true
cgroup: host # kubelet в cgroup v2 (Ubuntu 22.04+/RedOS)
restart: unless-stopped
depends_on:
k3s-server:
@ -59,6 +62,28 @@ services:
soft: 65535
hard: 65535
gitea:
image: gitea/gitea:1.22
container_name: gitea
restart: unless-stopped
environment:
USER_UID: 1000
USER_GID: 1000
GITEA__server__ROOT_URL: ${GITEA_ROOT_URL:-http://localhost:3000/}
GITEA__server__SSH_PORT: ${GITEA_SSH_PORT:-2222}
ports:
- "3000:3000" # web UI (80/443 заняты k3s)
- "${GITEA_SSH_PORT:-2222}:22" # git over ssh
volumes:
- ./gitea-data:/data:z # :z — SELinux label для RedOS
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:3000/api/healthz"]
interval: 10s
timeout: 5s
retries: 12
start_period: 20s
volumes:
k3s-server-data:
k3s-worker-data:
gitea-data: