roundcube nginx

This commit is contained in:
2024-07-10 00:19:26 -04:00
parent 19fb57203a
commit 6baed168b2
5 changed files with 96 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ metadata:
labels:
service: roundcubemail
spec:
type: NodePort
ports:
- port: 9000
protocol: TCP

View File

@@ -0,0 +1,33 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: roundcubenginx-config
namespace: roundcube
data:
default.conf: |
server {
listen 80 default_server;
server_name _;
root /var/www/html;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php(/|$) {
try_files $uri =404;
fastcgi_pass roundcubemail:9000;
fastcgi_read_timeout 300;
proxy_read_timeout 300;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
internal;
}
client_max_body_size 6m;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}

View File

@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: roundcubenginx
namespace: roundcube
labels:
service: roundcubenginx
spec:
replicas: 1
selector:
matchLabels:
service: roundcubenginx
strategy:
type: Recreate
template:
metadata:
labels:
service: roundcubenginx
spec:
containers:
- name: roundcubenginx
image: nginx:alpine
imagePullPolicy: ""
env:
- name: NGINX_HOST
value: localhost
- name: NGINX_PHP_CGI
value: roundcubemail:9000
ports:
- containerPort: 80
volumeMounts:
- name: www-data
mountPath: /var/www/html
- name: nginx-config
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
restartPolicy: Always
serviceAccountName: ""
volumes:
- name: www-data
persistentVolumeClaim:
claimName: roundcubemail-www-pvc
- name: nginx-config
configMap:
name: roundcubenginx-config

View File

@@ -1,14 +1,14 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: roundcubemail-ingress
name: roundcubenginx-ingress
namespace: roundcube
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
# traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd
traefik.ingress.kubernetes.io/router.tls: "true"
labels:
service: roundcubemail
service: roundcubenginx
spec:
rules:
- host: roundcube.michaelthomson.dev
@@ -18,7 +18,7 @@ spec:
path: /
backend:
service:
name: roundcubemail
name: roundcubenginx
port:
name: http
tls:

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: roundcubenginx
namespace: roundcube
labels:
service: roundcubenginx
spec:
ports:
- name: http
port: 8080
targetPort: 80
selector:
service: roundcubenginx