dockermeteormeteor-upmup

meteor-up (mup) new docker image


My applications needs graphicksmagick and phantomjs for seo to work

  1. I get a error: cfs:graphicsmagick could not find "graphicsMagic" or "imageMagic" on the system (normal it is not installed in the image by default)
  2. view-source:http://localhost/?_escaped_fragment_= has a empty body (phantomjs is installed in the image as said in the mup docs, and I have the package jazeee:spiderable-longer-timeout installed)

My question is: how do I create a docker image that will be used by default when I deploy ? Someone could point me to a tutorial ?

Responding to a comment: The command is mup deploy, the image is abernix/meteord:node-8.4.0-base

Thanks. Mickael.

[
    {
        "Id": "sha256:b0d5fbc89b76a35554f29a4e04f0289f06fd7175d6960bb0a0b275397f191c35",
        "RepoTags": [
            "abernix/meteord:node-8.4.0-base"
        ],
        "RepoDigests": [
            "abernix/meteord@sha256:04f44cf999da383d11de77027ced8b70818222c9890a405ce10803af3ee5a642"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2017-08-23T18:48:11.664860884Z",
        "Container": "7fbdb832f87c1324dcd77a729109e91e2550b404aeeb28212450af870b882e6c",
        "ContainerConfig": {
            "Hostname": "e24d0b5cccc1",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "METEORD_DIR=/opt/meteord",
                "NODE_VERSION=8.4.0"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "ENTRYPOINT [\"/bin/sh\" \"-c\" \"bash $METEORD_DIR/run_app.sh\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:5c4d00e6be5abdd7b8f4b7aba3a362d7b2591ec5293ebcf10e3bff0efb0a46be",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/bin/sh",
                "-c",
                "bash $METEORD_DIR/run_app.sh"
            ],
            "OnBuild": [
                "ENV NODE_VERSION ${NODE_VERSION:-8.4.0}"
            ],
            "Labels": {}
        },
        "DockerVersion": "17.06.1-ce",
        "Author": "Jesse Rosenberger",
        "Config": {
            "Hostname": "e24d0b5cccc1",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "METEORD_DIR=/opt/meteord",
                "NODE_VERSION=8.4.0"
            ],
            "Cmd": null,
            "ArgsEscaped": true,
            "Image": "sha256:5c4d00e6be5abdd7b8f4b7aba3a362d7b2591ec5293ebcf10e3bff0efb0a46be",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": [
                "/bin/sh",
                "-c",
                "bash $METEORD_DIR/run_app.sh"
            ],
            "OnBuild": [
                "ENV NODE_VERSION ${NODE_VERSION:-8.4.0}"
            ],
            "Labels": {}
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 518967437,
        "VirtualSize": 518967437,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/3b90dee1c2f1b452fdbbd52d38d953632229766e0f43a72025236fe06534567b/diff:/var/lib/docker/overlay2/a2c2eb08d869f115ee4dce234fd7d9fb0338b3999df8cfa49b99add4bf2242b1/diff:/var/lib/docker/overlay2/40439c8ba9c051021dfcbd4a3ea69894beb6b77c5373b6ca690a1249e689948a/diff:/var/lib/docker/overlay2/3641b46e6371ea2dc087aa3f24ff9c3724618bf765c2fe343e42b50163e3d04a/diff:/var/lib/docker/overlay2/075e92357262b64b7b3c7d9db54d7c970656aca862b416fa082cb78144fc8cbf/diff",
                "MergedDir": "/var/lib/docker/overlay2/b8c960a4e387d6692f5ac97d1a7f6f3fed85ac769979df2cda9a93b91fffab86/merged",
                "UpperDir": "/var/lib/docker/overlay2/b8c960a4e387d6692f5ac97d1a7f6f3fed85ac769979df2cda9a93b91fffab86/diff",
                "WorkDir": "/var/lib/docker/overlay2/b8c960a4e387d6692f5ac97d1a7f6f3fed85ac769979df2cda9a93b91fffab86/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:2c40c66f7667aefbb18f7070cf52fae7abbe9b66e49b4e1fd740544e7ceaebdc",
                "sha256:7dc6443839b3ab4fcf2063a8d36c5549a7df86a6fac434c8ce968e0453f2ad42",
                "sha256:31fe6195ead3d1d14e939bc5363b4fa5ebbd88668244fb9137506f64bf51a72f",
                "sha256:bdb4bcc9b8180650936d7a5b1e92b775bff15f49b5e91e0f933f151639008383",
                "sha256:7574e764176dccf3421dda07f650b78fce4ce0df96ea56f7042b4a60957fb9de",
                "sha256:221a2e728abd8c51aab76a7a886c77c096e9eb9f8da58d83c2c90be94983d307"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Solution

  • I use this image of docker for graphikcsmagick

    docker: { image: 'appworkshop/meteord-graphicsmagick-pdftk-node8:node-8.8.1-base', },

    source : https://hub.docker.com/r/appworkshop/meteord-graphicsmagick-pdftk-node8/

    and id use the service https://prerender.io with this package

    dferber:prerender

    for SEO cause spiderable is deprecated

    https://github.com/meteor/meteor/issues/8661#issuecomment-298967451

    PS: you can put these settings in mup to save the files out of the image and avoid losing them at each redeployment

    volumes: { '/opt/exemple_path_medias':'/opt/exemple_path_medias' },