mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
commit
09a5c68676
@ -4,7 +4,7 @@ LABEL Description="Server part of the social network Human Connection" Vendor="H
|
|||||||
# expose the app port
|
# expose the app port
|
||||||
EXPOSE 4000
|
EXPOSE 4000
|
||||||
|
|
||||||
ARG WORKDIR=/Backend
|
ARG WORKDIR=/backend
|
||||||
|
|
||||||
RUN mkdir -p $WORKDIR
|
RUN mkdir -p $WORKDIR
|
||||||
WORKDIR $WORKDIR
|
WORKDIR $WORKDIR
|
||||||
|
|||||||
@ -1,3 +1,2 @@
|
|||||||
FROM neo4j:3.4
|
FROM neo4j:3.4
|
||||||
RUN mkdir /plugins && wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.4.0.3/apoc-3.4.0.3-all.jar -P /plugins
|
RUN wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.4.0.3/apoc-3.4.0.3-all.jar -P plugins/
|
||||||
|
|
||||||
|
|||||||
16
docker-compose.override.yml
Normal file
16
docker-compose.override.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
container_name: backend.127.0.0.1.xip.io
|
||||||
|
volumes:
|
||||||
|
- .:/backend
|
||||||
|
- /backend/node_modules
|
||||||
|
neo4j:
|
||||||
|
ports:
|
||||||
|
- 7687:7687
|
||||||
|
- 7474:7474
|
||||||
|
|
||||||
|
networks:
|
||||||
|
hc-network:
|
||||||
|
name: hc-network
|
||||||
@ -2,7 +2,7 @@ version: "3.7"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
backend:
|
backend:
|
||||||
container_name: backend.127.0.0.1.xip.io
|
image: humanconnection/backend:latest
|
||||||
build: .
|
build: .
|
||||||
networks:
|
networks:
|
||||||
- hc-network
|
- hc-network
|
||||||
@ -17,14 +17,9 @@ services:
|
|||||||
- CLIENT_URI=http://localhost:3000
|
- CLIENT_URI=http://localhost:3000
|
||||||
- JWT_SECRET=b/&&7b78BF&fv/Vd
|
- JWT_SECRET=b/&&7b78BF&fv/Vd
|
||||||
- MOCK=false
|
- MOCK=false
|
||||||
volumes:
|
|
||||||
- .:/Backend
|
|
||||||
- /Backend/node_modules
|
|
||||||
|
|
||||||
neo4j:
|
neo4j:
|
||||||
ports:
|
image: humanconnection/neo4j:latest
|
||||||
- 7687:7687
|
|
||||||
- 7474:7474
|
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile.neo4j
|
dockerfile: Dockerfile.neo4j
|
||||||
@ -37,7 +32,6 @@ services:
|
|||||||
|
|
||||||
networks:
|
networks:
|
||||||
hc-network:
|
hc-network:
|
||||||
name: hc-network
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
neo4j-data:
|
neo4j-data:
|
||||||
|
|||||||
37
kubernetes/README.md
Normal file
37
kubernetes/README.md
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Usage with minikube
|
||||||
|
|
||||||
|
First of all start minikube on your machine:
|
||||||
|
```sh
|
||||||
|
minikube start
|
||||||
|
```
|
||||||
|
You can always get an overview and see what's going on with your minikube:
|
||||||
|
```sh
|
||||||
|
minikube dashboard
|
||||||
|
```
|
||||||
|
|
||||||
|
Build Docker images, using the Minikube Docker daemon:
|
||||||
|
```sh
|
||||||
|
eval $(minikube docker-env)
|
||||||
|
docker build -t humanconnection/backend:latest .
|
||||||
|
docker build -t humanconnection/neo4j:latest -f Dockerfile.neo4j .
|
||||||
|
```
|
||||||
|
|
||||||
|
check that the image is in Minikube’s Docker registry:
|
||||||
|
```sh
|
||||||
|
minikube ssh docker images
|
||||||
|
```
|
||||||
|
|
||||||
|
Now change into directory kubernetes and create services and deployments:
|
||||||
|
```sh
|
||||||
|
cd kubernetes
|
||||||
|
|
||||||
|
kubectl create -f neo4j-deployment.yaml,neo4j-data-persistentvolumeclaim.yaml,backend-deployment.yaml,neo4j-service.json,backend-service.json
|
||||||
|
```
|
||||||
|
|
||||||
|
You can see the backend in action with:
|
||||||
|
```sh
|
||||||
|
minikube service backend
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
41
kubernetes/backend-deployment.yaml
Normal file
41
kubernetes/backend-deployment.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert -f ../docker-compose.yml
|
||||||
|
kompose.version: 1.16.0 (0c01309)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: backend
|
||||||
|
name: backend
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy: {}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: backend
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: CLIENT_URI
|
||||||
|
value: http://localhost:3000
|
||||||
|
- name: GRAPHQL_LISTEN_PORT
|
||||||
|
value: "4000"
|
||||||
|
- name: GRAPHQL_URI
|
||||||
|
value: http://localhost:4000
|
||||||
|
- name: JWT_SECRET
|
||||||
|
value: b/&&7b78BF&fv/Vd
|
||||||
|
- name: MOCK
|
||||||
|
value: "false"
|
||||||
|
- name: NEO4J_URI
|
||||||
|
value: bolt://neo4j:7687
|
||||||
|
image: humanconnection/backend:latest
|
||||||
|
name: backend
|
||||||
|
ports:
|
||||||
|
- containerPort: 4000
|
||||||
|
resources: {}
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
restartPolicy: Always
|
||||||
|
status: {}
|
||||||
35
kubernetes/backend-service.json
Normal file
35
kubernetes/backend-service.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"kind": "Service",
|
||||||
|
"apiVersion": "v1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "backend",
|
||||||
|
"namespace": "default",
|
||||||
|
"selfLink": "/api/v1/namespaces/default/services/backend",
|
||||||
|
"uid": "57749bc1-dea3-11e8-ace2-080027b5d96d",
|
||||||
|
"resourceVersion": "8321",
|
||||||
|
"creationTimestamp": "2018-11-02T13:29:36Z",
|
||||||
|
"labels": {
|
||||||
|
"io.kompose.service": "backend"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"ports": [
|
||||||
|
{
|
||||||
|
"protocol": "TCP",
|
||||||
|
"port": 4000,
|
||||||
|
"targetPort": 4000,
|
||||||
|
"nodePort": 32633
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"selector": {
|
||||||
|
"io.kompose.service": "backend"
|
||||||
|
},
|
||||||
|
"clusterIP": "10.110.129.92",
|
||||||
|
"type": "LoadBalancer",
|
||||||
|
"sessionAffinity": "None",
|
||||||
|
"externalTrafficPolicy": "Cluster"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"loadBalancer": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
14
kubernetes/dashboard-admin.yml
Normal file
14
kubernetes/dashboard-admin.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: kubernetes-dashboard
|
||||||
|
labels:
|
||||||
|
k8s-app: kubernetes-dashboard
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: cluster-admin
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: kubernetes-dashboard
|
||||||
|
namespace: kube-system
|
||||||
14
kubernetes/neo4j-data-persistentvolumeclaim.yaml
Normal file
14
kubernetes/neo4j-data-persistentvolumeclaim.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: neo4j-data
|
||||||
|
name: neo4j-data
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 100Mi
|
||||||
|
status: {}
|
||||||
40
kubernetes/neo4j-deployment.yaml
Normal file
40
kubernetes/neo4j-deployment.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
kompose.cmd: kompose convert -f ../docker-compose.yml
|
||||||
|
kompose.version: 1.16.0 (0c01309)
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: neo4j
|
||||||
|
name: neo4j
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
creationTimestamp: null
|
||||||
|
labels:
|
||||||
|
io.kompose.service: neo4j
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: NEO4J_AUTH
|
||||||
|
value: none
|
||||||
|
image: humanconnection/neo4j:latest
|
||||||
|
name: neo4j
|
||||||
|
ports:
|
||||||
|
- containerPort: 7687
|
||||||
|
- containerPort: 7474
|
||||||
|
resources: {}
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /data
|
||||||
|
name: neo4j-data
|
||||||
|
restartPolicy: Always
|
||||||
|
volumes:
|
||||||
|
- name: neo4j-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: neo4j-data
|
||||||
|
status: {}
|
||||||
43
kubernetes/neo4j-service.json
Normal file
43
kubernetes/neo4j-service.json
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"kind": "Service",
|
||||||
|
"apiVersion": "v1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "neo4j",
|
||||||
|
"namespace": "default",
|
||||||
|
"selfLink": "/api/v1/namespaces/default/services/neo4j",
|
||||||
|
"uid": "57de6181-dea3-11e8-ace2-080027b5d96d",
|
||||||
|
"resourceVersion": "8326",
|
||||||
|
"creationTimestamp": "2018-11-02T13:29:37Z",
|
||||||
|
"labels": {
|
||||||
|
"io.kompose.service": "neo4j"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"ports": [
|
||||||
|
{
|
||||||
|
"name": "port-1",
|
||||||
|
"protocol": "TCP",
|
||||||
|
"port": 7687,
|
||||||
|
"targetPort": 7687,
|
||||||
|
"nodePort": 30116
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "port-2",
|
||||||
|
"protocol": "TCP",
|
||||||
|
"port": 7474,
|
||||||
|
"targetPort": 7474,
|
||||||
|
"nodePort": 32658
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"selector": {
|
||||||
|
"io.kompose.service": "neo4j"
|
||||||
|
},
|
||||||
|
"clusterIP": "10.108.175.122",
|
||||||
|
"type": "LoadBalancer",
|
||||||
|
"sessionAffinity": "None",
|
||||||
|
"externalTrafficPolicy": "Cluster"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"loadBalancer": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user