349 字
2 分鐘
Docker自建表單資料庫Ragic
Ragic是個Excel式的企業雲端資料庫,是最強大的 No Code 企業電子化工具,除了雲端版使用外,本篇將說明如何自建Ragic。
VM
官方文件中有說明如何在主機中安裝好Ragic,也可以使用下面docker的方法。
Docker Image
可以參考Dockerhub已經打包好的Ragic Image,撰寫本文時最新版本為20230330。
Docker Compose
透過本repo中的說明,可以使用docker compose快速的使用Ragic。
docker-compose.yml如下,啟動使用docker-compose up -d。
version: "3.9"services: ragic: image: modagovtw/ragic:20230330 ports: - "80:80" volumes: - ./volumes:/srv/ragic/volumesKubernetes
要在Kubernetes建構請參考本repo中的gke.yml,這給範例是我部署到GKE用的。要注意的是,Ragic無法部署在多個Container,多容器部署會導致資料庫異常。
apiVersion: v1kind: PersistentVolumeClaimmetadata: name: pvc-ragic-rwospec: accessModes: - ReadWriteOnce resources: requests: storage: 30Gi storageClassName: standard-rwo
---apiVersion: apps/v1kind: Deploymentmetadata: name: deployment-ragicspec: replicas: 1 selector: matchLabels: app: pod-ragic template: metadata: labels: app: pod-ragic spec: volumes: - name: pvc-ragic-vol persistentVolumeClaim: claimName: pvc-ragic-rwo containers: - name: ragic image: modagovtw/ragic:20230330 ports: - containerPort: 80 resources: requests: cpu: 1250m memory: 8Gi readinessProbe: httpGet: path: /default/home port: 80 volumeMounts: - mountPath: /srv/ragic/volumes name: pvc-ragic-vol
---apiVersion: v1kind: Servicemetadata: name: service-ragicspec: type: ClusterIP ports: - port: 80 protocol: TCP targetPort: 80 selector: app: pod-ragic
---apiVersion: networking.k8s.io/v1kind: Ingressmetadata: name: ingress-ragicspec: tls: - secretName: cert-ragic rules: - host: $DOMAIN http: paths: - path: / pathType: Prefix backend: service: name: service-ragic port: number: 80上面是gke.yml的內容,部署指令如下:
kubectl create secret tls cert-ragic --cert=$CERT_PATH --key=$KEY_PATHexport DOMAIN=ragic.example.comenvsubst < gke.yml | kubectl apply -f -