mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 00:02:20 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
apiVersion: v1
 | 
						|
kind: Namespace
 | 
						|
metadata:
 | 
						|
  name: gitea
 | 
						|
---
 | 
						|
apiVersion: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  name: gitea
 | 
						|
  namespace: gitea
 | 
						|
  labels:
 | 
						|
    app: gitea
 | 
						|
spec:
 | 
						|
  replicas: 1
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      name: gitea
 | 
						|
      labels:
 | 
						|
        app: gitea
 | 
						|
    spec:
 | 
						|
      containers:
 | 
						|
      - name: gitea
 | 
						|
        image: gitea/gitea:latest
 | 
						|
        imagePullPolicy: Always
 | 
						|
        volumeMounts:
 | 
						|
          - mountPath: "/var/lib/gitea"
 | 
						|
            name: "root"
 | 
						|
          - mountPath: "/data"
 | 
						|
            name: "data"
 | 
						|
        ports:
 | 
						|
          - containerPort: 22
 | 
						|
            name: ssh
 | 
						|
            protocol: TCP
 | 
						|
          - containerPort: 3000
 | 
						|
            name: http
 | 
						|
            protocol: TCP
 | 
						|
      restartPolicy: Always
 | 
						|
      volumes:
 | 
						|
        # Set up a data directory for gitea
 | 
						|
        # For production usage, you should consider using PV/PVC instead(or simply using storage like NAS)
 | 
						|
        # For more details, please see https://kubernetes.io/docs/concepts/storage/volumes/
 | 
						|
      - name: "root"
 | 
						|
        hostPath:
 | 
						|
          # directory location on host
 | 
						|
          path: "/var/lib/gitea"
 | 
						|
          # this field is optional
 | 
						|
          type: Directory
 | 
						|
      - name: "data"
 | 
						|
        hostPath:
 | 
						|
          path: "/data/gitea"
 | 
						|
          type: Directory
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: gitea
 | 
						|
---
 | 
						|
# Using cluster mode
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
metadata:
 | 
						|
  name: gitea-web
 | 
						|
  namespace: gitea
 | 
						|
  labels:
 | 
						|
    app: gitea-web
 | 
						|
spec:
 | 
						|
  ports:
 | 
						|
  - port: 80
 | 
						|
    targetPort: 3000
 | 
						|
    name: http
 | 
						|
  selector:
 | 
						|
    app: gitea
 | 
						|
---
 | 
						|
# Using node-port mode
 | 
						|
# This mainly open a specific TCP port for SSH usage on each host,
 | 
						|
# so you can use a proxy layer to handle it(e.g. slb, nginx)
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
metadata:
 | 
						|
  name: gitea-ssh
 | 
						|
  namespace: gitea
 | 
						|
  labels:
 | 
						|
    app: gitea-ssh
 | 
						|
spec:
 | 
						|
  ports:
 | 
						|
  - port: 22
 | 
						|
    targetPort: 22
 | 
						|
    nodePort: 30022
 | 
						|
    name: ssh
 | 
						|
  selector:
 | 
						|
    app: gitea
 | 
						|
  type: NodePort
 | 
						|
---
 | 
						|
# Ingress is always suitable for HTTP usage,
 | 
						|
# we suggest using an proxy layer such as slb to send traffic to different ports.
 | 
						|
# Usually 80/443 for web and 22 directly for SSH.
 | 
						|
apiVersion: extensions/v1beta1
 | 
						|
kind: Ingress
 | 
						|
metadata:
 | 
						|
  name: gitea
 | 
						|
  namespace: gitea
 | 
						|
spec:
 | 
						|
  rules:
 | 
						|
  - host: your-gitea-host.com
 | 
						|
    http:
 | 
						|
      paths:
 | 
						|
      - backend:
 | 
						|
          serviceName: gitea-web
 | 
						|
          servicePort: 80
 |