GithubHelp home page GithubHelp logo

memgraph / memgraph-platform Goto Github PK

View Code? Open in Web Editor NEW
21.0 6.0 1.0 125 KB

Memgraph Platform is a multi-container application containing Memgraph+MAGE and Memgraph Lab.

License: Apache License 2.0

Dockerfile 30.47% Shell 58.70% PowerShell 10.84%
docker memgraph memgraph-lab memgraph-mage

memgraph-platform's Introduction

One command to run it all.

license dockerhub dockerhub-pulls

🏃 Quick start

With Docker running on your system and ports 7687, 7444 and 3000 available, run one of the following commands to download Memgraph Platform Docker Compose file and start Memgraph and Memgraph Lab services:

Linux/macOS

curl https://install.memgraph.com | sh

Windows

iwr https://windows.memgraph.com | iex

By running docker ps, you'll notice memgraph-mage and memgraph-lab containers running. If you head over to localhost:3000, Quick Connect in Memgraph Lab will detect Memgraph running on your system. Check out the basic Docker Compose file and update it to fit your needs.

To start mgconsole, run the following command:

# with `docker ps` get the Memgraph container id 
docker exec -ti <container-id> mgconsole

📋 Description

This repository serves as a Docker package builder for the Memgraph ecosystem, consisting of:

Here are the Docker images which can be built from this repository:

❗ (Deprecated) Memgraph Platform Docker image

The last Memgraph Platform image published on Docker Hub is 2.14.1. In the future, from Memgraph 2.15, Memgraph Platform image will no longer be published, and Docker Compose containing Memgraph MAGE and Lab services will replace it.

You can start Memgraph Platform with:

docker run -p 3000:3000 -p 7444:7444 -p 7687:7687 --name memgraph memgraph/memgraph-platform

How to start mgconsole

Start mgconsole with:

# get the running-container-id with `docker ps`
docker exec -ti <running-container-id> mgconsole

# or
docker run -ti --entrypoint=mgconsole memgraph/memgraph-platform

When connecting to local Memgraph with mgconsole on Windows and Mac, make sure to provide the following argument --host host.docker.internal:

docker run -ti --entrypoint=mgconsole memgraph/memgraph-platform --host host.docker.internal

How to start only Lab

Run only the Lab with the following command:

docker run -p 3000:3000 memgraph/memgraph-platform -c /etc/supervisor/supervisord-lab-only.conf

How to start only Memgraph

Run only Memgraph with the following command:

docker run -p 7687:7687 memgraph/memgraph-platform -c /etc/supervisor/supervisord-memgraph-only.conf

⌛ Versioning

The versioning is transparent in the sense that we explicitly state which version of software is included, and it looks like this:

memgraph/memgraph-platform:2.5.0-memgraph2.4-lab2.2.2-mage1.3.5

and just by looking at each of the Memgraph Platform version, you can know which versions of software it contains without looking at details in release notes.

🐳 Docker build

To build docker image, you need to provide two build arguments:

  • TARGETARCH - a suffix of the specific local Memgraph debian version; for example if you have a local debian package memgraph-2.10-arm64.deb that you want to build platform for, use the following build argument: --build-arg="TARGETARCH=2.10-arm64".

  • NPM_PACKAGE_TOKEN - npm token to install private libraries that Memgraph Lab uses, set it up with the following argument: --build-arg="NPM_PACKAGE_TOKEN=ghp_6..."

  1. Run docker build --build-arg="TARGETARCH=..." --build-arg="NPM_PACKAGE_TOKEN=..." . -t memgraph-platform
  2. Run docker run -p 3000:3000 -p 7687:7687 memgraph-platform
  3. Go to http://localhost:3000 and connect to Memgraph database with Memgraph Lab in order to test it out

Back to top

memgraph-platform's People

Contributors

antoniofilipovic avatar brunos252 avatar g-despot avatar gitbuda avatar katarinasupe avatar kgolubic avatar markobarisic avatar mastermedo avatar tonilastre avatar vpavicic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

memgraph-platform's Issues

Add daily builds

User story:

  1. Having ready packages -> daily build -> platform with everything (one for x86 and one for ARM) -> @MarkoBarisic figure out
  2. Manual workflows to get all the packages with specific versions

TODOs:

  • Make daily build of all most recent changes (latest commits from all repos) for ARM and x86
    • DEB x86
    • DEB ARM
    • mage x86
    • mage ARM
    • platform x86
    • platform ARM
  • Add the ability to handpick specific versions (e.g. stable lab, stable memgraph and latest mage)

Notes:

  • Merge/reuse what has been done under #39
  • memgraph/memgraph-builder image has to be updated
    • Debian 11 image
    • Debian 11 arm image
    • Make the work for all supported operating system but don't built for the rest of the operating systems yet

More of memgraph lab issue/request (Query size limit)

Hello! I couldn't find the memgraph lab repo and this was probably the closest I could find.

I'm on LAB version 2.0.1 and I can't issue queries that are longer than 5000 characters. Is there any reason for this? Is it configurable?
Could it be made configurable? (In the mean time I've been using the CLI but would love to use the beautiful lab aswell)

I would be happy to move this question/issue wherever it makes sense. Thanks!

Memgraph builder from scripts fails v2.11.0

On Macbook M2 (arm), running the following script steps fail:

  1. Prep the builder image at mage/cpp/memgraph/release/package: ./run.sh build v4 debian-11-arm
  2. Set the env vars:
export MGPLAT_CNT_IMAGE=memgraph/memgraph-builder:v4_debian-11-arm 
export MGPLAT_MG_TAG=v2.11.0 
export MGPLAT_MG_BUILD_TYPE=RelWithDebInfo 
  1. Run the build process:
./pack_memgraph_via_docker.sh 

I got the following error:

 Updating files: 100% (1953/1953), done.
/platform/mage/cpp/memgraph/libs/rocksdb /platform/mage/cpp/memgraph/libs
/platform/mage/cpp/memgraph/libs
/platform/mage/cpp/memgraph/libs/rocksdb /platform/mage/cpp/memgraph/libs
/platform/mage/cpp/memgraph/libs
Cloning primary from http://mgdeps-cache:8000/git/mgclient.git secondary from https://github.com/memgraph/mgclient.git
Cloning from https://github.com/memgraph/mgclient.git
Cloning into 'mgclient'...
remote: Enumerating objects: 740, done.
remote: Counting objects: 100% (409/409), done.
remote: Compressing objects: 100% (206/206), done.
remote: Total 740 (delta 254), reused 251 (delta 183), pack-reused 331
Receiving objects: 100% (740/740), 350.28 KiB | 3.57 MiB/s, done.
Resolving deltas: 100% (408/408), done.
/platform/mage/cpp/memgraph/libs/mgclient /platform/mage/cpp/memgraph/libs
No local changes to save
Note: switching to 'v1.4.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 6f59c8a Change version number to 1.4.0 in CMake (#42)
/platform/mage/cpp/memgraph/libs
sed: couldn't open temporary file mgclient/src/sedHgd1c7: Permission denied

Something strange regarding mgconsole and rights, not sure why it would fail here:

repos/memgraph-platform/mage/cpp/memgraph/libs/mgclient/src $  ls -l
-rw-r--r--  1 antejavor  staff   4253 Oct 17 16:13 CMakeLists.txt
drwxr-xr-x  4 antejavor  staff    128 Oct 17 16:13 apple
drwxr-xr-x  4 antejavor  staff    128 Oct 17 16:13 linux
-rw-r--r--  1 antejavor  staff   6235 Oct 17 16:13 mgallocator.c
-rw-r--r--  1 antejavor  staff   3766 Oct 17 16:13 mgallocator.h
-rw-r--r--  1 antejavor  staff  32965 Oct 17 16:13 mgclient.c
-rw-r--r--  1 antejavor  staff   1633 Oct 17 16:13 mgcommon.h
-rw-r--r--  1 antejavor  staff   3603 Oct 17 16:13 mgconstants.h
-rw-r--r--  1 antejavor  staff   3935 Oct 17 16:13 mgmessage.c
-rw-r--r--  1 antejavor  staff   2329 Oct 17 16:13 mgmessage.h
-rw-r--r--  1 antejavor  staff  40611 Oct 17 16:13 mgsession-decoder.c
-rw-r--r--  1 antejavor  staff  14477 Oct 17 16:13 mgsession-encoder.c
-rw-r--r--  1 antejavor  staff   8208 Oct 17 16:13 mgsession.c
-rw-r--r--  1 antejavor  staff   5702 Oct 17 16:13 mgsession.h
-rw-r--r--  1 antejavor  staff   4201 Oct 17 16:13 mgsocket.h
-rw-r--r--  1 antejavor  staff  10475 Oct 17 16:13 mgtransport.c
-rw-r--r--  1 antejavor  staff   3793 Oct 17 16:13 mgtransport.h
-rw-r--r--  1 antejavor  staff  52054 Oct 17 16:13 mgvalue.c
-rw-r--r--  1 antejavor  staff   8787 Oct 17 16:13 mgvalue.h
-rw-r--r--  1 antejavor  staff   1295 Oct 17 16:13 mgwasm.c
-rw-r--r--  1 antejavor  staff    188 Oct 17 16:13 mgwasm.h
----------  1 antejavor  staff      0 Oct 17 16:13 sedHgd1c7
drwxr-xr-x  4 antejavor  staff    128 Oct 17 16:13 windows

Memgraph uses wrong settings and MEMGRAPH env vars not propagated correctly

  memgraph:
    image: "memgraph/memgraph-platform:latest"
    hostname:
      memgraph
    ports:
      - "7687:7687"
      - "3000:3000"
      - "7444:7444"
    volumes:
      - mg_lib:/var/lib/memgraph
      - mg_log:/var/log/memgraph
      - mg_etc:/etc/memgraph
    environment:
      - MEMGRAPH="--log-level=TRACE"

Not the same as above under k8s (minikube):

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.31.2 (HEAD)
  creationTimestamp: null
  labels:
    io.kompose.service: memgraph
  name: memgraph
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: memgraph
  strategy:
    type: Recreate
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.31.2 (HEAD)
      creationTimestamp: null
      labels:
        io.kompose.network/hydrogen-default: "true"
        io.kompose.service: memgraph
    spec:
      containers:
        - env:
            - name: MEMGRAPH
              value: '"--log-level=TRACE --storage-properties-on-edges=true"'
          image: memgraph/memgraph-platform:latest
          name: memgraph
          ports:
            - containerPort: 7687
              hostPort: 7687
              protocol: TCP
            - containerPort: 3000
              hostPort: 3000
              protocol: TCP
            - containerPort: 7444
              hostPort: 7444
              protocol: TCP
          resources: {}
          volumeMounts:
            - mountPath: /var/lib/memgraph
              name: mg-lib
            - mountPath: /var/log/memgraph
              name: mg-log
            - mountPath: /etc/memgraph
              name: mg-etc
      hostname: memgraph
      restartPolicy: Always
      volumes:
        - name: mg-lib
          persistentVolumeClaim:
            claimName: mg-lib
        - name: mg-log
          persistentVolumeClaim:
            claimName: mg-log
        - name: mg-etc
          persistentVolumeClaim:
            claimName: mg-etc
status: {}

Overly restrictive host validation on the backend.

Hi there,
Thank you for creating and maintaining this amazing project.

I had a couple of questions/concerns that I was hoping to get some assistance with.

Setting up Memgraph Lab with an existing Memgraph deployment.

I was wondering if I could use Lab to explore my already running memgraph/memgraph container. I tried running a memgraph/memgraph-platform image locally and pointing to a deployed memgraph instance (say, at https://memgraph) but I'm faced with a dubious error message:

Host must be a valid hostname or IP address.

I've tried specifying the following endpoint/port pairs but all cause the same error:

  • https://memgraph:7687
  • memgraph:7687
  • memgraph.<staging-host>:7687

I can confirm that the deployment at https://memgraph.<staging-host>:7687 is reachable from the Lab container as well as my local machine since I receive this response when reached from the browser:

�†±�¢„codeÐ�Memgraph.ExecutionException‡messageÐWSomething went wrong while executing the query! Check the server logs for more details.��

Aside: I'm also curious to learn what led to the decision of bundling the UI tool (Lab) and the db (Memgraph) in a single docker image instead of allowing them to be deployed independently.


Failing git submodule update --init --recursive

I'm not sure if the Lab repo has been moved somewhere else (since https://github.com/memgraph/lab is 404 for me) and git submodule update --init --recursive also fails with the following error message:

Cloning into '/home/aalekh/memgraph-platform/lab'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:memgraph/lab' into submodule path '/home/aalekh/memgraph-platform/lab' failed
Failed to clone 'lab'. Retry scheduled
Cloning into '/home/aalekh/memgraph-platform/mage'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:memgraph/mage.git' into submodule path '/home/aalekh/memgraph-platform/mage' failed
Failed to clone 'mage'. Retry scheduled

Memgraph-lab doesn't display logs from memgraph-platform

I am running 2 helm charts: one for memgraph-platform (memgraph/memgraph-platform:latest docker image) and second for memgraph (memgraph/memgraph:latest)

When I open UI and go to "Logs" section I see the message : "Logs are not available. Make sure port 7444 is open on your Memgraph."
Знімок екрана з 2023-12-04 14-38-17

The port 7444 is opened on Kubernetes side. I have service with this port and added it to pod itself. This is what I get when I check the connection from pod: root@memgraph-lab-0:/# nc -vz memgraph 7444 Connection to memgraph (10.100.37.25) 7444 port [tcp/*] succeeded!

Do I need to add anything to configuration? Now I have this:
memgraphConfig:

  • "--also-log-to-stderr=true"
  • "--data-directory=/var/lib/memgraph/"
  • "--log-file=/var/log/memgraph/memgraph.log"
  • "--log-level=DEBUG"
  • "--memory-limit=4096"
  • "--memory-warning-threshold=1024"
  • "--query-max-plans=1000"
  • "--storage-gc-cycle-sec=30"
  • "--storage-properties-on-edges=true"
  • "--storage-recover-on-startup=true"
  • "--storage-snapshot-interval-sec=300"
  • "--storage-snapshot-on-exit=true"
  • "--storage-snapshot-retention-count=3"
  • "--storage-wal-enabled=true"
  • "--storage-wal-file-flush-every-n-tx=100000"
  • "--storage-wal-file-size-kib=20480"

Is there no way to run the container locally without --interactive?

I am trying to use Memgraph for local development, but I cannot connect to localhost:3000 without -it / --interactive. The Connect Now button is not active and I cannot connect any other way.

I have tried the following in Docker Compose without success:

  memgraph:
    image: memgraph/memgraph-platform:2.6.6-memgraph2.6.0-lab2.5.0
    container_name: memgraph
    ports:
      - "7687:7687"
      - "7444:7444"
      - "3000:3000"
    volumes:
      - type: bind
        source: ./memgraph
        target: /var/lib/memgraph

I must assume that this is by design?

Memgraph does not have default username/password

I setup memgraph using docker-compose like so:

version: '3.8'
services:
  batbard_memgraph:
    image: memgraph/memgraph-platform:2.11.1-memgraph2.11.0-lab2.8.3
    restart: always
    ports:
      - "7687:7687"
      - "4000:3000"
      - "7444:7444"
    volumes:
      - memgraph_lib:/var/lib/memgraph
      - memgraph_etc:/etc/memgraph
    env_file:
      - ./memgraph/.env
    entrypoint: [ "/usr/bin/supervisord" ]

and I have an environment file, correctly created at memgraph/.env relative to the docker-compose:

MEMGRAPH="--log-level=TRACE"
MGCONSOLE="--username=admin --password=XXXXXXX"

And the instance launches fine. But the username/password is not set and when I attempt to open the console, it does not ask me for a password at all. Anyone can just connect.

What's the issue here?

I also do think just allowing remote (non localhost) connections freely when authentication was not setup correctly, is a serious risk. For example with Redis, if you don't configure an admin password it will reject connections automatically from anything outside. Memgraph just allows anyone regardless.

Here are the logs from the startup:

2023-10-30T16:16:22.014+00:00 | /usr/lib/python3/dist-packages/supervisor/options.py:474: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
-- | --
  | 2023-10-30T16:16:22.015+00:00 | self.warnings.warn(
  | 2023-10-30T16:16:22.017+00:00 | 2023-10-30 16:16:22,017 INFO Included extra file "/etc/supervisor/programs/lab.conf" during parsing
  | 2023-10-30T16:16:22.029+00:00 | 2023-10-30 16:16:22,028 INFO Included extra file "/etc/supervisor/programs/memgraph.conf" during parsing
  | 2023-10-30T16:16:22.029+00:00 | 2023-10-30 16:16:22,029 INFO Set uid to user 0 succeeded
  | 2023-10-30T16:16:22.030+00:00 | 2023-10-30 16:16:22,030 INFO supervisord started with pid 1
  | 2023-10-30T16:16:23.038+00:00 | 2023-10-30 16:16:23,033 INFO spawned: 'memgraph' with pid 6
  | 2023-10-30T16:16:23.038+00:00 | 2023-10-30 16:16:23,034 INFO spawned: 'lab' with pid 7
  | 2023-10-30T16:16:23.073+00:00 | You are running Memgraph v2.11.0
  | 2023-10-30T16:16:23.073+00:00 | To get started with Memgraph, visit https://memgr.ph/start
  | 2023-10-30T16:16:23.575+00:00 | [2023-10-30 16:16:23.513] INFO: [lab] Lab is running at http://localhost:3000 in platform mode
  | 2023-10-30T16:16:24.576+00:00 | 2023-10-30 16:16:24,576 INFO success: memgraph entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
  | 2023-10-30T16:16:24.577+00:00 | 2023-10-30 16:16:24,576 INFO success: lab entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Improve all under `scripts/`

  • Make the script work for Bash 3 on Mac (because that's default) OR make explicit check for Bash 5
  • Automatically fetch and pick the right version of mage, lab and memgraph
  • Add an option to skip memgraph init inside builder container because it takes a long time on Mac

Improve building local platform docker image with scripts

When running:

cd scripts
ENV ./pack_memgraph_via_docker.sh
ENV ./docker_image_platform.sh build dist/packages/package image_name

Memgraph build directory inside mage/cpp/memgraph/build is full of build artifacts -> makes transferring Docker context expensive -> simplify / optimize somehow.

Memgraph lab - allow pausing logs scroll

The logs in memgraph lab are constantly scrolling down, which makes it almost impossible to search text in them, or even copy text, because when you select something it already scrolled down.

Starts but doesn't connect

I am trying to try out memgraph, executing the provided command with podman starts up the container:

$ podman run --rm -it -p 7687:7687 -p 7444:7444 -p 3000:3000 docker.io/memgraph/memgraph-platform
Memgraph Lab is running at localhost:3000

mgconsole 1.3
Connected to 'memgraph://127.0.0.1:7687'
Type :help for shell usage
Quit the shell by typing Ctrl-D(eof) or :quit
memgraph>

But connecting to the frontend (http://localhost:3000) reports that the installation cannot be found ("Memgraph Not Detected").

I can see the frontend pinging the backend, receiving a status of:

{"data":{"isConnectionAlive":false}}

Other than that, I have no idea what is going on.

memgraph-lab no longer starts. Node is not installed.

Seems that the latest refactoring in #31 broke the docker builds. Node is not installed on the image which prevents the service from starting.

I confirmed by using that the prior published docker image 2.6.1-memgraph2.5.0-lab2.4.0-mage1 does not have this issue.

Add flags for Quick connect username and password that can be used in docker-compose

At the moment, if you have a docker-compose file like this one, you can pass a defined username and password to the Lab so that Quick connect works. Adding new environment variables/flags could solve this.

version: "3"

services:
  memgraph:
    image: memgraph/memgraph-mage:latest
    container_name: memgraph-mage
    ports:
      - "7687:7687"
      - "7444:7444"
    command: ["--log-level=TRACE"]
    environment:
      - MEMGRAPH_USER=kruno
      - MEMGRAPH_PASSWORD=pass1

  lab:
    image: memgraph/lab:latest
    container_name: memgraph-lab
    ports:
      - "3000:3000"
    depends_on:
      - memgraph
    environment:
      - QUICK_CONNECT_MG_HOST=memgraph
      - QUICK_CONNECT_MG_PORT=7687

Platform 2.10.2 - unable to load modules message

I have Windows 11. Docker is set so that is uses WSL. When I run docker run -it -p 7687:7687 -p 7444:7444 -p 3000:3000 memgraph/memgraph-platform I get the following output

2023-08-25 06:37:47,575 INFO Included extra file "/etc/supervisor/programs/lab.conf" during parsing
2023-08-25 06:37:47,575 INFO Included extra file "/etc/supervisor/programs/memgraph.conf" during parsing
2023-08-25 06:37:47,575 INFO Set uid to user 0 succeeded
2023-08-25 06:37:47,577 INFO supervisord started with pid 1
2023-08-25 06:37:48,580 INFO spawned: 'memgraph' with pid 7
2023-08-25 06:37:48,583 INFO spawned: 'lab' with pid 8
You are running Memgraph v2.10.1
To get started with Memgraph, visit https://memgr.ph/start
[2023-08-25 06:37:48.638] [memgraph_log] [warning] Invalid license key string. To use Enterprise features please set it to a valid string using the following query:
SET DATABASE SETTING "enterprise.license" TO "your-license-key"
[2023-08-25 06:37:48.813] [memgraph_log] [warning] No snapshot or WAL file found. For more details, visit https://memgr.ph/durability.
[2023-08-25 06:37:48.814] [memgraph_log] [warning] Replication configuration will NOT be stored. When the server restarts, replication state will be forgotten.
[2023-08-25 06:37:49.011] INFO: [lab] Lab is running at http://localhost:3000 in platform mode
[2023-08-25 06:37:49.493] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/libmgclient.so"; /usr/lib/memgraph/query_modules/libmgclient.so: undefined symbol: mgp_init_module. For more details, visit https://memgr.ph/modules.
<frozen importlib._bootstrap>:228: RuntimeWarning: scipy._lib.messagestream.MessageStream size changed, may indicate binary incompatibility. Expected 56 from C header, got 64 from PyObject
2023-08-25 06:37:49,760 INFO success: memgraph entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2023-08-25 06:37:49,760 INFO success: lab entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
DGL backend not selected or invalid.  Assuming PyTorch for now.
[2023-08-25 06:37:50.854] [memgraph_log] [error] Unable to load module "/usr/lib/memgraph/query_modules/example_cpp.so"; /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/memgraph/query_modules/example_cpp.so). For more details, visit https://memgr.ph/modules.
[2023-08-25 06:37:50.855] [memgraph_log] [warning] Using non-secure Bolt connection (without SSL). For more details, visit https://memgr.ph/ssl.
^C2023-08-25 06:37:55,863 WARN received SIGINT indicating exit request
2023-08-25 06:37:55,864 INFO waiting for memgraph, lab to die
2023-08-25 06:37:56,136 INFO stopped: lab (exit status 0)

Session terminated, killing shell...[2023-08-25 06:37:56.245] [memgraph_log] [warning] Failed to remove the module mgp_networkx from sys.modules
[2023-08-25 06:37:56.248] [memgraph_log] [warning] Failed to remove the module mgp_igraph from sys.modules
[2023-08-25 06:37:56.290] [memgraph_log] [warning] Failed to remove the module json_util from sys.modules
Setting the default backend to "pytorch". You can change it in the ~/.dgl/config.json file or export the DGLBACKEND environment variable.  Valid options are: pytorch, mxnet, tensorflow (all lowercase)
 ...killed.
2023-08-25 06:37:58,140 INFO stopped: memgraph (terminated by SIGTERM)
2023-08-25 06:37:58,140 INFO reaped unknown pid 9 (exit status 0)

Note: I've terminated docker using CTRL+C.

I've also tried to run docker run -p 7687:7687 -p 7444:7444 -p 3000:3000 --name memgraph memgraph/memgraph-platform, but the result is the same.

image

Wrong ownership for some files in the docker image

Since that version of memgraph-platform image

memgraph/memgraph-platform        4175e85fe222   7 weeks ago    4.27GB

I cannot pull new images with userns-remap enabled for my docker-daemon (there is a need to Isolate containers with a user namespace):

docker.io/library/ubuntu:latest
latest: Pulling from memgraph/memgraph-platform
918547b94326: Already exists 
f815fa9e14e8: Pull complete 
6b482b77e73b: Pull complete 
88cf2268c327: Pull complete 
8732ff3dcc30: Extracting [==================================================>]  203.1MB/203.1MB
577cf9a29f74: Download complete 
70c869c750eb: Download complete 
c24bc4875209: Download complete 
085adf99c4c7: Download complete 
bf3ca2dacec8: Download complete 
30606883fc65: Download complete 
785edee73992: Download complete 
b439c9539bc9: Download complete 
2e342eec9491: Download complete 
64b9a94c8a58: Download complete 
78859b243ab6: Download complete 
07e024a86f7b: Download complete 
4f4fb700ef54: Download complete 
failed to register layer: Container ID 718322462 cannot be mapped to a host ID

Indeed, It's unlikely for 718322462 to be within ID ranges set in /etc/subuid and /etc/subgid files, whenever someone configures userns-remap. I tried to extend them and perform such search for files that have too high uid/gid:

$ docker run --rm -it memgraph/memgraph-platform bash

root@fa41dca61e14:/# find / \( -type f -or -type d \) -exec \
    bash -c '[ $(expr $(stat -c "%u + %g" "$0") ) -ge 131069 ] && ls -dln "$0"' {} \;

-rw-r--r-- 1 718322462 454177323 1518 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/LICENSE.txt
-rw-r--r-- 1 718322462 454177323 26 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/.npmignore
-rw-r--r-- 1 718322462 454177323 484 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/package.json
-rw-r--r-- 1 718322462 454177323 45 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/.travis.yml
-rw-r--r-- 1 718322462 454177323 1045 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/index.js
-rw-r--r-- 1 718322462 454177323 1101 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/README.md
-rw-r--r-- 1 718322462 454177323 1013 May 18 16:04 /lab/node_modules/buffer-equal-constant-time/test.js

I'd like to ask to fix owner/group for those files (and some other at least under /lab/node_modules/) before-or-at the docker-build, otherwise, you see,

  • everyone will face pull-fail when userns-remap enabled (and ranges specified at subuid/subgid not cover too high IDs),
  • those files would be inaccessible to non-root processes (UPD. Well, they're world-Readable, and their parent dir is everyone-eXecutable).

Also that would agree with a good practice to keep the stuff in order.
TIA!

UPD. I suggest COPY --chown=0:0 <...> at least at https://github.com/memgraph/memgraph-platform/blob/main/Dockerfile#L98 as good enough workaround, if you wish to fix this at docker-build stage instead of at the files origin (where they are copied from).

Invalid load template dataset button

My running version of memgraph is memgraph/memgraph-platform:2.7.0-memgraph2.7.0-lab2.5.0-mage1.7.0. When I try to import Template Dataset and click the Load Dataset button, nothing happens.

image

I retried multiple versions and finally this works fine when using memgraph/memgraph-platform:2.6.4-memgraph2.5.1-lab2.4.0 version.

Update links in README

Link to Memgraph leads to this repo and link to Memgraph Lab links to a private repo.

Run mgconsole when running the docker container efficiently

At the time of writing, after supervisord runs memgraphdb and memgraph lab, bash waits 3 seconds before trying to run mgconsole.

That should be changed so that mgconsole is being ran for 3 times waiting for a couple of seconds inbetween. If mgconsole fails to run all logs are printed to stdout.

Add feature to select model name for Ollama

Currently memgraph supports ollama for AI chat however it hardcodes llama2:latest and no other options are available. This enhancement would allow the memgraph-lab user to select the model to use with the Ollama endpoint.

memgraph-lab: Add feature for users to specify OpenAI base URL

This feature would allow users who are hosting their own LLMs using OpenAI API compatible services such as vllm, aphrodite-engine, and others to use them with the memgraph-lab AI chat.

Broadly, users would just need a way to override the baseURL for the OpenAI connection type, no other changes would be needed.

Feature-Request: Lab: Add auto-refresh query to Lab

When setting up Memgraph with streaming data ingestion, I found the Graphlytic visualization feature that auto-refreshes a query really useful, instead of manually having to run the Query in Memgraph Lab manually to visualize triggers, anomalies etc.. in realtime..

This is a Feature Request for Memgraph Lab.

Memgraph Platform Via Helm

The Memgraph documentation mentions how to deploy Memgraph itself via a Helm chart. Is there something similar available for Memgraph platform? There is, at least as far as I can tell, no documentation on that. I've been having issues with my current deployment where all services appear to be up inside the container, but the front-end says that Memgraph Lab cannot detect Memgraph running in the container.

Add the ability to run platform as daemon

https://discourse.memgraph.com/t/memgraph-lab-as-a-separate-image/223

There is a need to use Memgraph Lab on Fedora (any Linux distro), one way is to run memgraph-platform in the daemon mode. It would be great if just providing -d Docker flag would do the magic. If that's not possible, at least some user-friendly parameters would also be great, e.g., docker run -d ... memgraph/memgraph-platform --daemon. I saw this example https://github.com/fr3nd/docker-supervisor/blob/master/entrypoint.sh on a couple of places as a common practice with Docker (in general, additional shell script to manage the options).

Multiple configuration flags ignored

Some context - I'm building a custom Docker image on top of memgraph-platform:latest so I can install some additional python dependencies.

I'm specifying two configuration options in the environment variable:

image

What's weird is it will load whichever flag is set first (in this case the modules directory - but it ignores the second (or any additional) flags. Am I missing something really obvious?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.