使用k8s部署RainLoop-Webmail
说明
* rainloop最新源码官方下载地址:https://www.rainloop.net/downloads/
* 系统要求:https://www.rainloop.net/docs/system-requirements/
* 安装文档:https://www.rainloop.net/docs/installation/
* 更多详细资料请查看官方文档
* docker镜像构建方法来源github:https://github.com/sauloaldocker/docker-rainloop
config说明
* config下所有文件均来源于:https://github.com/sauloaldocker/docker-rainloop
* 只有php启动脚本不一致,脚本如下:
* 无用,仅供参考#!/bin/sh
exec 2>&1
#exec /usr/sbin/php5-fpm --fpm-config /etc/php5/fpm/php-fpm.confexec /usr/sbin/php7.4-fpm --fpm-config /etc/php/7.4/fpm/php-fpm.conf
Dockerfile
## Debian 7,对应PHP5
##FROM ahmet2mir/debian:wheezy
##ENV RELEASE wheezy#
## Debian 11,对应PHP7
#FROM debian:bullseye
#ENV RELEASE bullseye
#
#
#ENV DEBIAN_FRONTEND noninteractive
#ENV SHELL /bin/bash
#
## Curl extension
##RUN apt-get update && apt-get install -y nginx php5-fpm php5-curl php5-sqlite php5-json
#
## Update PHP extensions to a compatible version
#RUN apt-get update && apt-get install -y nginx php7.4-fpm php7.4-curl libsqlite3-dev php7.4-json
##
#
## Adding files
#ADD . /
#
#RUN mkdir -p /webapps/logs/rainloop && \
# mkdir -p /etc/service/ && \
# mv /rainloop /webapps && \
# find /webapps/rainloop -type d -exec chmod 755 {} \; && \
# find /webapps/rainloop -type f -exec chmod 644 {} \; && \
# chown -R www-data:www-data /webapps/rainloop && \
# cp -f /config/nginx.conf /etc/nginx/nginx.conf && \
# cp -f /config/nginx-rainloop.conf /etc/nginx/sites-available/rainloop.conf && \
# ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled/rainloop.conf && \
## sed -i 's/;daemonize = yes/daemonize = no/g' /etc/php5/fpm/php-fpm.conf
# sed -i 's/;daemonize = yes/daemonize = no/g' /etc/php/7.4/fpm/php-fpm.conf
#
## "Configure services"
## Based on https://github.com/mingfang/docker-salt
#RUN for dir in /config/service/*;\
# do echo $dir; chmod +x $dir/run $dir/log/run;\
# ln -sf $dir /etc/service/; done
#
## Expose services
#EXPOSE 22 80# 使用php5无法打包成功,使用php7可以成功打包但是无法正常启动
# 所以,直接使用原始镜像,再修改里面的rainloop源码,方便自定义二次开发改造
# 实际config下面的文件没有用到,只需要rainloop源码即可# 基础镜像来源:https://github.com/sauloaldocker/docker-rainloop
FROM ahmet2mir/rainloop## 基础镜像中的源码非最新版,这里直接删除原来文件替换为最新版的源码
RUN rm -rf /webapps/rainloop/*## 添加新文件
ADD ./rainloop /webapps/rainloop## 设置权限
RUN find /webapps/rainloop -type d -exec chmod 755 {} \;
RUN find /webapps/rainloop -type f -exec chmod 644 {} \;
RUN chown -R www-data:www-data /webapps/rainloop# Expose services
EXPOSE 22 80
构建镜像
docker build -t rainloop:1001 -f Dockerfile .
Deployment.yaml
## 创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: pvc-rainloop-data-volumenamespace: rainloop
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi
---
## 创建Deployment
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: rainloopname: rainloopnamespace: rainloop
spec:progressDeadlineSeconds: 600replicas: 1selector:matchLabels:app: rainloopstrategy:rollingUpdate:maxSurge: 50%maxUnavailable: 50%type: RollingUpdatetemplate:metadata:labels:app: rainloopspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: project.nodeoperator: Invalues:- rainloopvolumes:- name: timezonehostPath:path: /usr/share/zoneinfo/Asia/Shanghai- name: data-volumepersistentVolumeClaim:claimName: pvc-rainloop-data-volumecontainers:- env:- name: HOSTNAMEvalue: "rainloop"- name: TZvalue: Asia/Shanghaiimage: rainloop:1001imagePullPolicy: IfNotPresentports:- containerPort: 80name: rainloophostname: rainloopterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- name: timezonemountPath: /etc/localtime# 将配置信息存在pvc中,防止重启后原来配置丢失- name: data-volumemountPath: /webapps/rainloop/datadnsPolicy: ClusterFirstrestartPolicy: AlwaysterminationGracePeriodSeconds: 30## 创建service
---
apiVersion: v1
kind: Service
metadata:labels:app: service-rainloopname: service-rainloopnamespace: rainloop
spec:ports:- name: rainloopport: 80targetPort: 80nodePort: 30080selector:app: rainloopsessionAffinity: Nonetype: NodePort
使用
* 先登录管理后台进行配置:ip:port/?admin,例如:http://127.0.0.1:30080/?admin
* 默认账号:admin,默认密码:12345,注意及时登录后台修改默认密码* 普通用户使用登录:ip:port,例如:http://127.0.0.1:30080
原文地址:https://blog.csdn.net/muguazhi/article/details/142385286
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mrgr.cn/news/34292.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mrgr.cn/news/34292.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!