graphjs / graphjs-server

Server-side components of GraphJS at https://github.com/phonetworks/graphjs
https://graphjs.com
MIT License
47 stars 25 forks source link

Please fix Dockerfile #79

Open j2l opened 4 years ago

j2l commented 4 years ago

I had to tweak Dockerfile to make it work:

FROM ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive

RUN add-apt-repository ppa:ondrej/php && \
    apt-get update && \
    apt install -y software-properties-common && \
    apt-get install -y --no-install-recommends \
    php7.3 php7.3-common php7.3-mbstring php-bcmath \
    php7.3-zip php7.3-curl php7.3-xml php7.3-gd \
    php7.3-dev composer git ffmpeg

RUN mkdir -p /opt/graphjs-server
WORKDIR /opt/graphjs-server

COPY . /opt/graphjs-server

RUN composer install

EXPOSE 1338

CMD [ "php7.3", "run.php" ]

And I finally get:

Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
  Problem 2
    - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
  Problem 3
    - Installation request for aws/aws-sdk-php 3.112.15 -> satisfiable by aws/aws-sdk-php[3.112.15].
    - aws/aws-sdk-php 3.112.15 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system.
  Problem 4
    - Installation request for graphaware/neo4j-bolt 1.11.0 -> satisfiable by graphaware/neo4j-bolt[1.11.0].
    - graphaware/neo4j-bolt 1.11.0 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 5
    - Installation request for graphaware/neo4j-php-client 4.8.5 -> satisfiable by graphaware/neo4j-php-client[4.8.5].
    - graphaware/neo4j-php-client 4.8.5 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 6
    - Installation request for nebulaprotocol/ipfs-php 1.0.0 -> satisfiable by nebulaprotocol/ipfs-php[1.0.0].
    - nebulaprotocol/ipfs-php 1.0.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 7
    - Installation request for rakit/validation v0.22.3 -> satisfiable by rakit/validation[v0.22.3].
    - rakit/validation v0.22.3 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 8
    - Installation request for riverline/multipart-parser 2.0.5 -> satisfiable by riverline/multipart-parser[2.0.5].
    - riverline/multipart-parser 2.0.5 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
  Problem 9
    - Installation request for stripe/stripe-php v6.43.1 -> satisfiable by stripe/stripe-php[v6.43.1].
    - stripe/stripe-php v6.43.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
  Problem 10
    - Installation request for phpunit/php-code-coverage 4.0.8 -> satisfiable by phpunit/php-code-coverage[4.0.8].
    - phpunit/php-code-coverage 4.0.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 11
    - Installation request for phpunit/phpunit 5.7.27 -> satisfiable by phpunit/phpunit[5.7.27].
    - phpunit/phpunit 5.7.27 requires ext-dom * -> the requested PHP extension dom is missing from your system.
  Problem 12
    - Installation request for squizlabs/php_codesniffer 2.9.2 -> satisfiable by squizlabs/php_codesniffer[2.9.2].
    - squizlabs/php_codesniffer 2.9.2 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system.
  Problem 13
    - aws/aws-sdk-php 3.112.15 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system.
    - league/flysystem-aws-s3-v3 1.0.23 requires aws/aws-sdk-php ^3.0.0 -> satisfiable by aws/aws-sdk-php[3.112.15].
    - Installation request for league/flysystem-aws-s3-v3 1.0.23 -> satisfiable by league/flysystem-aws-s3-v3[1.0.23].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/20-bcmath.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
ERROR: Service 'graphjs' failed to build: The command '/bin/sh -c composer install' returned a non-zero code: 2

I'd like to give graphjs server a test without heroku. It misses the docker-compose.yml to add a volume for the server too. But I don't what's the best way for your server. Would you please finalize it?

j2l commented 4 years ago

Hello, Hope you've seen my post from May 7. Really hope to make it work.

esokullu commented 4 years ago

It seems PHP 7.4 is installed on your Docker VM, not 7.3

j2l commented 4 years ago

Thank you. Oh. So it won't work with 7.4?

j2l commented 4 years ago

I read PHP7.2+ in the readme, And weird enough, when I type php in the container, only php7.3 shows up.