mirror of
https://github.com/ghndrx/nextcloud-manifest.git
synced 2026-02-10 06:55:00 +00:00
add all**
This commit is contained in:
35
deployments/mysql-deployment.yaml
Normal file
35
deployments/mysql-deployment.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: mysql
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: mysql
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: mysql
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: mysql
|
||||||
|
image: mysql:8
|
||||||
|
ports:
|
||||||
|
- containerPort: 3306
|
||||||
|
env:
|
||||||
|
- name: MYSQL_ROOT_PASSWORD
|
||||||
|
value: "password"
|
||||||
|
- name: MYSQL_DATABASE
|
||||||
|
value: "nextcloud"
|
||||||
|
- name: MYSQL_USER
|
||||||
|
value: "nextcloud"
|
||||||
|
- name: MYSQL_PASSWORD
|
||||||
|
value: "password"
|
||||||
|
volumeMounts:
|
||||||
|
- name: mysql-data
|
||||||
|
mountPath: /var/lib/mysql
|
||||||
|
volumes:
|
||||||
|
- name: mysql-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: mysql-pvc
|
||||||
26
deployments/nextcloud-deployment.yaml
Normal file
26
deployments/nextcloud-deployment.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nextcloud
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nextcloud
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nextcloud
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nextcloud
|
||||||
|
image: nextcloud:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
volumeMounts:
|
||||||
|
- name: nextcloud-data
|
||||||
|
mountPath: /var/www/html
|
||||||
|
volumes:
|
||||||
|
- name: nextcloud-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: nextcloud-pvc
|
||||||
59
deployments/nginx-ingress-service.yaml
Normal file
59
deployments/nginx-ingress-service.yaml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nginx-ingress
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: nginx-ingress
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: nginx-ingress
|
||||||
|
image: nginx-ingress-controller:alpine
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
- containerPort: 443
|
||||||
|
env:
|
||||||
|
- name: POD_NAME
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
- name: POD_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
args:
|
||||||
|
- /nginx-ingress-controller
|
||||||
|
- --configmap=$(POD_NAMESPACE)/nginx-ingress-config
|
||||||
|
- --tcp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-tcp-services-config
|
||||||
|
- --udp-services-configmap=$(POD_NAMESPACE)/nginx-ingress-udp-services-config
|
||||||
|
- --annotations-prefix=nginx.ingress.kubernetes.io
|
||||||
|
- --publish-service=$(POD_NAMESPACE)/nginx-ingress
|
||||||
|
volumeMounts:
|
||||||
|
- name: nginx-ingress-config
|
||||||
|
mountPath: /etc/nginx/nginx-ingress-config
|
||||||
|
- name: nginx-ingress-tcp-services-config
|
||||||
|
mountPath: /etc/nginx/nginx-ingress-tcp-services-config
|
||||||
|
- name: nginx-ingress-udp-services-config
|
||||||
|
mountPath: /etc/nginx/nginx-ingress-udp-services-config
|
||||||
|
- name: nginx-ingress-certs
|
||||||
|
mountPath: /etc/nginx/nginx-ingress-certs
|
||||||
|
volumes:
|
||||||
|
- name: nginx-ingress-config
|
||||||
|
configMap:
|
||||||
|
name: nginx-ingress-config
|
||||||
|
- name: nginx-ingress-tcp-services-config
|
||||||
|
configMap:
|
||||||
|
name: nginx-ingress-tcp-services-config
|
||||||
|
- name: nginx-ingress-udp-services-config
|
||||||
|
configMap:
|
||||||
|
name: nginx-ingress-udp-services-config
|
||||||
|
- name: nginx-ingress-certs
|
||||||
|
secret:
|
||||||
|
secretName: nginx-ingress-certs
|
||||||
|
|
||||||
11
mysql-configmap.yaml
Normal file
11
mysql-configmap.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: mysql-config
|
||||||
|
data:
|
||||||
|
my.cnf: |
|
||||||
|
[mysqld]
|
||||||
|
datadir=/var/lib/mysql
|
||||||
|
socket=/var/lib/mysql/mysql.sock
|
||||||
|
bind-address=0.0.0.0
|
||||||
|
max_connections=1024
|
||||||
6
mysql-secret.yaml
Normal file
6
mysql-secret.yaml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: mysql-secret
|
||||||
|
data:
|
||||||
|
root-password: "cGFzc3dvcmQ="
|
||||||
27
nextcloud-configmap.yaml
Normal file
27
nextcloud-configmap.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nextcloud-config
|
||||||
|
data:
|
||||||
|
config.php: |
|
||||||
|
<?php
|
||||||
|
$CONFIG = array (
|
||||||
|
'instanceid' => 'oc12345678',
|
||||||
|
'passwordsalt' => 'abcdefghijklmnopqrstuvwxyz',
|
||||||
|
'secret' => 'abcdefghijklmnopqrstuvwxyz',
|
||||||
|
'trusted_domains' =>
|
||||||
|
array (
|
||||||
|
0 => 'nextcloud.example.com',
|
||||||
|
),
|
||||||
|
'datadirectory' => '/var/www/html/data',
|
||||||
|
'overwrite.cli.url' => 'http://nextcloud.example.com',
|
||||||
|
'dbtype' => 'mysql',
|
||||||
|
'version' => '20.0.0.10',
|
||||||
|
'dbname' => 'nextcloud',
|
||||||
|
'dbhost' => 'nextcloud-mysql',
|
||||||
|
'dbport' => '',
|
||||||
|
'dbtableprefix' => 'oc_',
|
||||||
|
'dbuser' => 'nextcloud',
|
||||||
|
'dbpassword' => 'password',
|
||||||
|
'installed' => true,
|
||||||
|
);
|
||||||
41
nginx-configmap.yaml
Normal file
41
nginx-configmap.yaml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress-config
|
||||||
|
data:
|
||||||
|
nginx-ingress.conf: |-
|
||||||
|
# Configuration for nginx-ingress
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://nextcloud-service;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
ssl_certificate /etc/nginx/certs/tls.crt;
|
||||||
|
ssl_certificate_key /etc/nginx/certs/tls.key;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://nextcloud-service;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
nginx-secret.yaml
Normal file
7
nginx-secret.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress-certs
|
||||||
|
data:
|
||||||
|
tls.crt: <base64 encoded cert>
|
||||||
|
tls.key: <base64 encoded key>
|
||||||
12
services/mysql-service.yaml
Normal file
12
services/mysql-service.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mysql
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: mysql
|
||||||
|
ports:
|
||||||
|
- name: mysql
|
||||||
|
port: 3306
|
||||||
|
targetPort: 3306
|
||||||
|
type: ClusterIP
|
||||||
12
services/nextcloud-service.yaml
Normal file
12
services/nextcloud-service.yaml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: nextcloud
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: nextcloud
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
type: ClusterIP
|
||||||
15
services/nginx-ingress-service.yaml
Normal file
15
services/nginx-ingress-service.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: nginx-ingress
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
- name: https
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
||||||
|
type: ClusterIP
|
||||||
11
volumes/mysql-pv.yaml
Normal file
11
volumes/mysql-pv.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: mysql-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 10Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: "/mnt/data/mysql"
|
||||||
10
volumes/mysql-pvc.yaml
Normal file
10
volumes/mysql-pvc.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: mysql-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
11
volumes/nextcloud-pv.yaml
Normal file
11
volumes/nextcloud-pv.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: nextcloud-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 10Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: "/mnt/data/nextcloud"
|
||||||
10
volumes/nextcloud-pvc.yaml
Normal file
10
volumes/nextcloud-pvc.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: nextcloud-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
11
volumes/nginx-pv.yaml
Normal file
11
volumes/nginx-pv.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 5Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: "/mnt/data/nginx-ingress"
|
||||||
13
volumes/nginx-pvc.yaml
Normal file
13
volumes/nginx-pvc.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: nginx-ingress-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: nginx-ingress
|
||||||
Reference in New Issue
Block a user