Amazing, Thank you for sharing it. I was thinking about building docker image and share it.
Traefik for load balancing and letsencrypt will make it more interesting.
Perfect! It really Rocks! dockerswarm.rocks Examples are using Traefik v1.7
Auto scaling up/down becomes easy job with docker swarm + Traefik as router.
One can either leave load balancing to docker swarm or use Traefik alone with its many more advantages…
Latest version 2.X of Traefik is even more mature in terms of handling TCP and HTTP/S route requests, better metrics, nice infrastructure dashboard, mirroring, https etc.
Sure, If you are using Docker Swarm then https://swarmpit.io/ would be very useful when you are playing with docker-compose based deployment for multi node or single node…
when I run this a secondary erpnext_nginx container (v12_erpnext-nginx_run_85b17bc5267a) is being created
Name Command State Ports
------------------------------------------------------------------------------------------------
v12_erpnext-nginx_1 /docker-entrypoint.sh ngin ... Up 80/tcp
v12_erpnext-nginx_run_85b17bc5267a /docker-entrypoint.sh ngin ... Up 0.0.0.0:80->80/tcp
v12_erpnext-python_1 docker-entrypoint.sh start Up
v12_frappe-schedule_1 docker-entrypoint.sh schedule Up
v12_frappe-socketio_1 docker-entrypoint.sh start Up
v12_frappe-worker-default_1 docker-entrypoint.sh worker Up
v12_frappe-worker-long_1 docker-entrypoint.sh worker Up
v12_frappe-worker-short_1 docker-entrypoint.sh worker Up
v12_mariadb_1 docker-entrypoint.sh mysqld Up 3306/tcp
v12_redis-cache_1 docker-entrypoint.sh redis ... Up 6379/tcp
v12_redis-queue_1 docker-entrypoint.sh redis ... Up 6379/tcp
v12_redis-socketio_1 docker-entrypoint.sh redis ... Up 6379/tcp
For production it is recommended no ports are exposed.
The frontend loadbalancer proxy that exposes all the services running on docker host only needs to publish ports (nginx-companion, traefik). Other containers just inform this proxy container and connect to its network.
So the extra nginx container is just for exposing ports on localhost and trying out things.
In fact no need to delete it container “after use” if the use case in the first place was to use it on localhost itself.