Thread
#prefect-community
    t

    tiz.io

    2 years ago
    I've been having a vexing time getting this launched. I kick off the docker container using the master tag and it exits immediately with no logs or errors. When I shell into the container and try to launch the server, it errors out with "FileNotFoundError: [Errno 2] No such file or directory: 'docker-compose': 'docker-compose'"
    So I abandoned Docker and used a virtualenv. PIP installed everything and tried prefect server start and got the same error:
    "FileNotFoundError: [Errno 2] No such file or directory: 'docker-compose': 'docker-compose'"
    Chris White

    Chris White

    2 years ago
    Hi @tiz.io, as the error mentions you need to have docker compose installed and running for the Prefect backend + UI
    t

    tiz.io

    2 years ago
    It's running more than a dozen containers on that machine.
    Chris White

    Chris White

    2 years ago
    are you saying you have
    docker-compose
    installed? Can you confirm by running
    which docker-compose
    from the command line?
    t

    tiz.io

    2 years ago
    Hmm, apparently not. I expected it to be bundled in Docker but now that it is installed, I get a different error:
    "ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the
    services
    key, or omit the
    version
    key and place your service definitions at the root of the file to use version 1. For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/"
    It's a step forward anyway. I'm perplexed about this half-in half-out of Docker situation. Is it not possible to put all of Prefect into a single container?
    Chris White

    Chris White

    2 years ago
    FYI our docker-compose file is pinned to 3.7, which requires Docker engine 18.06.0+
    t

    tiz.io

    2 years ago
    Oh. I'm running this: Docker version 19.03.6, build 369ce74a3c
    docker-compose --version docker-compose version 1.21.0, build unknown
    Seems like it should be compatible, right?
    Chris White

    Chris White

    2 years ago
    i would think; i’m running 1.25.4 locally FWIW
    t

    tiz.io

    2 years ago
    Ok. I'll see if I can get something more recent than what's in apt.
    Okay, just nabbed it straight from the source: docker-compose --version docker-compose version 1.24.0, build 0aa59064 Here goes nothing.
    ian@yotta ~/code/coinbot % prefect server start /home/ian/.local/share/virtualenvs/coinbot-_bcYirIr/lib/python3.7/site-packages/prefect/cli/server.py:236: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. y = yaml.load(file) Pulling postgres ... waiting Pulling hasura ... done Pulling graphql ... downloading (53.2%) Pulling apollo ... waiting Pulling scheduler ... downloading (53.2%) Pulling ui ... done
    Seems legit.
    Chris White

    Chris White

    2 years ago
    yup yup looks like it’s working
    t

    tiz.io

    2 years ago
    So regarding docker... If a guy really wanted to wrap it all up into one container, would that even be possible or would the reliance on creating its own container be a deal breaker?
    Chris White

    Chris White

    2 years ago
    hmmm in theory you might be able to but that would be an absolutely massively complicated image. You’d need: - postgres - hasura - various python services - a full npm environment running the UI all in 1 image which would be a anti-pattern in Docker
    t

    tiz.io

    2 years ago
    Makes sense. It would be amazing if it were an option (I'd be happy to let it use my standalone redis and postgres) so I could launch it all through Google's Cloud Run or on K8S. I'll have to tinker with it later.
    My job is to research products like this and recommend them to enterprise customers.
    Chris White

    Chris White

    2 years ago
    if you don’t want to manage all this, you can always use the free tier of Prefect Cloud 😉 that manages all this infrastructure for you
    t

    tiz.io

    2 years ago
    They gravitate toward solutions that deploy easily in containers.
    Chris White

    Chris White

    2 years ago
    and still lets you have full control of your runtime environment for your workflows
    t

    tiz.io

    2 years ago
    Totally. The cloud portion looks amazing. I might be able to convince the hybrid cloud or on-prem users to go bare metal.
    Okay, now that I've figured out how to change the port (8080 is in high demand) I got it up and running. Thanks for your help Chris!
    Chris White

    Chris White

    2 years ago
    awesome! anytime