Guidance Needed on n8n Production Deployment (EC2 vs Container)

As I am new to n8n, I need some clarity on its deployment for production use. My current test n8n instance is installed on an AWS EC2 instance. However, while checking with some server providers, they suggested going with a container-based infrastructure instead of EC2.

Now I am confused whether to proceed with a container-based microservices architecture using Docker or an EC2 instance-based architecture for production. If container-based architecture is the better option, could you guide me on where I can find some video resources related to this?

Welcome to the community :tada: @Janan

This should guide you-

Or you can search for terms like n8n AWS EC2 Docker Compose’ on YouTube

Hope this helps!

My n8n instance is currently running on an AWS EC2 server, and I am planning to automate additional workflows that could scale up to 30,000 executions per day.

I am seeking guidance on whether this workload can be efficiently handled on EC2 or if it is advisable to move to a container-based microservices hosting approach. While checking with AWS hosting service providers, they suggested moving to a containerized setup.

  • Is this the best approach for handling high-scale n8n workflow executions?

  • Are there any recommended videos or resources that explain how to deploy n8n in a microservices/containerized architecture?

Any help or guidance on this would be greatly appreciated.

Yes @Janan you can handle 30,000 daily executions on your AWS EC2 server. The best approach is to use Docker containers on that same server.

And yes a containerized microservices approach is the best choice for handling 30,000 daily n8n workflow executions due to its scalability, and efficiency. While EC2 with queue mode can work, it requires more manual management and is less flexible for dynamic loads.

Start with ECS for simplicity, think of it like this, instead of installing n8n directly on the server, you put it in a container. This makes it much easier to manage, update, and scale when needed.

Does this clarify?

1 Like

Thanks for your reply, I really appreciate your help

Thanks and let me know if these are the advantage of Docker on EC2 ?

  • EC2 just acts as the VM, and n8n runs inside a container.

  • Pros:

    • Easy upgrades: just pull a new Docker image, restart container.

    • Isolation: even if you install other services later (like Postgres, Redis, Traefik, monitoring, etc.), they don’t conflict.

    • Standardized environment: you know it runs exactly the same locally, in staging, and in production.

    • Easier backups & redeployment (just replicate the docker-compose.yml).

  • Cons:

    • Extra layer of abstraction (Docker engine).

    • Slightly more complex debugging.

Why people still suggest Docker even for a single service:

  • n8n updates frequently → Docker makes upgrading way easier.

  • Logs, configs, env variables → cleaner to manage via docker-compose.yml.

  • If later you need Postgres (for scaling beyond SQLite), reverse proxy (NGINX/Traefik), or monitoring, Docker helps you add them easily.

  • Standard practice in DevOps now: “cattle, not pets.” Even single apps are containerized for consistency. :smiley: