endpoints.path: /
endpoints.endpoint_type: HTTP
endpoints.scan_time: 2025-10-10T15:21:59.251782
endpoints.uri: https://coolify.nrdhosting.com/
endpoints.protocol: HTTP/1.1
endpoints.status_reason: Found
endpoints.key: Report-To
endpoints.headers: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oGhk43YZ1o2mylsKTKylO2bDGOYKxoY9QVH0XW89sVutboDeSmCoHyQ9RGuvCWul1Tb92ToNGXj0z5Ym586Kl5bO%2BrWNhQqtero7DQAwrGXkSM1y"}]}
endpoints.key: Date
endpoints.headers: <REDACTED>
endpoints.key: Nel
endpoints.headers: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
endpoints.key: Connection
endpoints.headers: keep-alive
endpoints.key: Transfer-Encoding
endpoints.headers: chunked
endpoints.key: location
endpoints.headers: https://coolify.nrdhosting.com/login
endpoints.key: Server
endpoints.headers: cloudflare
endpoints.key: Cache-Control
endpoints.headers: no-cache, private
endpoints.key: cf-cache-status
endpoints.headers: DYNAMIC
endpoints.key: alt-svc
endpoints.headers: h3=":443"; ma=86400
endpoints.key: Set-Cookie
endpoints.headers: XSRF-TOKEN=eyJpdiI6IkdsTnJMUjAra0lGejAzS2p3elo0Nmc9PSIsInZhbHVlIjoiQW5meUhvQ0RYYmRidEFZVkt1N2RYb3JOM0M4MnpscXBzVjVhREw1dWtXTlArMTRkczhpaEhsUTc1T3FmODdXRHB6bGZFVS9vLy9lbGxwdUY2QkEvdEhseTREN2VQcGpCK0ZmZFNRTUx6Q1J0dHJPMXg3cnRzR0psOHZVaUlPRjciLCJtYWMiOiJiOGUwMzBkZTRiZDI2ZTg4ZjYyYjczM2NiMWNhN2UzMjBlOGVmMjhjZDAwMTZkZTFiZDk3MDVjZjM2ZDhhNjk4IiwidGFnIjoiIn0%3D; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:21:59 GMT coolify_session=eyJpdiI6IndEMDkwTzNTd1N6TUJnMFBacmF4cmc9PSIsInZhbHVlIjoiclkweFBlV1gzK256TjhiTWRkNWdTMFZ2TExCUDJTM3VaMEtGRmRDcjFZb2oyS1BHc1VOTXNNRzg1Z2FXWjBJR1hjZkJFbWVZak9PejAzWXFRUVRJS2t1U2tmc0lvOE1tUzA0b05PWWhQdndTNnFOWHJPTW1WemQ3ZXZyZE5ndGEiLCJtYWMiOiI5NDQxMmYzY2ViYmU1OTJlMjAzODM4NjMzODkxNTYyMGViNjY0ZjlmN2UxYjIzYzQ4MWU1OTYyNjFmNWEwZmE1IiwidGFnIjoiIn0%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:21:59 GMT
endpoints.key: Content-Type
endpoints.headers: text/html; charset=utf-8
endpoints.key: CF-RAY
endpoints.headers: 98c71c517afde213-ORD
endpoints.html_tags: <title>Redirecting to https://coolify.nrdhosting.com/login</title> <meta charset="UTF-8" /> <meta http-equiv="refresh" content="0;url='https://coolify.nrdhosting.com/login'" />
endpoints.body: <!DOCTYPE html>
  <html>
      <head>
          <meta charset="UTF-8" />
          <meta http-equiv="refresh" content="0;url='https://coolify.nrdhosting.com/login'" />
  
          <title>Redirecting to https://coolify.nrdhosting.com/login</title>
      </head>
      <body>
          Redirecting to <a href="https://coolify.nrdhosting.com/login">https://coolify.nrdhosting.com/login</a>.
      </body>
  </html>
endpoints.html_title: Redirecting to https://coolify.nrdhosting.com/login
endpoints.supported_versions: HTTP/1.1
endpoints.banner: HTTP/1.1 302 Found
  Date:  <REDACTED>
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  alt-svc: h3=":443"; ma=86400
  Cache-Control: no-cache, private
  location: https://coolify.nrdhosting.com/login
  Server: cloudflare
  Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
  cf-cache-status: DYNAMIC
  Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=oGhk43YZ1o2mylsKTKylO2bDGOYKxoY9QVH0XW89sVutboDeSmCoHyQ9RGuvCWul1Tb92ToNGXj0z5Ym586Kl5bO%2BrWNhQqtero7DQAwrGXkSM1y"}]}
  Set-Cookie: XSRF-TOKEN=eyJpdiI6IkdsTnJMUjAra0lGejAzS2p3elo0Nmc9PSIsInZhbHVlIjoiQW5meUhvQ0RYYmRidEFZVkt1N2RYb3JOM0M4MnpscXBzVjVhREw1dWtXTlArMTRkczhpaEhsUTc1T3FmODdXRHB6bGZFVS9vLy9lbGxwdUY2QkEvdEhseTREN2VQcGpCK0ZmZFNRTUx6Q1J0dHJPMXg3cnRzR0psOHZVaUlPRjciLCJtYWMiOiJiOGUwMzBkZTRiZDI2ZTg4ZjYyYjczM2NiMWNhN2UzMjBlOGVmMjhjZDAwMTZkZTFiZDk3MDVjZjM2ZDhhNjk4IiwidGFnIjoiIn0%3D; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:21:59 GMT
  Set-Cookie: coolify_session=eyJpdiI6IndEMDkwTzNTd1N6TUJnMFBacmF4cmc9PSIsInZhbHVlIjoiclkweFBlV1gzK256TjhiTWRkNWdTMFZ2TExCUDJTM3VaMEtGRmRDcjFZb2oyS1BHc1VOTXNNRzg1Z2FXWjBJR1hjZkJFbWVZak9PejAzWXFRUVRJS2t1U2tmc0lvOE1tUzA0b05PWWhQdndTNnFOWHJPTW1WemQ3ZXZyZE5ndGEiLCJtYWMiOiI5NDQxMmYzY2ViYmU1OTJlMjAzODM4NjMzODkxNTYyMGViNjY0ZjlmN2UxYjIzYzQ4MWU1OTYyNjFmNWEwZmE1IiwidGFnIjoiIn0%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:21:59 GMT
  CF-RAY: 98c71c517afde213-ORD
  
endpoints.ip: 104.21.94.159
endpoints.path: /login
endpoints.endpoint_type: HTTP
endpoints.scan_time: 2025-10-10T15:22:10.364549
endpoints.uri: https://coolify.nrdhosting.com/login
endpoints.protocol: HTTP/1.1
endpoints.status_reason: OK
endpoints.key: Nel
endpoints.headers: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
endpoints.key: Date
endpoints.headers: <REDACTED>
endpoints.key: alt-svc
endpoints.headers: h3=":443"; ma=86400
endpoints.key: Content-Encoding
endpoints.headers: gzip
endpoints.key: Server
endpoints.headers: cloudflare
endpoints.key: Report-To
endpoints.headers: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NsmmuX3exJqV%2FowkWkbq8QOEuNdG28j%2BjkqSs4ZcA7jwdDlweJBERDhql3CXnzfLYdo7tX0wjsyAoLL0ig6LypkVQZKtX2xNSwhT5AT1R6alcnRVZIo%3D"}]}
endpoints.key: cf-cache-status
endpoints.headers: DYNAMIC
endpoints.key: Content-Type
endpoints.headers: text/html; charset=UTF-8
endpoints.key: Connection
endpoints.headers: keep-alive
endpoints.key: CF-RAY
endpoints.headers: 98c71c974c9fcc3a-ORD
endpoints.key: Cache-Control
endpoints.headers: no-cache, private
endpoints.key: Set-Cookie
endpoints.headers: XSRF-TOKEN=eyJpdiI6ImxYcFE5cXF1Qmd6L3hYYllvMzBWYUE9PSIsInZhbHVlIjoiMlFZY1B0K3ZSSWlLQnNHOWxtYUFpeG15QTY3Wk5nRVVLaEs2NVhwRnl4clUzOW9PQTZ3bnFITXlPTHI5NGhQYTJ5Vzk2SGJ0Y3R6K3MrRDJKb3pZaXBDSmRFM0U2Rmg5bkxJbklMaU42a3N5SEVrZnBuT0FtVWI3cWRQOWlKL08iLCJtYWMiOiJiMGQ5ZDc0NjdmZGVkNTEzZjEzMGUxYWRiYjU2NzBlYWI5NTI3MDk3MTA1ZWE0ZWI4ZGRmNGQ4NDk1OWNmOTc0IiwidGFnIjoiIn0%3D; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:22:10 GMT coolify_session=eyJpdiI6IkFwVVFpdFdkSjdsNmpnY3VvaGkzeFE9PSIsInZhbHVlIjoieHkrbjlzY3dIK05DdEhnZGxXaG9rQWlRdm0yVGNwZmJiTnN1WGY1WmJCcFhjWElHUVFQNTRKYkp6ZGdwS1U0MWR0T0pDMWRhRW9NTzhGOUJVVWpTNVdqNUtJQ2tGUUxnZy9aWG11SE9GR3pxaFNqdkVaajJlTFJPNFJsZVhVTEgiLCJtYWMiOiJlMDk4MGM0NzU0ODdiODI2MmNhOGEzMDY0OTFiMGI2YjVkZTMzYTlkNjExM2E4YzY3NGYyNzYxODIyZTdkZjc0IiwidGFnIjoiIn0%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:22:10 GMT
endpoints.key: Transfer-Encoding
endpoints.headers: chunked
endpoints.html_tags: <title>Coolify</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="robots" content="noindex"> <meta name="theme-color" content="#ffffff" /> <meta name="Description" content="Coolify: An open-source & self-hostable Heroku / Netlify / Vercel alternative" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@coolifyio" /> <meta name="twitter:title" content="Coolify" /> <meta name="twitter:description" content="An open-source & self-hostable Heroku / Netlify / Vercel alternative." /> <meta name="twitter:image" content="https://cdn.coollabs.io/assets/coolify/og-image.png" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://coolify.io" /> <meta property="og:title" content="Coolify" /> <meta property="og:description" content="An open-source & self-hostable Heroku / Netlify / Vercel alternative." /> <meta property="og:site_name" content="Coolify" /> <meta property="og:image" content="https://cdn.coollabs.io/assets/coolify/og-image.png" /> <meta name="csrf-token" content="bM4D7rHJMq7zHOphgh0L1nkIwLt1FAmrPmpKPYHt">
endpoints.body: <!DOCTYPE html>
  <html data-theme="dark" lang="en">
  
  <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <meta name="robots" content="noindex">
      <meta name="theme-color" content="#ffffff" />
      <meta name="Description" content="Coolify: An open-source & self-hostable Heroku / Netlify / Vercel alternative" />
      <meta name="viewport" content="width=device-width,initial-scale=1" />
      <meta name="twitter:card" content="summary_large_image" />
      <meta name="twitter:site" content="@coolifyio" />
      <meta name="twitter:title" content="Coolify" />
      <meta name="twitter:description" content="An open-source & self-hostable Heroku / Netlify / Vercel alternative." />
      <meta name="twitter:image" content="https://cdn.coollabs.io/assets/coolify/og-image.png" />
      <meta property="og:type" content="website" />
      <meta property="og:url" content="https://coolify.io" />
      <meta property="og:title" content="Coolify" />
      <meta property="og:description" content="An open-source & self-hostable Heroku / Netlify / Vercel alternative." />
      <meta property="og:site_name" content="Coolify" />
      <meta property="og:image" content="https://cdn.coollabs.io/assets/coolify/og-image.png" />
              <title>Coolify</title>
              <link rel="icon" href="https://coolify.nrdhosting.com/coolify-logo.svg" type="image/svg+xml" />
          <meta name="csrf-token" content="bM4D7rHJMq7zHOphgh0L1nkIwLt1FAmrPmpKPYHt">
      <link rel="preload" as="style" href="https://coolify.nrdhosting.com/build/assets/app-DYP7pi_n.css" /><link rel="preload" as="style" href="https://coolify.nrdhosting.com/build/assets/app-BlHkmPn0.css" /><link rel="modulepreload" as="script" href="https://coolify.nrdhosting.com/build/assets/app-D-1bbRg3.js" /><link rel="stylesheet" href="https://coolify.nrdhosting.com/build/assets/app-DYP7pi_n.css" data-navigate-track="reload" /><link rel="stylesheet" href="https://coolify.nrdhosting.com/build/assets/app-BlHkmPn0.css" data-navigate-track="reload" /><script type="module" src="https://coolify.nrdhosting.com/build/assets/app-D-1bbRg3.js" data-navigate-track="reload"></script>    <style>
          [x-cloak] {
              display: none !important;
          }
      </style>
          </head>
      <script src="/livewire/livewire.min.js?id=df3a17f2"   data-csrf="bM4D7rHJMq7zHOphgh0L1nkIwLt1FAmrPmpKPYHt" data-update-uri="/livewire/update" data-navigate-once="true"></script>
      <main class="h-full bg-gray-50 dark:bg-base">
          <section class="bg-gray-50 dark:bg-base">
          <div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0">
              <a class="flex items-center mb-6 text-5xl font-extrabold tracking-tight text-gray-900 dark:text-white">
                  Coolify
              </a>
              <div class="w-full bg-white shadow-sm md:mt-0 sm:max-w-md xl:p-0 dark:bg-base ">
                                  <div class="p-6 space-y-4 md:space-y-3 sm:p-8">
                      <form action="/login" method="POST" class="flex flex-col gap-2">
                          <input type="hidden" name="_token" value="bM4D7rHJMq7zHOphgh0L1nkIwLt1FAmrPmpKPYHt" autocomplete="off">                                                <div class="w-full">
              <label class="flex gap-1 items-center mb-1 text-sm font-medium">Email
                              <span class="text-helper">*</span>
                                  </label>
                  <input autocomplete="email"             class="input" required              wire:model=rssk0ggsksc0k00kk4k80sc0             wire:dirty.class.remove='dark:focus:ring-coolgray-300 dark:ring-coolgray-300'
              wire:dirty.class="dark:focus:ring-warning dark:ring-warning" wire:loading.attr="disabled"
              type="email"  min=""
              max="" minlength=""
              maxlength=""
               id=rssk0ggsksc0k00kk4k80sc0  name="email"
              placeholder=""
              >
              </div>
                          <div class="w-full">
              <label class="flex gap-1 items-center mb-1 text-sm font-medium">Password
                              <span class="text-helper">*</span>
                                  </label>
                  <div class="relative" x-data="{ type: 'password' }">
                              <div x-on:click="changePasswordFieldType"
                      class="flex absolute inset-y-0 right-0 items-center pr-2 cursor-pointer dark:hover:text-white">
                      <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" viewBox="0 0 24 24" stroke-width="1.5"
                          stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
                          <path stroke="none" d="M0 0h24v24H0z" fill="none" />
                          <path d="M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0" />
                          <path d="M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6" />
                      </svg>
                  </div>
                          <input autocomplete="current-password" value=""
                  class="input  pr-[2.8rem]" required                 wire:model=k040o08ogowk008cgc4ks88c                 wire:dirty.class.remove='dark:focus:ring-coolgray-300 dark:ring-coolgray-300'
                  wire:dirty.class="dark:focus:ring-warning dark:ring-warning" wire:loading.attr="disabled"
                  type="password"   id="k040o08ogowk008cgc4ks88c"
                  name="password" placeholder=""
                  aria-placeholder=""
                  >
  
          </div>
              </div>
                          <a href="/forgot-password" class="text-xs">
                              Forgot password?
                          </a>
                          
                          <button  class="button mt-4" type="submit"
      type="submit" class="mt-4"
          >
  
      Login
                  </button>
  
                                                                              <div class="text-center text-neutral-500">Registration is disabled. Please contact the administrator.</div>
                                                                      </form>
                                                                              </div>
              </div>
          </div>
      </section>
      </main>
      
      <body>
          <div x-data="{
      title: 'Default Toast Notification',
      description: '',
      type: 'default',
      expanded: false,
      popToast(custom) {
          let html = '';
          if (typeof custom != 'undefined') {
              html = window.sanitizeHTML(custom);
          }
          toast(this.title, { description: this.description, type: this.type, position: this.position, html: html })
      }
  }" x-init="window.toast = function(message, options = {}) {
      try {
          let description = '';
          let type = 'default';
          let position = 'top-center';
          let html = '';
          if (typeof options.description != 'undefined') description = options.description;
          if (typeof options.type != 'undefined') type = options.type;
          if (typeof options.position != 'undefined') position = options.position;
          if (typeof options.html != 'undefined') html = options.html;
  
          window.dispatchEvent(new CustomEvent('toast-show', { detail: { type: type, message: message, description: description, position: position, html: html } }));
      } catch (error) {
          console.error('Error showing toast:', error);
      }
  }" class="relative space-y-5">
      <template x-teleport="body">
          <ul x-data="{
              toasts: [],
              toastsHovered: false,
              timeout: null,
              expanded: false,
              layout: 'default',
              position: '',
              paddingBetweenToasts: 15,
              deleteToastWithId(id) {
                  for (let i = 0; i < this.toasts.length; i++) {
                      if (this.toasts[i].id === id) {
                          this.toasts.splice(i, 1);
                          break;
                      }
                  }
              },
              burnToast(id) {
                  burnToast = this.getToastWithId(id);
                  burnToastElement = document.getElementById(burnToast.id);
                  if (burnToastElement) {
                      if (this.toasts.length == 1) {
                          if (this.layout == 'default') {
                              this.expanded = false;
                          }
                          burnToastElement.classList.remove('translate-y-0');
                          if (this.position.includes('bottom')) {
                              burnToastElement.classList.add('translate-y-full');
                          } else {
                              burnToastElement.classList.add('-translate-y-full');
                          }
                          burnToastElement.classList.add('-translate-y-full');
                      }
                      burnToastElement.classList.add('opacity-0');
                      let that = this;
                      setTimeout(function() {
                          that.deleteToastWithId(id);
                          setTimeout(function() {
                              that.stackToasts();
                          }, 1)
                      }, 300);
                  }
              },
              getToastWithId(id) {
                  for (let i = 0; i < this.toasts.length; i++) {
                      if (this.toasts[i].id === id) {
                          return this.toasts[i];
                      }
                  }
              },
              stackToasts() {
                  this.positionToasts();
                  this.calculateHeightOfToastsContainer();
                  let that = this;
                  setTimeout(function() {
                      that.calculateHeightOfToastsContainer();
                  }, 300);
              },
              positionToasts() {
                  if (this.toasts.length == 0) return;
                  let topToast = document.getElementById(this.toasts[0].id);
                  topToast.style.zIndex = 100;
                  if (this.expanded) {
                      if (this.position.includes('bottom')) {
                          topToast.style.top = 'auto';
                          topToast.style.bottom = '0px';
                      } else {
                          topToast.style.top = '0px';
                      }
                  }
          
                  let bottomPositionOfFirstToast = this.getBottomPositionOfElement(topToast);
          
                  if (this.toasts.length == 1) return;
                  let middleToast = document.getElementById(this.toasts[1].id);
                  middleToast.style.zIndex = 90;
          
                  if (this.expanded) {
                      middleToastPosition = topToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts + 'px';
          
                      if (this.position.includes('bottom')) {
                          middleToast.style.top = 'auto';
                          middleToast.style.bottom = middleToastPosition;
                      } else {
                          middleToast.style.top = middleToastPosition;
                      }
          
                      middleToast.style.scale = '100%';
                      middleToast.style.transform = 'translateY(0px)';
          
                  } else {
                      middleToast.style.scale = '94%';
                      if (this.position.includes('bottom')) {
                          middleToast.style.transform = 'translateY(-16px)';
                      } else {
                          this.alignBottom(topToast, middleToast);
                          middleToast.style.transform = 'translateY(16px)';
                      }
                  }
          
          
                  if (this.toasts.length == 2) return;
                  let bottomToast = document.getElementById(this.toasts[2].id);
                  bottomToast.style.zIndex = 80;
                  if (this.expanded) {
                      bottomToastPosition = topToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts +
                          middleToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts + 'px';
          
                      if (this.position.includes('bottom')) {
                          bottomToast.style.top = 'auto';
                          bottomToast.style.bottom = bottomToastPosition;
                      } else {
                          bottomToast.style.top = bottomToastPosition;
                      }
          
                      bottomToast.style.scale = '100%';
                      bottomToast.style.transform = 'translateY(0px)';
                  } else {
                      bottomToast.style.scale = '88%';
                      if (this.position.includes('bottom')) {
                          bottomToast.style.transform = 'translateY(-32px)';
                      } else {
                          this.alignBottom(topToast, bottomToast);
                          bottomToast.style.transform = 'translateY(32px)';
                      }
                  }
          
          
          
                  if (this.toasts.length == 3) return;
                  let burnToast = document.getElementById(this.toasts[3].id);
                  burnToast.style.zIndex = 70;
                  if (this.expanded) {
                      burnToastPosition = topToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts +
                          middleToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts +
                          bottomToast.getBoundingClientRect().height +
                          this.paddingBetweenToasts + 'px';
          
                      if (this.position.includes('bottom')) {
                          burnToast.style.top = 'auto';
                          burnToast.style.bottom = burnToastPosition;
                      } else {
                          burnToast.style.top = burnToastPosition;
                      }
          
                      burnToast.style.scale = '100%';
                      burnToast.style.transform = 'translateY(0px)';
                  } else {
                      burnToast.style.scale = '82%';
                      this.alignBottom(topToast, burnToast);
                      burnToast.style.transform = 'translateY(48px)';
                  }
          
                  burnToast.firstElementChild.classList.remove('opacity-100');
                  burnToast.firstElementChild.classList.add('opacity-0');
          
                  let that = this;
                  // Burn 🔥 (remove) last toast
                  setTimeout(function() {
                      that.toasts.pop();
                  }, 300);
          
                  if (this.position.includes('bottom')) {
                      middleToast.style.top = 'auto';
                  }
          
                  return;
              },
              alignBottom(element1, element2) {
                  // Get the top position and height of the first element
                  let top1 = element1.offsetTop;
                  let height1 = element1.offsetHeight;
          
                  // Get the height of the second element
                  let height2 = element2.offsetHeight;
          
                  // Calculate the top position for the second element
                  let top2 = top1 + (height1 - height2);
          
                  // Apply the calculated top position to the second element
                  element2.style.top = top2 + 'px';
              },
              alignTop(element1, element2) {
                  // Get the top position of the first element
                  let top1 = element1.offsetTop;
          
                  // Apply the same top position to the second element
                  element2.style.top = top1 + 'px';
              },
              resetBottom() {
                  for (let i = 0; i < this.toasts.length; i++) {
                      if (document.getElementById(this.toasts[i].id)) {
                          let toastElement = document.getElementById(this.toasts[i].id);
                          toastElement.style.bottom = '0px';
                      }
                  }
              },
              resetTop() {
                  for (let i = 0; i < this.toasts.length; i++) {
                      if (document.getElementById(this.toasts[i].id)) {
                          let toastElement = document.getElementById(this.toasts[i].id);
                          toastElement.style.top = '0px';
                      }
                  }
              },
              getBottomPositionOfElement(el) {
                  return (el.getBoundingClientRect().height + el.getBoundingClientRect().top);
              },
              calculateHeightOfToastsContainer() {
                  if (this.toasts.length == 0) {
                      $el.style.height = '0px';
                      return;
                  }
          
                  lastToast = this.toasts[this.toasts.length - 1];
                  lastToastRectangle = document.getElementById(lastToast.id).getBoundingClientRect();
          
                  firstToast = this.toasts[0];
                  firstToastRectangle = document.getElementById(firstToast.id).getBoundingClientRect();
          
                  if (this.toastsHovered) {
                      if (this.position.includes('bottom')) {
                          $el.style.height = ((firstToastRectangle.top + firstToastRectangle.height) - lastToastRectangle.top) + 'px';
                      } else {
                          $el.style.height = ((lastToastRectangle.top + lastToastRectangle.height) - firstToastRectangle.top) + 'px';
                      }
                  } else {
                      $el.style.height = firstToastRectangle.height + 'px';
                  }
              }
          }"
              @set-toasts-layout.window="
                  layout=event.detail.layout;
                  if(layout == 'expanded'){
                      expanded=true;
                  } else {
                      expanded=false;
                  }
                  stackToasts();
              "
              @toast-show.window="
                  event.stopPropagation();
                  if(event.detail.position){
                      position = event.detail.position;
                  }
                  // Sanitize HTML content to prevent XSS
                  let sanitizedHtml = event.detail.html ? window.sanitizeHTML(event.detail.html) : '';
                  
                  toasts.unshift({
                      id: 'toast-' + Math.random().toString(16).slice(2),
                      show: false,
                      message: event.detail.message,
                      description: event.detail.description,
                      type: event.detail.type,
                      html: sanitizedHtml
                  });
              "
              @mouseenter="toastsHovered=true;" @mouseleave="toastsHovered=false" x-init="if (layout == 'expanded') {
                  expanded = true;
              }
              stackToasts();
              $watch('toastsHovered', function(value) {
                  if (layout == 'default') {
                      if (position.includes('bottom')) {
                          resetBottom();
                      } else {
                          resetTop();
                      }
                      if (value) {
                          // calculate the new positions
                          expanded = true;
                          if (layout == 'default') {
                              stackToasts();
                          }
                      } else {
                          if (layout == 'default') {
                              expanded = false;
                              //setTimeout(function(){
                              stackToasts();
                              //}, 10);
                              setTimeout(function() {
                                  stackToasts();
                              }, 10)
                          }
                      }
                  }
              });"
              class="fixed block w-full group z-9999 sm:max-w-xs"
              :class="{ 'right-0 top-0 sm:mt-6 sm:mr-6': position=='top-right', 'left-0 top-0 sm:mt-6 sm:ml-6': position=='top-left', 'left-1/2 -translate-x-1/2 top-0 sm:mt-6': position=='top-center', 'right-0 bottom-0 sm:mr-6 sm:mb-6': position=='bottom-right', 'left-0 bottom-0 sm:ml-6 sm:mb-6': position=='bottom-left', 'left-1/2 -translate-x-1/2 bottom-0 sm:mb-6': position=='bottom-center' }"
              x-cloak>
  
              <template x-for="(toast, index) in toasts" :key="toast.id">
                  <li :id="toast.id" x-data="{
                      toastHovered: false,
                      copyNotification: false,
                      copyToClipboard() {
                          navigator.clipboard.writeText(toast.description);
                          this.copyNotification = true;
                          let that = this;
                          setTimeout(function() {
                              that.copyNotification = false;
                          }, 1000);
                      }
                  }" x-init="if (position.includes('bottom')) {
                      $el.firstElementChild.classList.add('toast-bottom');
                      $el.firstElementChild.classList.add('opacity-0', 'translate-y-full');
                  } else {
                      $el.firstElementChild.classList.add('opacity-0', '-translate-y-full');
                  }
                  $watch('toastsHovered', function(value) {
                      if (value && this.timeout) {
                          clearTimeout(this.timeout);
                      } else {
                          this.timeout = setTimeout(function() {
                              setTimeout(function() {
                                  $el.firstElementChild.classList.remove('opacity-100');
                                  $el.firstElementChild.classList.add('opacity-0');
                                  if (toasts.length == 1) {
                                      $el.firstElementChild.classList.remove('translate-y-0');
                                      $el.firstElementChild.classList.add('-translate-y-full');
                                  }
                                  setTimeout(function() {
                                      deleteToastWithId(toast.id)
                                  }, 300);
                              }, 5);
                          }, 2000)
                      }
                  });
                  
                  setTimeout(function() {
                  
                      setTimeout(function() {
                          if (position.includes('bottom')) {
                              $el.firstElementChild.classList.remove('opacity-0', 'translate-y-full');
                          } else {
                              $el.firstElementChild.classList.remove('opacity-0', '-translate-y-full');
                          }
                          $el.firstElementChild.classList.add('opacity-100', 'translate-y-0');
                  
                          setTimeout(function() {
                              stackToasts();
                          }, 10);
                      }, 5);
                  }, 50);
                  
                  this.timeout = setTimeout(function() {
                      setTimeout(function() {
                          $el.firstElementChild.classList.remove('opacity-100');
                          $el.firstElementChild.classList.add('opacity-0');
                          if (toasts.length == 1) {
                              $el.firstElementChild.classList.remove('translate-y-0');
                              $el.firstElementChild.classList.add('-translate-y-full');
                          }
                          setTimeout(function() {
                              deleteToastWithId(toast.id)
                          }, 300);
                      }, 5);
                  }, 4000);"
                      @mouseover="toastHovered=true" @mouseout="toastHovered=false"
                      class="absolute w-full duration-100 ease-out sm:max-w-xs "
                      :class="{ 'toast-no-description': !toast.description }">
                      <span
                          class="relative flex flex-col items-start shadow-[0_5px_15px_-3px_rgb(0_0_0_/_0.08)] w-full transition-all duration-100 ease-out dark:bg-coolgray-100 bg-white dark:border dark:border-coolgray-200 rounded-sm sm:max-w-xs group"
                          :class="{ 'p-4': !toast.html, 'p-0': toast.html }">
                          <template x-if="!toast.html">
                              <div class="relative w-full">
                                  <div class="flex items-center"
                                      :class="{ 'text-green-500': toast.type=='success', 'text-blue-500': toast.type=='info', 'text-orange-400': toast.type=='warning', 'text-red-500': toast.type=='danger', 'text-gray-800': toast.type=='default' }">
  
                                      <svg x-show="toast.type=='success'" class="w-[18px] h-[18px] mr-1.5 -ml-1 flex-shrink-0"
                                          viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                          <path fill-rule="evenodd" clip-rule="evenodd"
                                              d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM16.7744 9.63269C17.1238 9.20501 17.0604 8.57503 16.6327 8.22559C16.2051 7.87615 15.5751 7.93957 15.2256 8.36725L10.6321 13.9892L8.65936 12.2524C8.24484 11.8874 7.61295 11.9276 7.248 12.3421C6.88304 12.7566 6.92322 13.3885 7.33774 13.7535L9.31046 15.4903C10.1612 16.2393 11.4637 16.1324 12.1808 15.2547L16.7744 9.63269Z"
                                              fill="currentColor"></path>
                                      </svg>
                                      <svg x-show="toast.type=='info'" class="w-[18px] h-[18px] mr-1.5 -ml-1 flex-shrink-0"
                                          viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                          <path fill-rule="evenodd" clip-rule="evenodd"
                                              d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM12 9C12.5523 9 13 8.55228 13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9ZM13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16V12Z"
                                              fill="currentColor"></path>
                                      </svg>
                                      <svg x-show="toast.type=='warning'" class="w-[18px] h-[18px] mr-1.5 -ml-1 flex-shrink-0"
                                          viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                          <path fill-rule="evenodd" clip-rule="evenodd"
                                              d="M9.44829 4.46472C10.5836 2.51208 13.4105 2.51168 14.5464 4.46401L21.5988 16.5855C22.7423 18.5509 21.3145 21 19.05 21L4.94967 21C2.68547 21 1.25762 18.5516 2.4004 16.5862L9.44829 4.46472ZM11.9995 8C12.5518 8 12.9995 8.44772 12.9995 9V13C12.9995 13.5523 12.5518 14 11.9995 14C11.4473 14 10.9995 13.5523 10.9995 13V9C10.9995 8.44772 11.4473 8 11.9995 8ZM12.0009 15.99C11.4486 15.9892 11.0003 16.4363 10.9995 16.9886L10.9995 16.9986C10.9987 17.5509 11.4458 17.9992 11.9981 18C12.5504 18.0008 12.9987 17.5537 12.9995 17.0014L12.9995 16.9914C13.0003 16.4391 12.5532 15.9908 12.0009 15.99Z"
                                              fill="currentColor"></path>
                                      </svg>
                                      <svg x-show="toast.type=='danger'" class="w-[18px] h-[18px] mr-1.5 -ml-1 flex-shrink-0"
                                          viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                                          <path fill-rule="evenodd" clip-rule="evenodd"
                                              d="M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM11.9996 7C12.5519 7 12.9996 7.44772 12.9996 8V12C12.9996 12.5523 12.5519 13 11.9996 13C11.4474 13 10.9996 12.5523 10.9996 12V8C10.9996 7.44772 11.4474 7 11.9996 7ZM12.001 14.99C11.4488 14.9892 11.0004 15.4363 10.9997 15.9886L10.9996 15.9986C10.9989 16.5509 11.446 16.9992 11.9982 17C12.5505 17.0008 12.9989 16.5537 12.9996 16.0014L12.9996 15.9914C13.0004 15.4391 12.5533 14.9908 12.001 14.99Z"
                                              fill="currentColor"></path>
                                      </svg>
                                      <p class="text-black leading-2 dark:text-neutral-200" x-text="toast.message">
                                      </p>
                                  </div>
                                  <div x-show="toast.description" :class="{ 'pl-5': toast.type!='default' }"
                                      class="mt-1.5 text-xs px-2 opacity-90 whitespace-pre-wrap w-full break-words"
                                      x-html="window.sanitizeHTML(toast.description)"></div>
                              </div>
                          </template>
                          <template x-if="toast.html">
                              <div x-html="window.sanitizeHTML(toast.html)"></div>
                          </template>
                          <span class="absolute mt-1 text-xs right-[4.4rem] text-success font-bold"
                              x-show="copyNotification"
                              :class="{
                                  'opacity-100': toastHovered,
                                  'opacity-0': !
                                      toastHovered
                              }">
                              Copied
                          </span>
                          <span @click="copyToClipboard()"
                              class="absolute right-7 p-1.5 mr-2.5 text-neutral-700 hover:text-neutral-900 dark:text-neutral-400 hover:bg-neutral-300  duration-100 ease-in-out rounded-full opacity-0 cursor-pointer dark:hover:bg-coolgray-400 dark:hover:text-neutral-300"
                              :class="{
                                  'top-1/2 -translate-y-1/2': !toast.description && !toast.html,
                                  'top-0 mt-3': (toast
                                      .description || toast.html),
                                  'opacity-100': toastHovered,
                                  'opacity-0': !
                                      toastHovered
                              }">
  
                              <svg class="w-4 h-4 stroke-current" xmlns="http://www.w3.org/2000/svg" fill="none"
                                  viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
                                  <path stroke-linecap="round" stroke-linejoin="round"
                                      d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z" />
                              </svg>
                          </span>
                          <span @click="burnToast(toast.id)"
                              class="absolute right-0 p-1.5 mr-2.5 text-neutral-700 hover:text-neutral-900 dark:text-neutral-400 duration-100 ease-in-out rounded-full opacity-0 cursor-pointer hover:bg-neutral-300 dark:hover:bg-coolgray-400 dark:hover:text-neutral-300"
                              :class="{
                                  'top-1/2 -translate-y-1/2': !toast.description && !toast.html,
                                  'top-0 mt-3.5': (toast
                                      .description || toast.html),
                                  'opacity-100': toastHovered,
                                  'opacity-0': !
                                      toastHovered
                              }">
                              <svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20"
                                  xmlns="http://www.w3.org/2000/svg">
                                  <path fill-rule="evenodd"
                                      d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
                                      clip-rule="evenodd"></path>
                              </svg>
                          </span>
                      </span>
                  </li>
              </template>
          </ul>
      </template>
  </div>
          <script data-navigate-once>
              // Global HTML sanitization function using DOMPurify
              window.sanitizeHTML = function(html) {
                  if (!html) return '';
                  const URL_RE = /^(https?:|mailto:)/i;
                  const config = {
                      ALLOWED_TAGS: ['a', 'b', 'br', 'code', 'del', 'div', 'em', 'i', 'p', 'pre', 's', 'span', 'strong',
                          'u'
                      ],
                      ALLOWED_ATTR: ['class', 'href', 'target', 'title', 'rel'],
                      ALLOW_DATA_ATTR: false,
                      FORBID_TAGS: ['script', 'object', 'embed', 'applet', 'iframe', 'form', 'input', 'button', 'select',
                          'textarea', 'details', 'summary', 'dialog', 'style'
                      ],
                      FORBID_ATTR: ['onerror', 'onload', 'onclick', 'onmouseover', 'onfocus', 'onblur', 'onchange',
                          'onsubmit', 'ontoggle', 'style'
                      ],
                      KEEP_CONTENT: true,
                      RETURN_DOM: false,
                      RETURN_DOM_FRAGMENT: false,
                      SANITIZE_DOM: true,
                      SANITIZE_NAMED_PROPS: true,
                      SAFE_FOR_TEMPLATES: true,
                      ALLOWED_URI_REGEXP: URL_RE
                  };
  
                  // One-time hook registration (idempotent pattern)
                  if (!window.__dpLinkHook) {
                      DOMPurify.addHook('afterSanitizeAttributes', node => {
                          // Remove Alpine.js directives to prevent XSS
                          if (node.hasAttributes && node.hasAttributes()) {
                              const attrs = Array.from(node.attributes);
                              attrs.forEach(attr => {
                                  // Remove x-* attributes (Alpine directives)
                                  if (attr.name.startsWith('x-')) {
                                      node.removeAttribute(attr.name);
                                  }
                                  // Remove @* attributes (Alpine event shorthand)
                                  if (attr.name.startsWith('@')) {
                                      node.removeAttribute(attr.name);
                                  }
                                  // Remove :* attributes (Alpine binding shorthand)
                                  if (attr.name.startsWith(':')) {
                                      node.removeAttribute(attr.name);
                                  }
                              });
                          }
                          
                          // Existing link sanitization
                          if (node.nodeName === 'A' && node.hasAttribute('href')) {
                              const href = node.getAttribute('href') || '';
                              if (!URL_RE.test(href)) node.removeAttribute('href');
                              if (node.getAttribute('target') === '_blank') {
                                  node.setAttribute('rel', 'noopener noreferrer');
                              }
                          }
                      });
                      window.__dpLinkHook = true;
                  }
                  return DOMPurify.sanitize(html, config);
              };
  
              if (!('theme' in localStorage)) {
                  localStorage.theme = 'dark';
                  document.documentElement.classList.add('dark')
              } else if (localStorage.theme === 'dark') {
                  document.documentElement.classList.add('dark')
              } else if (localStorage.theme === 'light') {
                  document.documentElement.classList.remove('dark')
              } else {
                  if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
                      document.documentElement.classList.add('dark')
                  } else {
                      document.documentElement.classList.remove('dark')
                  }
              }
              let theme = localStorage.theme
              let cpuColor = '#1e90ff'
              let ramColor = '#00ced1'
              let textColor = '#ffffff'
              let editorBackground = '#181818'
              let editorTheme = 'blackboard'
  
              function checkTheme() {
                  theme = localStorage.theme
                  if (theme == 'system') {
                      theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
                  }
                  if (theme == 'dark') {
                      cpuColor = '#1e90ff'
                      ramColor = '#00ced1'
                      textColor = '#ffffff'
                      editorBackground = '#181818'
                      editorTheme = 'blackboard'
                  } else {
                      cpuColor = '#1e90ff'
                      ramColor = '#00ced1'
                      textColor = '#000000'
                      editorBackground = '#ffffff'
                      editorTheme = null
                  }
              }
                          let checkHealthInterval = null;
              let checkIfIamDeadInterval = null;
  
              function changePasswordFieldType(event) {
                  let element = event.target
                  for (let i = 0; i < 10; i++) {
                      if (element.className === "relative") {
                          break;
                      }
                      element = element.parentElement;
                  }
                  element = element.children[1];
                  if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
                      if (element.type === 'password') {
                          element.type = 'text';
                          if (element.disabled) return;
                          element.classList.add('truncate');
                          this.type = 'text';
                      } else {
                          element.type = 'password';
                          if (element.disabled) return;
                          element.classList.remove('truncate');
                          this.type = 'password';
                      }
                  }
              }
  
              function copyToClipboard(text) {
                  navigator?.clipboard?.writeText(text) && window.Livewire.dispatch('success', 'Copied to clipboard.');
              }
              document.addEventListener('livewire:init', () => {
                  window.Livewire.on('reloadWindow', (timeout) => {
                      if (timeout) {
                          setTimeout(() => {
                              window.location.reload();
                          }, timeout);
                          return;
                      } else {
                          window.location.reload();
                      }
                  })
                  window.Livewire.on('info', (message) => {
                      if (typeof message === 'string') {
                          window.toast('Info', {
                              type: 'info',
                              description: message,
                          })
                          return;
                      }
                      if (message.length == 1) {
                          window.toast('Info', {
                              type: 'info',
                              description: message[0],
                          })
                      } else if (message.length == 2) {
                          window.toast(message[0], {
                              type: 'info',
                              description: message[1],
                          })
                      }
                  })
                  window.Livewire.on('error', (message) => {
                      if (typeof message === 'string') {
                          window.toast('Error', {
                              type: 'danger',
                              description: message,
                          })
                          return;
                      }
                      if (message.length == 1) {
                          window.toast('Error', {
                              type: 'danger',
                              description: message[0],
                          })
                      } else if (message.length == 2) {
                          window.toast(message[0], {
                              type: 'danger',
                              description: message[1],
                          })
                      }
                  })
                  window.Livewire.on('warning', (message) => {
                      if (typeof message === 'string') {
                          window.toast('Warning', {
                              type: 'warning',
                              description: message,
                          })
                          return;
                      }
                      if (message.length == 1) {
                          window.toast('Warning', {
                              type: 'warning',
                              description: message[0],
                          })
                      } else if (message.length == 2) {
                          window.toast(message[0], {
                              type: 'warning',
                              description: message[1],
                          })
                      }
                  })
                  window.Livewire.on('success', (message) => {
                      if (typeof message === 'string') {
                          window.toast('Success', {
                              type: 'success',
                              description: message,
                          })
                          return;
                      }
                      if (message.length == 1) {
                          window.toast('Success', {
                              type: 'success',
                              description: message[0],
                          })
                      } else if (message.length == 2) {
                          window.toast(message[0], {
                              type: 'success',
                              description: message[1],
                          })
                      }
                  })
              });
          </script>
      </body>
  
  </html>
  
endpoints.name: https://coolify.nrdhosting.com/coolify-logo.svg
endpoints.name: https://coolify.nrdhosting.com/favicon.ico
endpoints.html_title: Coolify
endpoints.supported_versions: HTTP/1.1
endpoints.banner: HTTP/1.1 200 OK
  Date:  <REDACTED>
  Content-Type: text/html; charset=UTF-8
  Transfer-Encoding: chunked
  Connection: keep-alive
  alt-svc: h3=":443"; ma=86400
  Cache-Control: no-cache, private
  Server: cloudflare
  Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
  cf-cache-status: DYNAMIC
  Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NsmmuX3exJqV%2FowkWkbq8QOEuNdG28j%2BjkqSs4ZcA7jwdDlweJBERDhql3CXnzfLYdo7tX0wjsyAoLL0ig6LypkVQZKtX2xNSwhT5AT1R6alcnRVZIo%3D"}]}
  Content-Encoding: gzip
  Set-Cookie: XSRF-TOKEN=eyJpdiI6ImxYcFE5cXF1Qmd6L3hYYllvMzBWYUE9PSIsInZhbHVlIjoiMlFZY1B0K3ZSSWlLQnNHOWxtYUFpeG15QTY3Wk5nRVVLaEs2NVhwRnl4clUzOW9PQTZ3bnFITXlPTHI5NGhQYTJ5Vzk2SGJ0Y3R6K3MrRDJKb3pZaXBDSmRFM0U2Rmg5bkxJbklMaU42a3N5SEVrZnBuT0FtVWI3cWRQOWlKL08iLCJtYWMiOiJiMGQ5ZDc0NjdmZGVkNTEzZjEzMGUxYWRiYjU2NzBlYWI5NTI3MDk3MTA1ZWE0ZWI4ZGRmNGQ4NDk1OWNmOTc0IiwidGFnIjoiIn0%3D; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:22:10 GMT
  Set-Cookie: coolify_session=eyJpdiI6IkFwVVFpdFdkSjdsNmpnY3VvaGkzeFE9PSIsInZhbHVlIjoieHkrbjlzY3dIK05DdEhnZGxXaG9rQWlRdm0yVGNwZmJiTnN1WGY1WmJCcFhjWElHUVFQNTRKYkp6ZGdwS1U0MWR0T0pDMWRhRW9NTzhGOUJVVWpTNVdqNUtJQ2tGUUxnZy9aWG11SE9GR3pxaFNqdkVaajJlTFJPNFJsZVhVTEgiLCJtYWMiOiJlMDk4MGM0NzU0ODdiODI2MmNhOGEzMDY0OTFiMGI2YjVkZTMzYTlkNjExM2E4YzY3NGYyNzYxODIyZTdkZjc0IiwidGFnIjoiIn0%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=604800; Expires=Fri, 17 Oct 2025 15:22:10 GMT
  CF-RAY: 98c71c974c9fcc3a-ORD
  
endpoints.ip: 104.21.94.159
[binary data, 12 values, 334 bytes]