说明
* 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启动脚本不一致,脚本如下:
* 无用,仅供参考
exec 2>&1
exec /usr/sbin/php7.4-fpm --fpm-config /etc/php/7.4/fpm/php-fpm.conf
Dockerfile
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 22 80
构建镜像
docker build -t rainloop:1001 -f Dockerfile .
Deployment.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-rainloop-data-volume
namespace: rainloop
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: rainloop
name: rainloop
namespace: rainloop
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
app: rainloop
strategy:
rollingUpdate:
maxSurge: 50%
maxUnavailable: 50%
type: RollingUpdate
template:
metadata:
labels:
app: rainloop
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: project.node
operator: In
values:
- rainloop
volumes:
- name: timezone
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
- name: data-volume
persistentVolumeClaim:
claimName: pvc-rainloop-data-volume
containers:
- env:
- name: HOSTNAME
value: "rainloop"
- name: TZ
value: Asia/Shanghai
image: rainloop:1001
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
name: rainloop
hostname: rainloop
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- name: timezone
mountPath: /etc/localtime
- name: data-volume
mountPath: /webapps/rainloop/data
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
labels:
app: service-rainloop
name: service-rainloop
namespace: rainloop
spec:
ports:
- name: rainloop
port: 80
targetPort: 80
nodePort: 30080
selector:
app: rainloop
sessionAffinity: None
type: NodePort
使用
* 先登录管理后台进行配置:ip:port/?admin,例如:http://127.0.0.1:30080/?admin
* 默认账号:admin,默认密码:12345,注意及时登录后台修改默认密码
* 普通用户使用登录:ip:port,例如:http://127.0.0.1:30080