Docker multiapp pipeline status

Host several applications under nginx proxy with docker.

Features

  • Generate nginx and docker configuration
  • Self-signed ssl certificates via certbot
  • Automatic certificate renewal
  • Docker swarm mode
  • Health check

Usage

Configure your services in services.conf.

Generate configuration and deploy services.

./manage.sh up

Check status of deployed services.

./manage.sh status

Example

As example we deploy 2 applications, a static website with nginx image and a blog with ghost.

Configure services in file services.conf replacing example.org with your own domain.

[services.static]
domains="static.example.org www.static.example.org"
endpoint="static_example"

[services.blog]
domains="example.org www.example.org"
endpoint="blog_example"

Generate configuration and deploy services.

./manage.sh up

Run applications. Note that they must be in the same network than the nginx container.

docker run -d --name static_example --network multiapp -v /path/to/my/static/files:/usr/share/nginx/html nginx
docker run -d --name blog_example --network multiapp ghost

Open static.example.org and blog.example.org in a browser.