diff --git a/Dockerfile b/Dockerfile index e783b16..560011c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,14 @@ -FROM python:3.9 +FROM python:3.10-bullseye + +RUN apt-get -y update +RUN apt-get -y install libcmph-dev +RUN apt-get -y install librdkafka-dev RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ENV PYTHONPATH=/usr/src/app/ COPY requirements*.txt /usr/src/app/ RUN pip install --upgrade pip RUN pip install --no-cache-dir -r requirements.txt -r requirements-swh.txt diff --git a/README b/README index 5b6dc89..bb87b89 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ # To run In dev mode -* uvicorn swh.graphql.app:app +* uvicorn swh.graphql.asgi:application * http://127.0.0.1:8000/ diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml new file mode 100644 index 0000000..f46311e --- /dev/null +++ b/docker-compose-dev.yml @@ -0,0 +1,5 @@ +version: "3.4" + +services: + app: + command: uvicorn swh.graphql.asgi:application --host 0.0.0.0 --port 8000 --reload diff --git a/docker-compose-staging.yml b/docker-compose-staging.yml new file mode 100644 index 0000000..c64146a --- /dev/null +++ b/docker-compose-staging.yml @@ -0,0 +1,8 @@ +version: "3.4" + +services: + app: + command: gunicorn --bind=0.0.0.0:8000 --workers=2 swh.graphql.wsgi:application + + # haproxy: + # command: uvicorn swh.graphql.app:app --host 0.0.0.0 --port 8000 diff --git a/docker-compose.yml b/docker-compose.yml index 8a86f45..377bb84 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,11 @@ version: "3.4" services: app: build: context: ./ dockerfile: Dockerfile volumes: - ".:/usr/src/app" ports: - "8000:8000" - command: uvicorn swh.graphql.app:app --host 0.0.0.0 --port 8000 --reload diff --git a/swh/graphql/app.py b/swh/graphql/app.py index 32e91f6..5f5a1af 100644 --- a/swh/graphql/app.py +++ b/swh/graphql/app.py @@ -1,21 +1,18 @@ from ariadne import gql, load_schema_from_path, make_executable_schema -from ariadne.asgi import GraphQL from .resolvers import resolvers, scalars type_defs = gql(load_schema_from_path("swh/graphql/schema/schema.graphql")) schema = make_executable_schema( type_defs, resolvers.query, resolvers.origin, resolvers.origins, resolvers.visit, resolvers.visitstatus, resolvers.snapshot, scalars.datetime_scalar, scalars.swhid_scalar, scalars.binary_text_scalar, ) - -app = GraphQL(schema, debug=True) diff --git a/swh/graphql/asgi.py b/swh/graphql/asgi.py new file mode 100644 index 0000000..c01e267 --- /dev/null +++ b/swh/graphql/asgi.py @@ -0,0 +1,5 @@ +from ariadne.asgi import GraphQL + +from .app import schema + +application = GraphQL(schema, debug=True) diff --git a/swh/graphql/wsgi.py b/swh/graphql/wsgi.py new file mode 100644 index 0000000..c0fe275 --- /dev/null +++ b/swh/graphql/wsgi.py @@ -0,0 +1,5 @@ +from ariadne.wsgi import GraphQL + +from .app import schema + +application = GraphQL(schema)