alnoda-workspaces/workspaces/ansible-terraform-workspace/removeme_docs/example-compose.md
2022-05-23 09:36:06 +00:00

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"