Best way to host RASA chatbot server after using external service for UI

I successfully hosted my RASA chatbot frontend using netlify. The UI loads fine but my bot is not responding to messages. I’m struggling to find the right way to host the server side of my chatbot.

I’ve been trying different hosting platforms like railway but keep running into deployment failures. Here’s the error I’m getting in my most recent deployment attempt:

Collecting spacy_model@ https://github.com/explosion/spacy-models/releases/download/spacy_model-3.8.0/spacy_model-3.8.0-py3-none-any.whl#sha256=5e6329fe3fecedb1d1a02c3ea2172ee0fede6cea6e4aefb6a02d832dba78a310

Downloading https://github.com/explosion/spacy-models/releases/download/spacy_model-3.8.0/spacy_model-3.8.0-py3-none-any.whl (33.5 MB)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 33.5/33.5 MB 244.4 MB/s eta 0:00:00

Collecting google-lib==1.4.0

Downloading google_lib-1.4.0-py3-none-any.whl (126 kB)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 126.5/126.5 kB 7.1 MB/s eta 0:00:00

ERROR: Ignored the following versions that require a different python version: 1.3.2 Requires-Python >=3.9

ERROR: Could not find a version that satisfies the requirement asyncsignal==1.3.2 (from versions: 1.0.0a0, 1.0.0, 1.1.0, 1.1.1, 1.1.2, 1.2.0a0, 1.2.0, 1.3.1)

ERROR: No matching distribution found for asyncsignal==1.3.2

[notice] A new release of pip is available: 23.0.1 -> 25.0
[notice] To update, run: pip install --upgrade pip

✕ [4/4] RUN pip install --no-cache-dir -r dependencies.txt
process "/bin/sh -c pip install --no-cache-dir -r dependencies.txt" did not complete successfully: exit code: 1

My dependencies.txt file contains:

google-lib==1.4.0
http-client==3.9.5
flask-server==3.1.0
rasa==3.6.20
rasa-sdk==3.6.2
spacy==3.8.3
tensorflow==2.12.0
uvicorn==0.34.0
requests==2.32.3

The error seems to be related to Python version compatibility issues. Has anyone successfully deployed a RASA backend and can share what platform worked best for them?

that dependency conflict looks familiar! what python version does railway use by default? i ran into the same thing when the platform was on 3.8 but i had 3.9 locally. try specifying the python version in a runtime file or dockerfile. also - did you test those exact dependencies locally first?

I encountered similar challenges when deploying RASA myself. Using Docker containers minimized many of my environment-related issues quickly. The asyncsignal error you’re facing likely arises from a Python version mismatch between your development setup and the hosting platform. To avoid these issues, consider containerizing your RASA server using a Dockerfile that specifies Python version 3.9 or newer. My experiences with Google Cloud Run and AWS ECS have been positive after switching to containerization; they efficiently handle RASA’s resource requirements and can scale seamlessly during high demand. A quick piece of advice: ensure you create a fresh virtual environment to test your production dependencies before deployment to confirm compatibility.

heroku worked gr8 for my rasa backend. make sure to pin yr exact python version in runtime.txt - i used python-3.9.18. also, your dependencies look kinda off - some packages dont exist with those version numbers. just run pip freeze from your working local env instead.