Skip to content

Please fix Dockerfile #79

@j2l

Description

@j2l

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions