mirror of
https://github.com/hcengineering/huly-selfhost.git
synced 2026-09-13 21:27:50 +02:00
Merge pull request #12 from hcengineering/selfhost-kube-config
Selfhost kube config
This commit is contained in:
@@ -5,6 +5,8 @@ Please use this README if you want to deploy Huly on your server with `docker co
|
||||
> [!NOTE]
|
||||
> Huly is quite resource-heavy, so I recommend using a Droplet with 2 vCPUs and 4GB of RAM. Droplets with less RAM may stop responding or fail.
|
||||
|
||||
If you prefer Kubernetes deployment, there is a sample Kubernetes configuration under [kube](kube) directory.
|
||||
|
||||
## Installing `nginx` and `docker`
|
||||
|
||||
First, let's install `nginx` and `docker` using the commands below if you have not already installed them on your machine.
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Huly Kubernetes Deployment
|
||||
|
||||
This folder contains a sample configuration for Huly Kubernetes deployment.
|
||||
|
||||
## Check and update configuration
|
||||
|
||||
Huly deployment configuration is located in [config.yaml](config/config.yaml) and [secret.yaml](config/secret.yaml) files.
|
||||
The sample configuration assume that Huly is available on huly.example hostname with dedicated hostname per service.
|
||||
|
||||
## Deploy Huly to Kubernetes
|
||||
|
||||
Deploy Huly with `kubectl`.
|
||||
|
||||
```bash
|
||||
kubectl apply -R -f .
|
||||
```
|
||||
|
||||
Now, launch your web browser and enjoy Huly!
|
||||
@@ -0,0 +1,72 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: account
|
||||
name: account
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: account
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: account
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ACCOUNTS_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: ACCOUNTS_URL
|
||||
- name: ACCOUNT_PORT
|
||||
value: '3000'
|
||||
- name: FRONT_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: FRONT_URL
|
||||
- name: MINIO_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_ACCESS_KEY
|
||||
- name: MINIO_ENDPOINT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MINIO_ENDPOINT
|
||||
- name: MINIO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_SECRET_KEY
|
||||
- name: MODEL_ENABLED
|
||||
value: '*'
|
||||
- name: MONGO_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MONGO_URL
|
||||
- name: SERVER_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: SERVER_SECRET
|
||||
- name: TRANSACTOR_URL
|
||||
value: ws://transactor/
|
||||
- name: ENDPOINT_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: TRANSACTOR_URL
|
||||
image: hardcoreeng/account:latest
|
||||
name: account
|
||||
ports:
|
||||
- containerPort: 3000
|
||||
resources:
|
||||
limits:
|
||||
memory: "512M"
|
||||
restartPolicy: Always
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
labels:
|
||||
app: account
|
||||
name: account
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: account.huly.example
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: account
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: account
|
||||
name: account
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 3000
|
||||
selector:
|
||||
app: account
|
||||
@@ -0,0 +1,59 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: collaborator
|
||||
name: collaborator
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: collaborator
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: collaborator
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ACCOUNTS_URL
|
||||
value: http://account
|
||||
- name: COLLABORATOR_PORT
|
||||
value: "3078"
|
||||
- name: MINIO_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_ACCESS_KEY
|
||||
- name: MINIO_ENDPOINT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MINIO_ENDPOINT
|
||||
- name: MINIO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_SECRET_KEY
|
||||
- name: MONGO_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MONGO_URL
|
||||
- name: SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: SERVER_SECRET
|
||||
- name: TRANSACTOR_URL
|
||||
value: ws://transactor/
|
||||
- name: UPLOAD_URL
|
||||
value: /files
|
||||
image: hardcoreeng/collaborator:latest
|
||||
name: collaborator
|
||||
ports:
|
||||
- containerPort: 3078
|
||||
resources:
|
||||
limits:
|
||||
memory: '512M'
|
||||
restartPolicy: Always
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
labels:
|
||||
app: collaborator
|
||||
name: collaborator
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: collaborator.huly.example
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: collaborator
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: collaborator
|
||||
name: collaborator
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 3078
|
||||
selector:
|
||||
app: collaborator
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: huly-config
|
||||
data:
|
||||
ACCOUNTS_URL: 'http://account.huly.example/'
|
||||
COLLABORATOR_URL: 'ws://collaborator.huly.example/'
|
||||
COLLABORATOR_API_URL: 'http://collaborator.huly.example/'
|
||||
FRONT_URL: 'http://huly.example'
|
||||
REKONI_URL: 'http://rekoni.huly.example/'
|
||||
TRANSACTOR_URL: 'ws://transactor.huly.example/'
|
||||
MINIO_ENDPOINT: 'minio'
|
||||
MONGO_URL: 'mongodb://mongodb:27017'
|
||||
ELASTIC_URL: 'http://elastic:9200/'
|
||||
ELASTIC_INDEX_NAME: 'huly_storage_index'
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: huly-secret
|
||||
type: Opaque
|
||||
stringData:
|
||||
MINIO_ACCESS_KEY: minioadmin
|
||||
MINIO_SECRET_KEY: minioadmin
|
||||
SERVER_SECRET: secret
|
||||
@@ -0,0 +1,58 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: elastic
|
||||
name: elastic
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: elastic
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: elastic
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |-
|
||||
./bin/elasticsearch-plugin list | grep -q ingest-attachment || yes | ./bin/elasticsearch-plugin install --silent ingest-attachment;
|
||||
/usr/local/bin/docker-entrypoint.sh eswrapper
|
||||
env:
|
||||
- name: BITNAMI_DEBUG
|
||||
value: "true"
|
||||
- name: ELASTICSEARCH_PORT_NUMBER
|
||||
value: "9200"
|
||||
- name: ES_JAVA_OPTS
|
||||
value: -Xms1024m -Xmx1024m
|
||||
- name: discovery.type
|
||||
value: single-node
|
||||
- name: http.cors.allow-origin
|
||||
value: http://localhost:8082
|
||||
- name: http.cors.enabled
|
||||
value: "true"
|
||||
image: elasticsearch:7.14.2
|
||||
livenessProbe:
|
||||
exec:
|
||||
command:
|
||||
- curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"'
|
||||
failureThreshold: 10
|
||||
periodSeconds: 20
|
||||
name: elastic
|
||||
ports:
|
||||
- containerPort: 9200
|
||||
hostPort: 9200
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /usr/share/elasticsearch/data
|
||||
name: elastic
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: elastic
|
||||
persistentVolumeClaim:
|
||||
claimName: elastic
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
app: elastic
|
||||
name: elastic
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
labels:
|
||||
app: elastic
|
||||
name: elastic
|
||||
spec:
|
||||
ports:
|
||||
- name: "9200"
|
||||
port: 9200
|
||||
targetPort: 9200
|
||||
selector:
|
||||
app: elastic
|
||||
@@ -0,0 +1,92 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: front
|
||||
name: front
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: front
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: front
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ACCOUNTS_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: ACCOUNTS_URL
|
||||
- name: CALENDAR_URL
|
||||
value: http://calendar
|
||||
- name: COLLABORATOR_API_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: COLLABORATOR_API_URL
|
||||
- name: COLLABORATOR_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: COLLABORATOR_URL
|
||||
- name: DEFAULT_LANGUAGE
|
||||
value: en
|
||||
- name: ELASTIC_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: ELASTIC_URL
|
||||
- name: GMAIL_URL
|
||||
value: http://gmail:8088
|
||||
- name: MINIO_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_ACCESS_KEY
|
||||
- name: MINIO_ENDPOINT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MINIO_ENDPOINT
|
||||
- name: MINIO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_SECRET_KEY
|
||||
- name: MONGO_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MONGO_URL
|
||||
- name: REKONI_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: REKONI_URL
|
||||
- name: SERVER_PORT
|
||||
value: "8080"
|
||||
- name: SERVER_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: SERVER_SECRET
|
||||
- name: TELEGRAM_URL
|
||||
value: http://telegram:8086
|
||||
- name: TITLE
|
||||
value: Huly Self Hosted
|
||||
- name: TRANSACTOR_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: TRANSACTOR_URL
|
||||
- name: UPLOAD_URL
|
||||
value: /files
|
||||
image: hardcoreeng/front:latest
|
||||
name: front
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
restartPolicy: Always
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
labels:
|
||||
app: front
|
||||
name: front
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: huly.example
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: front
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: front
|
||||
name: front
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 8080
|
||||
selector:
|
||||
app: front
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
app: files
|
||||
name: files
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
||||
@@ -0,0 +1,43 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: minio
|
||||
name: minio
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: minio
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: minio
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- server
|
||||
- /data
|
||||
- --address
|
||||
- :9000
|
||||
- --console-address
|
||||
- :9001
|
||||
image: minio/minio
|
||||
name: minio
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
hostPort: 9000
|
||||
protocol: TCP
|
||||
- containerPort: 9001
|
||||
hostPort: 9001
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: files
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: files
|
||||
persistentVolumeClaim:
|
||||
claimName: files
|
||||
@@ -0,0 +1,16 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: minio
|
||||
name: minio
|
||||
spec:
|
||||
ports:
|
||||
- name: "9000"
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
- name: "9001"
|
||||
port: 9001
|
||||
targetPort: 9001
|
||||
selector:
|
||||
app: minio
|
||||
@@ -0,0 +1,38 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: mongodb
|
||||
name: mongodb
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: mongodb
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: mongodb
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: PGID
|
||||
value: "1000"
|
||||
- name: PUID
|
||||
value: "1000"
|
||||
image: mongo:7-jammy
|
||||
name: mongodb
|
||||
ports:
|
||||
- containerPort: 27017
|
||||
hostPort: 27017
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- mountPath: /data/db
|
||||
name: db
|
||||
restartPolicy: Always
|
||||
volumes:
|
||||
- name: db
|
||||
persistentVolumeClaim:
|
||||
claimName: db
|
||||
@@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: mongodb
|
||||
name: mongodb
|
||||
spec:
|
||||
ports:
|
||||
- name: "27017"
|
||||
port: 27017
|
||||
targetPort: 27017
|
||||
selector:
|
||||
app: mongodb
|
||||
@@ -0,0 +1,33 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: rekoni
|
||||
name: rekoni
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: rekoni
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: rekoni
|
||||
spec:
|
||||
containers:
|
||||
- image: hardcoreeng/rekoni-service:latest
|
||||
name: rekoni
|
||||
env:
|
||||
- name: SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: SERVER_SECRET
|
||||
ports:
|
||||
- containerPort: 4004
|
||||
hostPort: 4004
|
||||
protocol: TCP
|
||||
resources:
|
||||
limits:
|
||||
memory: "500M"
|
||||
restartPolicy: Always
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
labels:
|
||||
app: rekoni
|
||||
name: rekoni
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: rekoni.huly.example
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: rekoni
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: rekoni
|
||||
name: rekoni
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
targetPort: 4004
|
||||
selector:
|
||||
app: rekoni
|
||||
@@ -0,0 +1,77 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: transactor
|
||||
name: transactor
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: transactor
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: transactor
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ACCOUNTS_URL
|
||||
value: http://account
|
||||
- name: ELASTIC_INDEX_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: ELASTIC_INDEX_NAME
|
||||
- name: ELASTIC_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: ELASTIC_URL
|
||||
- name: FRONT_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: FRONT_URL
|
||||
- name: MINIO_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_ACCESS_KEY
|
||||
- name: MINIO_ENDPOINT
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MINIO_ENDPOINT
|
||||
- name: MINIO_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: MINIO_SECRET_KEY
|
||||
- name: MONGO_URL
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: huly-config
|
||||
key: MONGO_URL
|
||||
- name: REKONI_URL
|
||||
value: http://rekoni
|
||||
- name: SERVER_CURSOR_MAXTIMEMS
|
||||
value: "30000"
|
||||
- name: SERVER_PORT
|
||||
value: "3333"
|
||||
- name: SERVER_PROVIDER
|
||||
value: ws
|
||||
- name: SERVER_SECRET
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: huly-secret
|
||||
key: SERVER_SECRET
|
||||
- name: UPLOAD_URL
|
||||
value: /files
|
||||
image: hardcoreeng/transactor:latest
|
||||
name: transactor
|
||||
ports:
|
||||
- containerPort: 3333
|
||||
hostPort: 3333
|
||||
protocol: TCP
|
||||
restartPolicy: Always
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: nginx
|
||||
labels:
|
||||
app: transactor
|
||||
name: transactor
|
||||
spec:
|
||||
ingressClassName: nginx
|
||||
rules:
|
||||
- host: transactor.huly.example
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: transactor
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
@@ -0,0 +1,13 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app: transactor
|
||||
name: transactor
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
protocol: TCP
|
||||
targetPort: 3333
|
||||
selector:
|
||||
app: transactor
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
export SERVER_ADDRESS=$1
|
||||
export SERVER_ADDRESS="$1"
|
||||
echo "Setting Huly Server Address: $SERVER_ADDRESS"
|
||||
envsubst < template.conf > nginx.conf
|
||||
envsubst < template.env > .env
|
||||
|
||||
./use-version.sh v0.6.221
|
||||
./use-version.sh v0.6.245
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- INIT_WORKSPACE=demo-tracker
|
||||
- MODEL_ENABLED=*
|
||||
- ACCOUNTS_URL=http://localhost:3000
|
||||
- ACCOUNT_PORT=3000
|
||||
restart: unless-stopped
|
||||
front:
|
||||
image: hardcoreeng/front:${HULY_VERSION}
|
||||
@@ -88,6 +89,7 @@ services:
|
||||
- MINIO_ENDPOINT=minio
|
||||
- MINIO_ACCESS_KEY=minioadmin
|
||||
- MINIO_SECRET_KEY=minioadmin
|
||||
- MONGO_URL=mongodb://mongodb:27017
|
||||
- TITLE=Huly Self Hosted
|
||||
- DEFAULT_LANGUAGE=en
|
||||
- LAST_NAME_FIRST=true
|
||||
@@ -126,6 +128,7 @@ services:
|
||||
- SERVER_SECRET=secret
|
||||
- SERVER_CURSOR_MAXTIMEMS=30000
|
||||
- ELASTIC_URL=http://elastic:9200
|
||||
- ELASTIC_INDEX_NAME=huly_storage_index
|
||||
- MONGO_URL=mongodb://mongodb:27017
|
||||
- METRICS_CONSOLE=false
|
||||
- METRICS_FILE=metrics.txt
|
||||
@@ -137,11 +140,14 @@ services:
|
||||
- SERVER_PROVIDER=ws
|
||||
- ACCOUNTS_URL=http://account:3000
|
||||
- LAST_NAME_FIRST=true
|
||||
- UPLOAD_URL=http://${SERVER_ADDRESS}/files
|
||||
restart: unless-stopped
|
||||
rekoni:
|
||||
image: hardcoreeng/rekoni-service:latest
|
||||
image: hardcoreeng/rekoni-service:${HULY_VERSION}
|
||||
ports:
|
||||
- 4004:4004
|
||||
environment:
|
||||
- SECRET=secret
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
export HULY_VERSION=$1
|
||||
export HULY_VERSION="$1"
|
||||
echo "Setting Huly Version: $HULY_VERSION"
|
||||
envsubst < template.compose.yaml > compose.yaml
|
||||
|
||||
Reference in New Issue
Block a user