mirror of
https://github.com/bluxmit/alnoda-workspaces.git
synced 2024-09-04 12:10:56 +12:00
12 KiB
12 KiB
Example of a compose file that launches Ansible-Terraform workspace behind reverse proxy (Traefik) with auth middleware annd HTTPS
"services":
"traefik":
"command":
- "--entrypoints.DOCS_URL.address=:8020"
- "--entrypoints.FILEBROWSER_URL.address=:8021"
- "--entrypoints.STATICFS_URL.address=:8022"
- "--entrypoints.CRONICLE_URL.address=:8023"
- "--entrypoints.UNGIT_URL.address=:8024"
- "--entrypoints.IDE_URL.address=:8025"
- "--entrypoints.TERMINAL_URL.address=:8026"
- "--entrypoints.MC_URL.address=:8027"
- "--entrypoints.HTOP_URL.address=:8028"
- "--entrypoints.ANSIBLE_ARA.address=:8029"
- "--entrypoints.PORT_8031.address=:8031"
- "--entrypoints.PORT_8032.address=:8032"
- "--entrypoints.PORT_8033.address=:8033"
- "--entrypoints.PORT_8034.address=:8034"
- "--entrypoints.PORT_8035.address=:8035"
- "--providers.docker"
- "--providers.file.directory=/etc/traefik/dynamic_conf"
"container_name": "container_name"
"image": "traefik:v2.4"
"ports":
- "8020-8035:8020-8035"
"volumes":
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "./certs:/tools/certs"
- "./config.yml:/etc/traefik/dynamic_conf/conf.yml:ro"
"workspace":
"environment":
"ARA_API_CLIENT": "https"
"ARA_API_SERVER": "http://68.183.69.198:8029"
"WRK_HOST": "68.183.69.198"
"WRK_PROTO": "https"
"image": "alnoda/ansible-terraform-workspace"
"labels":
- "traefik.enable=true"
- "traefik.http.middlewares.httprepl.redirectregex.regex=^http://(.*)"
- "traefik.http.middlewares.httprepl.redirectregex.replacement=https://$${1}"
- "traefik.http.services.DOCS_URLhttp.loadbalancer.server.port=8020"
- "traefik.http.routers.DOCS_URLhttp.service=DOCS_URL"
- "traefik.http.routers.DOCS_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.DOCS_URLhttp.entrypoints=DOCS_URL"
- "traefik.http.routers.DOCS_URLhttp.middlewares=httprepl"
- "traefik.http.services.DOCS_URL.loadbalancer.server.port=8020"
- "traefik.http.routers.DOCS_URL.service=DOCS_URL"
- "traefik.http.routers.DOCS_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.DOCS_URL.entrypoints=DOCS_URL"
- "traefik.http.routers.DOCS_URL.middlewares=basic-auth"
- "traefik.http.routers.DOCS_URL.tls=true"
- "traefik.http.services.FILEBROWSER_URLhttp.loadbalancer.server.port=8021"
- "traefik.http.routers.FILEBROWSER_URLhttp.service=FILEBROWSER_URL"
- "traefik.http.routers.FILEBROWSER_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.FILEBROWSER_URLhttp.entrypoints=FILEBROWSER_URL"
- "traefik.http.routers.FILEBROWSER_URLhttp.middlewares=httprepl"
- "traefik.http.services.FILEBROWSER_URL.loadbalancer.server.port=8021"
- "traefik.http.routers.FILEBROWSER_URL.service=FILEBROWSER_URL"
- "traefik.http.routers.FILEBROWSER_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.FILEBROWSER_URL.entrypoints=FILEBROWSER_URL"
- "traefik.http.routers.FILEBROWSER_URL.middlewares=basic-auth"
- "traefik.http.routers.FILEBROWSER_URL.tls=true"
- "traefik.http.services.STATICFS_URLhttp.loadbalancer.server.port=8022"
- "traefik.http.routers.STATICFS_URLhttp.service=STATICFS_URL"
- "traefik.http.routers.STATICFS_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.STATICFS_URLhttp.entrypoints=STATICFS_URL"
- "traefik.http.routers.STATICFS_URLhttp.middlewares=httprepl"
- "traefik.http.services.STATICFS_URL.loadbalancer.server.port=8022"
- "traefik.http.routers.STATICFS_URL.service=STATICFS_URL"
- "traefik.http.routers.STATICFS_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.STATICFS_URL.entrypoints=STATICFS_URL"
- "traefik.http.routers.STATICFS_URL.middlewares=basic-auth"
- "traefik.http.routers.STATICFS_URL.tls=true"
- "traefik.http.services.CRONICLE_URLhttp.loadbalancer.server.port=8023"
- "traefik.http.routers.CRONICLE_URLhttp.service=CRONICLE_URL"
- "traefik.http.routers.CRONICLE_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.CRONICLE_URLhttp.entrypoints=CRONICLE_URL"
- "traefik.http.routers.CRONICLE_URLhttp.middlewares=httprepl"
- "traefik.http.services.CRONICLE_URL.loadbalancer.server.port=8023"
- "traefik.http.routers.CRONICLE_URL.service=CRONICLE_URL"
- "traefik.http.routers.CRONICLE_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.CRONICLE_URL.entrypoints=CRONICLE_URL"
- "traefik.http.routers.CRONICLE_URL.middlewares=basic-auth"
- "traefik.http.routers.CRONICLE_URL.tls=true"
- "traefik.http.services.UNGIT_URLhttp.loadbalancer.server.port=8024"
- "traefik.http.routers.UNGIT_URLhttp.service=UNGIT_URL"
- "traefik.http.routers.UNGIT_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.UNGIT_URLhttp.entrypoints=UNGIT_URL"
- "traefik.http.routers.UNGIT_URLhttp.middlewares=httprepl"
- "traefik.http.services.UNGIT_URL.loadbalancer.server.port=8024"
- "traefik.http.routers.UNGIT_URL.service=UNGIT_URL"
- "traefik.http.routers.UNGIT_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.UNGIT_URL.entrypoints=UNGIT_URL"
- "traefik.http.routers.UNGIT_URL.middlewares=basic-auth"
- "traefik.http.routers.UNGIT_URL.tls=true"
- "traefik.http.services.IDE_URLhttp.loadbalancer.server.port=8025"
- "traefik.http.routers.IDE_URLhttp.service=IDE_URL"
- "traefik.http.routers.IDE_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.IDE_URLhttp.entrypoints=IDE_URL"
- "traefik.http.routers.IDE_URLhttp.middlewares=httprepl"
- "traefik.http.services.IDE_URL.loadbalancer.server.port=8025"
- "traefik.http.routers.IDE_URL.service=IDE_URL"
- "traefik.http.routers.IDE_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.IDE_URL.entrypoints=IDE_URL"
- "traefik.http.routers.IDE_URL.middlewares=basic-auth"
- "traefik.http.routers.IDE_URL.tls=true"
- "traefik.http.services.TERMINAL_URLhttp.loadbalancer.server.port=8026"
- "traefik.http.routers.TERMINAL_URLhttp.service=TERMINAL_URL"
- "traefik.http.routers.TERMINAL_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.TERMINAL_URLhttp.entrypoints=TERMINAL_URL"
- "traefik.http.routers.TERMINAL_URLhttp.middlewares=httprepl"
- "traefik.http.services.TERMINAL_URL.loadbalancer.server.port=8026"
- "traefik.http.routers.TERMINAL_URL.service=TERMINAL_URL"
- "traefik.http.routers.TERMINAL_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.TERMINAL_URL.entrypoints=TERMINAL_URL"
- "traefik.http.routers.TERMINAL_URL.middlewares=basic-auth"
- "traefik.http.routers.TERMINAL_URL.tls=true"
- "traefik.http.services.MC_URLhttp.loadbalancer.server.port=8027"
- "traefik.http.routers.MC_URLhttp.service=MC_URL"
- "traefik.http.routers.MC_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.MC_URLhttp.entrypoints=MC_URL"
- "traefik.http.routers.MC_URLhttp.middlewares=httprepl"
- "traefik.http.services.MC_URL.loadbalancer.server.port=8027"
- "traefik.http.routers.MC_URL.service=MC_URL"
- "traefik.http.routers.MC_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.MC_URL.entrypoints=MC_URL"
- "traefik.http.routers.MC_URL.middlewares=basic-auth"
- "traefik.http.routers.MC_URL.tls=true"
- "traefik.http.services.HTOP_URLhttp.loadbalancer.server.port=8028"
- "traefik.http.routers.HTOP_URLhttp.service=HTOP_URL"
- "traefik.http.routers.HTOP_URLhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.HTOP_URLhttp.entrypoints=HTOP_URL"
- "traefik.http.routers.HTOP_URLhttp.middlewares=httprepl"
- "traefik.http.services.HTOP_URL.loadbalancer.server.port=8028"
- "traefik.http.routers.HTOP_URL.service=HTOP_URL"
- "traefik.http.routers.HTOP_URL.rule=PathPrefix(`/`)"
- "traefik.http.routers.HTOP_URL.entrypoints=HTOP_URL"
- "traefik.http.routers.HTOP_URL.middlewares=basic-auth"
- "traefik.http.routers.HTOP_URL.tls=true"
- "traefik.http.services.ANSIBLE_ARAhttp.loadbalancer.server.port=8029"
- "traefik.http.routers.ANSIBLE_ARAhttp.service=ANSIBLE_ARA"
- "traefik.http.routers.ANSIBLE_ARAhttp.rule=PathPrefix(`/`)"
- "traefik.http.routers.ANSIBLE_ARAhttp.entrypoints=ANSIBLE_ARA"
- "traefik.http.routers.ANSIBLE_ARAhttp.middlewares=httprepl"
- "traefik.http.services.ANSIBLE_ARA.loadbalancer.server.port=8029"
- "traefik.http.routers.ANSIBLE_ARA.service=ANSIBLE_ARA"
- "traefik.http.routers.ANSIBLE_ARA.rule=PathPrefix(`/`)"
- "traefik.http.routers.ANSIBLE_ARA.entrypoints=ANSIBLE_ARA"
- "traefik.http.routers.ANSIBLE_ARA.middlewares=basic-auth"
- "traefik.http.routers.ANSIBLE_ARA.tls=true"
- "traefik.http.services.PORT_8031http.loadbalancer.server.port=8031"
- "traefik.http.routers.PORT_8031http.service=PORT_8031"
- "traefik.http.routers.PORT_8031http.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8031http.entrypoints=PORT_8031"
- "traefik.http.routers.PORT_8031http.middlewares=httprepl"
- "traefik.http.services.PORT_8031.loadbalancer.server.port=8031"
- "traefik.http.routers.PORT_8031.service=PORT_8031"
- "traefik.http.routers.PORT_8031.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8031.entrypoints=PORT_8031"
- "traefik.http.routers.PORT_8031.middlewares=basic-auth"
- "traefik.http.routers.PORT_8031.tls=true"
- "traefik.http.services.PORT_8032http.loadbalancer.server.port=8032"
- "traefik.http.routers.PORT_8032http.service=PORT_8032"
- "traefik.http.routers.PORT_8032http.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8032http.entrypoints=PORT_8032"
- "traefik.http.routers.PORT_8032http.middlewares=httprepl"
- "traefik.http.services.PORT_8032.loadbalancer.server.port=8032"
- "traefik.http.routers.PORT_8032.service=PORT_8032"
- "traefik.http.routers.PORT_8032.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8032.entrypoints=PORT_8032"
- "traefik.http.routers.PORT_8032.middlewares=basic-auth"
- "traefik.http.routers.PORT_8032.tls=true"
- "traefik.http.services.PORT_8033http.loadbalancer.server.port=8033"
- "traefik.http.routers.PORT_8033http.service=PORT_8033"
- "traefik.http.routers.PORT_8033http.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8033http.entrypoints=PORT_8033"
- "traefik.http.routers.PORT_8033http.middlewares=httprepl"
- "traefik.http.services.PORT_8033.loadbalancer.server.port=8033"
- "traefik.http.routers.PORT_8033.service=PORT_8033"
- "traefik.http.routers.PORT_8033.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8033.entrypoints=PORT_8033"
- "traefik.http.routers.PORT_8033.middlewares=basic-auth"
- "traefik.http.routers.PORT_8033.tls=true"
- "traefik.http.services.PORT_8034http.loadbalancer.server.port=8034"
- "traefik.http.routers.PORT_8034http.service=PORT_8034"
- "traefik.http.routers.PORT_8034http.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8034http.entrypoints=PORT_8034"
- "traefik.http.routers.PORT_8034http.middlewares=httprepl"
- "traefik.http.services.PORT_8034.loadbalancer.server.port=8034"
- "traefik.http.routers.PORT_8034.service=PORT_8034"
- "traefik.http.routers.PORT_8034.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8034.entrypoints=PORT_8034"
- "traefik.http.routers.PORT_8034.middlewares=basic-auth"
- "traefik.http.routers.PORT_8034.tls=true"
- "traefik.http.services.PORT_8035http.loadbalancer.server.port=8035"
- "traefik.http.routers.PORT_8035http.service=PORT_8035"
- "traefik.http.routers.PORT_8035http.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8035http.entrypoints=PORT_8035"
- "traefik.http.routers.PORT_8035http.middlewares=httprepl"
- "traefik.http.services.PORT_8035.loadbalancer.server.port=8035"
- "traefik.http.routers.PORT_8035.service=PORT_8035"
- "traefik.http.routers.PORT_8035.rule=PathPrefix(`/`)"
- "traefik.http.routers.PORT_8035.entrypoints=PORT_8035"
- "traefik.http.routers.PORT_8035.middlewares=basic-auth"
- "traefik.http.routers.PORT_8035.tls=true"
- "traefik.http.middlewares.basic-auth.basicauth.users=user1:$$2y$$05$$wY.IxQKqBVqpGsMxB9qwUe7rxBx2SSBetaZlHK6DNvNJo1lz8QiU."
"version": "3.3"