mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09: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
 |