2025-05-17 08:31:15 -06:00

6790 lines
142 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use.">
<meta name="author" content="Bunker Ops">
<link rel="canonical" href="http://docs.bnkops.org/archive/repo.archive/Website%20Manuals%20%F0%9F%A4%93/Budibase%20-%20Form%20Builder%20%26%20Database/">
<link rel="prev" href="../../Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Stack/">
<link rel="next" href="../Cloudflare%20Guide/">
<link rel="icon" href="../../../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.14">
<title>Budibase - Form Builder & Database - BNKops Documentation & Repository</title>
<link rel="stylesheet" href="../../../../assets/stylesheets/main.342714a4.min.css">
<link rel="stylesheet" href="../../../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../../../stylesheets/extra.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="../../../../stylesheets/extra-cm-archive.css">
<link rel="stylesheet" href="../../../../stylesheets/home.css">
<script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<meta property="og:type" content="website" >
<meta property="og:title" content="Budibase - Form Builder & Database - BNKops Documentation & Repository" >
<meta property="og:description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use." >
<meta property="og:image" content="http://docs.bnkops.org/assets/images/social/archive/repo.archive/Website Manuals 🤓/Budibase - Form Builder & Database.png" >
<meta property="og:image:type" content="image/png" >
<meta property="og:image:width" content="1200" >
<meta property="og:image:height" content="630" >
<meta property="og:url" content="http://docs.bnkops.org/archive/repo.archive/Website%20Manuals%20%F0%9F%A4%93/Budibase%20-%20Form%20Builder%20%26%20Database/" >
<meta name="twitter:card" content="summary_large_image" >
<meta name="twitter:title" content="Budibase - Form Builder & Database - BNKops Documentation & Repository" >
<meta name="twitter:description" content="Documentation for The Bunker Operations, a community-driven project focused on creating a self-hosted, open-source platform for personal and community use." >
<meta name="twitter:image" content="http://docs.bnkops.org/assets/images/social/archive/repo.archive/Website Manuals 🤓/Budibase - Form Builder & Database.png" >
</head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="deep-purple" data-md-color-accent="amber">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#budibase-installation-and-public-deployment-manual-with-cloudflared-tunnel" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
<aside class="md-banner">
<div class="md-banner__inner md-grid md-typeset">
<a href="https://homepage.bnkops.com" class="login-button">Login</a>
<a href="https://bnkops.com" class="login-button">Lander</a>
New website! Heck yeah!
</div>
</aside>
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../../.." title="BNKops Documentation &amp; Repository" class="md-header__button md-logo" aria-label="BNKops Documentation & Repository" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
BNKops Documentation & Repository
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Budibase - Form Builder & Database
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../../../cm/" class="md-tabs__link">
Changemaker
</a>
</li>
<li class="md-tabs__item">
<a href="../../../../blog/" class="md-tabs__link">
Blog
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../../../" class="md-tabs__link">
Archive
</a>
</li>
<li class="md-tabs__item">
<a href="../../../../notes/" class="md-tabs__link">
Quick Note
</a>
</li>
<li class="md-tabs__item">
<a href="https://answer.bnkops.com/" class="md-tabs__link">
Q&A
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../../.." title="BNKops Documentation &amp; Repository" class="md-nav__button md-logo" aria-label="BNKops Documentation & Repository" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
BNKops Documentation & Repository
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../.." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
<div class="md-nav__link md-nav__container">
<a href="../../../../cm/" class="md-nav__link ">
<span class="md-ellipsis">
Changemaker
</span>
</a>
<label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Changemaker
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../cm/readme/" class="md-nav__link">
<span class="md-ellipsis">
Get Started
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
<div class="md-nav__link md-nav__container">
<a href="../../../../cm/apps/" class="md-nav__link ">
<span class="md-ellipsis">
Applications
</span>
</a>
<label class="md-nav__link " for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_3">
<span class="md-nav__icon md-icon"></span>
Applications
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../cm/apps/homepage/" class="md-nav__link">
<span class="md-ellipsis">
Homepage Dashboard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/code-server/" class="md-nav__link">
<span class="md-ellipsis">
Code Server
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/flatnotes/" class="md-nav__link">
<span class="md-ellipsis">
Flatnotes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/nocodb/" class="md-nav__link">
<span class="md-ellipsis">
NocoDB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/mkdocs-material/" class="md-nav__link">
<span class="md-ellipsis">
MkDocs Material
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/excalidraw/" class="md-nav__link">
<span class="md-ellipsis">
Excalidraw
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/gitea/" class="md-nav__link">
<span class="md-ellipsis">
Gitea
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/openwebui/" class="md-nav__link">
<span class="md-ellipsis">
OpenWebUI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/monica-crm/" class="md-nav__link">
<span class="md-ellipsis">
Monica CRM
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/answer/" class="md-nav__link">
<span class="md-ellipsis">
Answer
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/ferdium/" class="md-nav__link">
<span class="md-ellipsis">
Ferdium
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/rocketchat/" class="md-nav__link">
<span class="md-ellipsis">
Rocket.Chat
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/portainer/" class="md-nav__link">
<span class="md-ellipsis">
Portainer (Docker UI)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/apps/n8n/" class="md-nav__link">
<span class="md-ellipsis">
n8n (Workflow Automation)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
<div class="md-nav__link md-nav__container">
<a href="../../../../cm/guides/" class="md-nav__link ">
<span class="md-ellipsis">
Guides
</span>
</a>
<label class="md-nav__link " for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2_4">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../cm/guides/authoring-content/" class="md-nav__link">
<span class="md-ellipsis">
Authoring Content
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/guides/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../../cm/guides/ollama-vscode/" class="md-nav__link">
<span class="md-ellipsis">
Using Ollama in VS Code
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../../quick-commands/" class="md-nav__link">
<span class="md-ellipsis">
Quick Commands
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../../blog/" class="md-nav__link">
<span class="md-ellipsis">
Blog
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<div class="md-nav__link md-nav__container">
<a href="../../../" class="md-nav__link ">
<span class="md-ellipsis">
Archive
</span>
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" >
<div class="md-nav__link md-nav__container">
<a href="../../../cm.archive/" class="md-nav__link ">
<span class="md-ellipsis">
Change Maker Archive
</span>
</a>
<label class="md-nav__link " for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Change Maker Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../cm.archive/Why%20Change%20Maker/" class="md-nav__link">
<span class="md-ellipsis">
Why Change Maker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/Feature%20Tracking/" class="md-nav__link">
<span class="md-ellipsis">
Feature Tracking
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/Free%28ish%29/" class="md-nav__link">
<span class="md-ellipsis">
Free(ish)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/Who%20is%20bnkops/" class="md-nav__link">
<span class="md-ellipsis">
Who is bnkops
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/known%20bugs/" class="md-nav__link">
<span class="md-ellipsis">
Known Bugs
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2_7" >
<div class="md-nav__link md-nav__container">
<a href="../../../cm.archive/manuals/" class="md-nav__link ">
<span class="md-ellipsis">
Install & Manuals
</span>
</a>
<label class="md-nav__link " for="__nav_4_2_7" id="__nav_4_2_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_2_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2_7">
<span class="md-nav__icon md-icon"></span>
Install & Manuals
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/prerequisites/" class="md-nav__link">
<span class="md-ellipsis">
Prerequisites
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Installation/" class="md-nav__link">
<span class="md-ellipsis">
Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Build%20Site/" class="md-nav__link">
<span class="md-ellipsis">
Reset & Build
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Backend%20%26%20Editor/" class="md-nav__link">
<span class="md-ellipsis">
Backend & Editor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Simple%20Markdown%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Simple Markdown Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/button/" class="md-nav__link">
<span class="md-ellipsis">
Simple Button
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Commands/" class="md-nav__link">
<span class="md-ellipsis">
Commands
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/obsidian/" class="md-nav__link">
<span class="md-ellipsis">
Use Obsidian as Site Editor
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Code%20Snippets/" class="md-nav__link">
<span class="md-ellipsis">
Code Snippets
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Customize%20Your%20Landing%20Page/" class="md-nav__link">
<span class="md-ellipsis">
Customize Your Landing Page
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/listmonk/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/NocoDB/" class="md-nav__link">
<span class="md-ellipsis">
NocoDB
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Examples/" class="md-nav__link">
<span class="md-ellipsis">
Example Political Apps
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/manuals/Get%20Site%20Online/" class="md-nav__link">
<span class="md-ellipsis">
Get Online
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2_8" >
<div class="md-nav__link md-nav__container">
<a href="../../../cm.archive/blog/" class="md-nav__link ">
<span class="md-ellipsis">
Blog
</span>
</a>
<label class="md-nav__link " for="__nav_4_2_8" id="__nav_4_2_8_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_2_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2_8">
<span class="md-nav__icon md-icon"></span>
Blog
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Admin%20Log/" class="md-nav__link">
<span class="md-ellipsis">
Admin Log
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Newsletter%201.0/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.0
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/The%20Revolution%20Will%20Not%20Get%20Likes/" class="md-nav__link">
<span class="md-ellipsis">
The Revolution Will Not Get Likes
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2_8_5" >
<label class="md-nav__link" for="__nav_4_2_8_5" id="__nav_4_2_8_5_label" tabindex="0">
<span class="md-ellipsis">
Updates
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_2_8_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2_8_5">
<span class="md-nav__icon md-icon"></span>
Updates
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%201/" class="md-nav__link">
<span class="md-ellipsis">
Update 1
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%202/" class="md-nav__link">
<span class="md-ellipsis">
Update 2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%203/" class="md-nav__link">
<span class="md-ellipsis">
Update 3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%204/" class="md-nav__link">
<span class="md-ellipsis">
Update 4
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%205/" class="md-nav__link">
<span class="md-ellipsis">
Update 5
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%206/" class="md-nav__link">
<span class="md-ellipsis">
Update 6
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/Update%207/" class="md-nav__link">
<span class="md-ellipsis">
Update 7
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../cm.archive/blog/posts/myfirst/" class="md-nav__link">
<span class="md-ellipsis">
My First
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://repo.bnkops.com/Home.html" class="md-nav__link">
<span class="md-ellipsis">
External Resources
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" checked>
<div class="md-nav__link md-nav__container">
<a href="../../" class="md-nav__link ">
<span class="md-ellipsis">
Repo Archive
</span>
</a>
<label class="md-nav__link " for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Repo Archive
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../How%20to%20Navigate%20the%20Repo%20%F0%9F%A4%94/" class="md-nav__link">
<span class="md-ellipsis">
Navigation Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../What%20is%20a%20Repo%20and%20Why%20Make%20One%20%F0%9F%92%AD%20%F0%9F%8D%84/" class="md-nav__link">
<span class="md-ellipsis">
What is a Repo
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_4" >
<label class="md-nav__link" for="__nav_4_3_4" id="__nav_4_3_4_label" tabindex="0">
<span class="md-ellipsis">
Admin Log
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_4">
<span class="md-nav__icon md-icon"></span>
Admin Log
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-16/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-16
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-20/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-20
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-23/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-23
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-24/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-24
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-26/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-26
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-09-27/" class="md-nav__link">
<span class="md-ellipsis">
2024-09-27
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-02/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-02
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-04/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-04
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-05/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-05
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-09/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-09
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-16/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-16
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-18/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-18
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/2024-10-21/" class="md-nav__link">
<span class="md-ellipsis">
2024-10-21
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_4_14" >
<label class="md-nav__link" for="__nav_4_3_4_14" id="__nav_4_3_4_14_label" tabindex="0">
<span class="md-ellipsis">
Newsletters
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_4_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_4_14">
<span class="md-nav__icon md-icon"></span>
Newsletters
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.0/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.0
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.1/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.1
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.2/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.3/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.3
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.4/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.4
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Admin%20Log%20%E2%8F%AD/Newsletter%201.5/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.5
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_5" >
<label class="md-nav__link" for="__nav_4_3_5" id="__nav_4_3_5_label" tabindex="0">
<span class="md-ellipsis">
Clippings
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_5">
<span class="md-nav__icon md-icon"></span>
Clippings
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Bot%20campaign%20backing%20Pierre%20Poilievre%20looks%20the%20work%20of%20an%20amateur%2C%20experts%20say%20%20CBC%20News/" class="md-nav__link">
<span class="md-ellipsis">
Bot campaign
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Bots%20on%20X%20worse%20than%20ever%20according%20to%20analysis%20of%201m%20tweets%20during%20first%20Republican%20primary%20debate/" class="md-nav__link">
<span class="md-ellipsis">
Bots on X
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/DO%20YOU%20KNOW%20MUSHROOMS%20CAN%20TALK%20TO%20EACH%20OTHER/" class="md-nav__link">
<span class="md-ellipsis">
Mushrooms Talk
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Elon%20Musk%20Fires%20Twitter%20Employees%20Who%20Criticized%20Him%20%28Published%202022%29/" class="md-nav__link">
<span class="md-ellipsis">
Elon Musk Fires Twitter Employees
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/NationBuilder%20-%20Wikipedia/" class="md-nav__link">
<span class="md-ellipsis">
NationBuilder
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Neo-Nazis%2C%20Antisemites%2C%20and%20the%20N-Word%20Twitter%20Just%20Hours%20Under%20Elon%20Musk/" class="md-nav__link">
<span class="md-ellipsis">
Neo-Nazis on Twitter
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Phone%20security%20for%20activists%20%20Activist%20Handbook/" class="md-nav__link">
<span class="md-ellipsis">
Phone Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Saudi%20infiltration%20of%20Twitter%20-%20Wikipedia/" class="md-nav__link">
<span class="md-ellipsis">
Saudi infiltration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/The%20majority%20of%20traffic%20from%20Elon%20Musk%27s%20X%20may%20have%20been%20fake%20during%20the%20Super%20Bowl%2C%20report%20suggests/" class="md-nav__link">
<span class="md-ellipsis">
X Fake Traffic
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/The%20right-wing%20lurch%20of%20X%20under%20Elon%20Musk/" class="md-nav__link">
<span class="md-ellipsis">
X Right-Wing Lurch
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/Under%20Elon%20Musk%2C%20Twitter%20has%20approved%2083%25%20of%20censorship%20requests%20by%20authoritarian%20governments/" class="md-nav__link">
<span class="md-ellipsis">
X Censorship
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/What%20Is%20Technofeudalism/" class="md-nav__link">
<span class="md-ellipsis">
Technofeudalism
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Clippings%20%E2%9C%82/amiskwaciy-w%C3%A2skahikan%20%28Edmonton%29%20History%20%20%E2%80%94%20Edmonton%20%26%20Area%20Land%20Trust/" class="md-nav__link">
<span class="md-ellipsis">
Edmonton History
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_6" >
<label class="md-nav__link" for="__nav_4_3_6" id="__nav_4_3_6_label" tabindex="0">
<span class="md-ellipsis">
Daisy AI
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_6">
<span class="md-nav__icon md-icon"></span>
Daisy AI
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Daisy%20AI%20%F0%9F%8C%BB/Daisy/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_6_2" >
<label class="md-nav__link" for="__nav_4_3_6_2" id="__nav_4_3_6_2_label" tabindex="0">
<span class="md-ellipsis">
Further Reading
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_6_2">
<span class="md-nav__icon md-icon"></span>
Further Reading
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/Bnkops%20Artificial%20Intelligence%20Thoughts%20%26%20Policies/" class="md-nav__link">
<span class="md-ellipsis">
AI Thoughts & Policies
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/How%20To%20Prompt/" class="md-nav__link">
<span class="md-ellipsis">
How To Prompt
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Daisy%20AI%20%F0%9F%8C%BB/Further%20Reading%20on%20AI/When%20A.I.%27s%20Output%20Is%20a%20Threat%20to%20A.I.%20Itself/" class="md-nav__link">
<span class="md-ellipsis">
AI Threats
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_7" >
<label class="md-nav__link" for="__nav_4_3_7" id="__nav_4_3_7_label" tabindex="0">
<span class="md-ellipsis">
Free Office Software
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_7">
<span class="md-nav__icon md-icon"></span>
Free Office Software
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/Newsletter%20%2B%20Database/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter + Database
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Bunker%20Ops%20Server%20Build-Out/" class="md-nav__link">
<span class="md-ellipsis">
Server Build-Out
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Stack/" class="md-nav__link">
<span class="md-ellipsis">
The Stack
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_8" checked>
<label class="md-nav__link" for="__nav_4_3_8" id="__nav_4_3_8_label" tabindex="0">
<span class="md-ellipsis">
Website Manuals
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_8_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4_3_8">
<span class="md-nav__icon md-icon"></span>
Website Manuals
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Budibase
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Budibase
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#budibase-installation-and-public-deployment-manual-with-cloudflared-tunnel" class="md-nav__link">
<span class="md-ellipsis">
Budibase Installation and Public Deployment Manual with Cloudflared Tunnel
</span>
</a>
<nav class="md-nav" aria-label="Budibase Installation and Public Deployment Manual with Cloudflared Tunnel">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#table-of-contents" class="md-nav__link">
<span class="md-ellipsis">
Table of Contents:
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#1-overview" class="md-nav__link">
<span class="md-ellipsis">
1. Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#2-requirements" class="md-nav__link">
<span class="md-ellipsis">
2. Requirements
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#3-installing-docker-and-docker-compose-on-ubuntu" class="md-nav__link">
<span class="md-ellipsis">
3. Installing Docker and Docker Compose on Ubuntu
</span>
</a>
<nav class="md-nav" aria-label="3. Installing Docker and Docker Compose on Ubuntu">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#31-install-docker" class="md-nav__link">
<span class="md-ellipsis">
3.1 Install Docker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#32-install-docker-compose" class="md-nav__link">
<span class="md-ellipsis">
3.2 Install Docker Compose
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#4-configuring-budibase-with-docker-compose" class="md-nav__link">
<span class="md-ellipsis">
4. Configuring Budibase with Docker Compose
</span>
</a>
<nav class="md-nav" aria-label="4. Configuring Budibase with Docker Compose">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#41-download-budibase-docker-compose-configuration-files" class="md-nav__link">
<span class="md-ellipsis">
4.1 Download Budibase Docker Compose Configuration Files
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#5-setting-up-cloudflare-tunnel-for-public-access" class="md-nav__link">
<span class="md-ellipsis">
5. Setting Up Cloudflare Tunnel for Public Access
</span>
</a>
<nav class="md-nav" aria-label="5. Setting Up Cloudflare Tunnel for Public Access">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#51-installing-cloudflared" class="md-nav__link">
<span class="md-ellipsis">
5.1 Installing Cloudflared
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#52-authenticating-cloudflared-with-cloudflare" class="md-nav__link">
<span class="md-ellipsis">
5.2 Authenticating Cloudflared with Cloudflare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#53-creating-the-cloudflare-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.3 Creating the Cloudflare Tunnel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#54-configuring-the-cloudflared-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.4 Configuring the Cloudflared Tunnel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#55-start-the-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.5 Start the Tunnel
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#6-cloudflare-ssl-configuration-and-https-for-secure-traffic" class="md-nav__link">
<span class="md-ellipsis">
6. Cloudflare SSL Configuration and HTTPS for Secure Traffic
</span>
</a>
<nav class="md-nav" aria-label="6. Cloudflare SSL Configuration and HTTPS for Secure Traffic">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#61-enable-https-in-cloudflare-dashboard" class="md-nav__link">
<span class="md-ellipsis">
6.1 Enable HTTPS in Cloudflare Dashboard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#62-optional-setup-origin-ssl-certificates" class="md-nav__link">
<span class="md-ellipsis">
6.2 [Optional] Setup Origin SSL Certificates
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#7-setting-up-network-proxies-for-budibase" class="md-nav__link">
<span class="md-ellipsis">
7. Setting Up Network Proxies for Budibase
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#8-outbound-allow-list-configuration" class="md-nav__link">
<span class="md-ellipsis">
8. Outbound Allow-list Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#9-complete-deployment-instructions" class="md-nav__link">
<span class="md-ellipsis">
9. Complete Deployment Instructions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#10-monitoring-and-future-management" class="md-nav__link">
<span class="md-ellipsis">
10. Monitoring and Future Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#11-helpful-commands-and-troubleshooting" class="md-nav__link">
<span class="md-ellipsis">
11. Helpful Commands and Troubleshooting
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../Cloudflare%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Cloudflare Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Customizing%20Your%20Listmonk%20Subscription%20Form/" class="md-nav__link">
<span class="md-ellipsis">
Listmonk Form
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../How%20to%20Add%20to%20the%20Repo/" class="md-nav__link">
<span class="md-ellipsis">
Add to Repo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../How%20to%20Replicate%20this%20Repo/" class="md-nav__link">
<span class="md-ellipsis">
Replicate Repo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Repo%20Live%20Generation/" class="md-nav__link">
<span class="md-ellipsis">
Repo Live Generation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Repo%20Theory/" class="md-nav__link">
<span class="md-ellipsis">
Repo Theory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Simple%20Markdown%20Manual/" class="md-nav__link">
<span class="md-ellipsis">
Markdown Manual
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Simple%20Target%20Manual/" class="md-nav__link">
<span class="md-ellipsis">
Target Manual
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Syntax%2C%20Embedding%2C%20HTML%2C%20and%20Other%20Code/" class="md-nav__link">
<span class="md-ellipsis">
Syntax & Code
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../Updated%20Website%20Install%20Guide/" class="md-nav__link">
<span class="md-ellipsis">
Website Install Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../bnkops%20Simple%20Targeter/" class="md-nav__link">
<span class="md-ellipsis">
Simple Targeter
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../note_test/" class="md-nav__link">
<span class="md-ellipsis">
Note Test
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_9" >
<label class="md-nav__link" for="__nav_4_3_9" id="__nav_4_3_9_label" tabindex="0">
<span class="md-ellipsis">
Zines We Like
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_9">
<span class="md-nav__icon md-icon"></span>
Zines We Like
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Bounty%20Hunters%20%26%20Child%20Predators/" class="md-nav__link">
<span class="md-ellipsis">
Bounty Hunters & Child Predators
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Defending%20The%20Camp/" class="md-nav__link">
<span class="md-ellipsis">
Defending The Camp
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Doxcare/" class="md-nav__link">
<span class="md-ellipsis">
Doxcare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Mobile%20Phone%20Security%20for%20Activists/" class="md-nav__link">
<span class="md-ellipsis">
Mobile Phone Security
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Security%20%26%20Counter-Surveillance/" class="md-nav__link">
<span class="md-ellipsis">
Security & Counter-Surveillance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Turn%20Off%20Your%20Phone/" class="md-nav__link">
<span class="md-ellipsis">
Turn Off Your Phone
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/What%20Is%20Security%20Culture%20%E2%98%A0/" class="md-nav__link">
<span class="md-ellipsis">
Security Culture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../Zines%20We%20Like%20%F0%9F%98%8E/Who%20Wrote%20That/" class="md-nav__link">
<span class="md-ellipsis">
Who Wrote That
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10" >
<label class="md-nav__link" for="__nav_4_3_10" id="__nav_4_3_10_label" tabindex="0">
<span class="md-ellipsis">
User Contributions
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_4_3_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10">
<span class="md-nav__icon md-icon"></span>
User Contributions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_1" >
<label class="md-nav__link" for="__nav_4_3_10_1" id="__nav_4_3_10_1_label" tabindex="0">
<span class="md-ellipsis">
indoctrinationmachine
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_10_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_1">
<span class="md-nav__icon md-icon"></span>
indoctrinationmachine
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../indoctrinationmachine/Hello%2C%20is%20it%20me%20you%27re%20looking%20foooooor%3F/" class="md-nav__link">
<span class="md-ellipsis">
Hello
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../indoctrinationmachine/My%20Sad%20Drive%20to%20Work/" class="md-nav__link">
<span class="md-ellipsis">
Sad Drive
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../indoctrinationmachine/The%20Revolution%20must%20center%20pleasure%20%28and%20other%20cool%20wallpapers%29/" class="md-nav__link">
<span class="md-ellipsis">
Revolution & Pleasure
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_2" >
<label class="md-nav__link" for="__nav_4_3_10_2" id="__nav_4_3_10_2_label" tabindex="0">
<span class="md-ellipsis">
mygenderdisdad
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_10_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_2">
<span class="md-nav__icon md-icon"></span>
mygenderdisdad
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../mygenderdisdad/mygenderisdad/organizing/" class="md-nav__link">
<span class="md-ellipsis">
organizing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../mygenderdisdad/mygenderisdad/prairie/" class="md-nav__link">
<span class="md-ellipsis">
prairie
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../mygenderdisdad/mygenderisdad/radical/" class="md-nav__link">
<span class="md-ellipsis">
radical
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../mygenderdisdad/mygenderisdad/school/" class="md-nav__link">
<span class="md-ellipsis">
school
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../mygenderdisdad/mygenderisdad/youth/" class="md-nav__link">
<span class="md-ellipsis">
youth
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_3" >
<label class="md-nav__link" for="__nav_4_3_10_3" id="__nav_4_3_10_3_label" tabindex="0">
<span class="md-ellipsis">
strategicallydum
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_10_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_3">
<span class="md-nav__icon md-icon"></span>
strategicallydum
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../strategicallydum/Resource%20%26%20Tools%20for%20Research/" class="md-nav__link">
<span class="md-ellipsis">
Research Tools
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../strategicallydum/What%20is%20Audience%20Research%3F/" class="md-nav__link">
<span class="md-ellipsis">
Audience Research
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../strategicallydum/Homelessness/Messaging%20Research%20Drop/" class="md-nav__link">
<span class="md-ellipsis">
Homelessness Research
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_4" >
<label class="md-nav__link" for="__nav_4_3_10_4" id="__nav_4_3_10_4_label" tabindex="0">
<span class="md-ellipsis">
thatreallyblondehuman
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_4_3_10_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_4">
<span class="md-nav__icon md-icon"></span>
thatreallyblondehuman
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Trans-human/" class="md-nav__link">
<span class="md-ellipsis">
Trans-human
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/stats/" class="md-nav__link">
<span class="md-ellipsis">
Stats
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/whomst/" class="md-nav__link">
<span class="md-ellipsis">
Whomst
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_4_4" >
<label class="md-nav__link" for="__nav_4_3_10_4_4" id="__nav_4_3_10_4_4_label" tabindex="0">
<span class="md-ellipsis">
Art
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_4_3_10_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_4_4">
<span class="md-nav__icon md-icon"></span>
Art
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Art/Creature%2C%20Drink/" class="md-nav__link">
<span class="md-ellipsis">
Creature Drink
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Art/Fuck%20Neo%20Nazi%27s/" class="md-nav__link">
<span class="md-ellipsis">
Neo Nazis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Art/Guillotine%20Special/" class="md-nav__link">
<span class="md-ellipsis">
Guillotine Special
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Art/They%20Who%20Act/" class="md-nav__link">
<span class="md-ellipsis">
They Who Act
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_4_5" >
<label class="md-nav__link" for="__nav_4_3_10_4_5" id="__nav_4_3_10_4_5_label" tabindex="0">
<span class="md-ellipsis">
Demos
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_4_3_10_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_4_5">
<span class="md-nav__icon md-icon"></span>
Demos
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Demos/Charli%20XCX%20Fan%20Site/" class="md-nav__link">
<span class="md-ellipsis">
Charli XCX Fan Site
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Demos/Generated%20Report/" class="md-nav__link">
<span class="md-ellipsis">
Generated Report
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Demos/Simple%20Target%20Testing/" class="md-nav__link">
<span class="md-ellipsis">
Simple Target Testing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Demos/Test%20Demo/" class="md-nav__link">
<span class="md-ellipsis">
Test Demo
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Demos/Workflow/" class="md-nav__link">
<span class="md-ellipsis">
Workflow
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_4_6" >
<label class="md-nav__link" for="__nav_4_3_10_4_6" id="__nav_4_3_10_4_6_label" tabindex="0">
<span class="md-ellipsis">
Pride Corner
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_4_3_10_4_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_4_6">
<span class="md-nav__icon md-icon"></span>
Pride Corner
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Pride%20Corner/Pride%20Corner%20-%20Preachers/" class="md-nav__link">
<span class="md-ellipsis">
Preachers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Pride%20Corner/Pride%20Corner%20History/" class="md-nav__link">
<span class="md-ellipsis">
History
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Pride%20Corner/Pride%20Corner/" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3_10_4_7" >
<label class="md-nav__link" for="__nav_4_3_10_4_7" id="__nav_4_3_10_4_7_label" tabindex="0">
<span class="md-ellipsis">
Thoughts
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_4_3_10_4_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3_10_4_7">
<span class="md-nav__icon md-icon"></span>
Thoughts
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Analyzing%20The%20Matrix/" class="md-nav__link">
<span class="md-ellipsis">
Matrix Analysis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Budgeting/" class="md-nav__link">
<span class="md-ellipsis">
Budgeting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Deep%20Diving%20-%20The%20Coming%20Age%20of%20Digital%20Connection/" class="md-nav__link">
<span class="md-ellipsis">
Digital Connection
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Distributed%20Digital%20Organizing%20is%20The%20Way%20Out/" class="md-nav__link">
<span class="md-ellipsis">
Digital Organizing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/First%20They%20Came%20For%20The%20Trannies/" class="md-nav__link">
<span class="md-ellipsis">
First They Came
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/How%20not%20to%20get%20got%20making%20content%20v2/" class="md-nav__link">
<span class="md-ellipsis">
Content Safety
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/If%20you%20do%20politics%20who%20is%20reading%20your%20secrets%20-%20why%20you%20should%20de-corp%20your%20software%20stack/" class="md-nav__link">
<span class="md-ellipsis">
De-corp Software
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Newsletter%201.7/" class="md-nav__link">
<span class="md-ellipsis">
Newsletter 1.7
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/The%20Revolution%20Will%20Not%20Get%20Likes/" class="md-nav__link">
<span class="md-ellipsis">
Revolution & Likes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/The%20Rise%20of%20Industrial%20Advocacy%20-%20Why%20You%20Should%20Quit%20Nationbuilder/" class="md-nav__link">
<span class="md-ellipsis">
Industrial Advocacy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/They%20Live%20Recut/" class="md-nav__link">
<span class="md-ellipsis">
They Live Recut
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Twitter%20is%20Dead%2C%20Long%20Live%20X%20---%20Why%20You%20Should%20Abandon%20X/" class="md-nav__link">
<span class="md-ellipsis">
Abandon X
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../thatreallyblondehuman/Thoughts%20%F0%9F%A4%94/Venus%20Wars/" class="md-nav__link">
<span class="md-ellipsis">
Venus Wars
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
<span class="md-ellipsis">
Apps
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Apps
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../../cm/apps/ollama/" class="md-nav__link">
<span class="md-ellipsis">
Ollama
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../../notes/" class="md-nav__link">
<span class="md-ellipsis">
Quick Note
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://answer.bnkops.com/" class="md-nav__link">
<span class="md-ellipsis">
Q&A
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#budibase-installation-and-public-deployment-manual-with-cloudflared-tunnel" class="md-nav__link">
<span class="md-ellipsis">
Budibase Installation and Public Deployment Manual with Cloudflared Tunnel
</span>
</a>
<nav class="md-nav" aria-label="Budibase Installation and Public Deployment Manual with Cloudflared Tunnel">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#table-of-contents" class="md-nav__link">
<span class="md-ellipsis">
Table of Contents:
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#1-overview" class="md-nav__link">
<span class="md-ellipsis">
1. Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#2-requirements" class="md-nav__link">
<span class="md-ellipsis">
2. Requirements
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#3-installing-docker-and-docker-compose-on-ubuntu" class="md-nav__link">
<span class="md-ellipsis">
3. Installing Docker and Docker Compose on Ubuntu
</span>
</a>
<nav class="md-nav" aria-label="3. Installing Docker and Docker Compose on Ubuntu">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#31-install-docker" class="md-nav__link">
<span class="md-ellipsis">
3.1 Install Docker
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#32-install-docker-compose" class="md-nav__link">
<span class="md-ellipsis">
3.2 Install Docker Compose
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#4-configuring-budibase-with-docker-compose" class="md-nav__link">
<span class="md-ellipsis">
4. Configuring Budibase with Docker Compose
</span>
</a>
<nav class="md-nav" aria-label="4. Configuring Budibase with Docker Compose">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#41-download-budibase-docker-compose-configuration-files" class="md-nav__link">
<span class="md-ellipsis">
4.1 Download Budibase Docker Compose Configuration Files
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#5-setting-up-cloudflare-tunnel-for-public-access" class="md-nav__link">
<span class="md-ellipsis">
5. Setting Up Cloudflare Tunnel for Public Access
</span>
</a>
<nav class="md-nav" aria-label="5. Setting Up Cloudflare Tunnel for Public Access">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#51-installing-cloudflared" class="md-nav__link">
<span class="md-ellipsis">
5.1 Installing Cloudflared
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#52-authenticating-cloudflared-with-cloudflare" class="md-nav__link">
<span class="md-ellipsis">
5.2 Authenticating Cloudflared with Cloudflare
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#53-creating-the-cloudflare-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.3 Creating the Cloudflare Tunnel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#54-configuring-the-cloudflared-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.4 Configuring the Cloudflared Tunnel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#55-start-the-tunnel" class="md-nav__link">
<span class="md-ellipsis">
5.5 Start the Tunnel
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#6-cloudflare-ssl-configuration-and-https-for-secure-traffic" class="md-nav__link">
<span class="md-ellipsis">
6. Cloudflare SSL Configuration and HTTPS for Secure Traffic
</span>
</a>
<nav class="md-nav" aria-label="6. Cloudflare SSL Configuration and HTTPS for Secure Traffic">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#61-enable-https-in-cloudflare-dashboard" class="md-nav__link">
<span class="md-ellipsis">
6.1 Enable HTTPS in Cloudflare Dashboard
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#62-optional-setup-origin-ssl-certificates" class="md-nav__link">
<span class="md-ellipsis">
6.2 [Optional] Setup Origin SSL Certificates
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#7-setting-up-network-proxies-for-budibase" class="md-nav__link">
<span class="md-ellipsis">
7. Setting Up Network Proxies for Budibase
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#8-outbound-allow-list-configuration" class="md-nav__link">
<span class="md-ellipsis">
8. Outbound Allow-list Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#9-complete-deployment-instructions" class="md-nav__link">
<span class="md-ellipsis">
9. Complete Deployment Instructions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#10-monitoring-and-future-management" class="md-nav__link">
<span class="md-ellipsis">
10. Monitoring and Future Management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#11-helpful-commands-and-troubleshooting" class="md-nav__link">
<span class="md-ellipsis">
11. Helpful Commands and Troubleshooting
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Budibase</h1>
<p>Budibase is shaping up to be out webapp development platform of choice! Learning as we go with it :)</p>
<h2 id="budibase-installation-and-public-deployment-manual-with-cloudflared-tunnel">Budibase Installation and Public Deployment Manual with Cloudflared Tunnel<a class="headerlink" href="#budibase-installation-and-public-deployment-manual-with-cloudflared-tunnel" title="Permanent link">&para;</a></h2>
<h3 id="table-of-contents">Table of Contents:<a class="headerlink" href="#table-of-contents" title="Permanent link">&para;</a></h3>
<ol>
<li>Overview</li>
<li>Requirements</li>
<li>Installing Docker and Docker Compose on Ubuntu</li>
<li>Configuring Budibase with Docker Compose</li>
<li>Setting Up Cloudflare Tunnel for Public Access</li>
<li>Cloudflare SSL Configuration and HTTPS for Secure Traffic</li>
<li>Setting Up Network Proxies for Budibase</li>
<li>Outbound Allow-list Configuration</li>
<li>Complete Deployment Instructions</li>
<li>Monitoring and Future Management</li>
<li>Helpful Commands and Troubleshooting</li>
</ol>
<hr />
<h3 id="1-overview">1. Overview<a class="headerlink" href="#1-overview" title="Permanent link">&para;</a></h3>
<p>This guide provides step-by-step instructions to install <strong>Budibase</strong> on an <strong>Ubuntu</strong> server and securely deploy it using a <strong>Cloudflare Tunnel</strong>. By following these instructions, Budibase will be available over the internet with a Cloudflare-proxied domain, secured by HTTPS, and configured to route traffic through an organizational HTTP/HTTPS proxy.</p>
<hr />
<h3 id="2-requirements">2. Requirements<a class="headerlink" href="#2-requirements" title="Permanent link">&para;</a></h3>
<p>Before we start, here is what you'll need:</p>
<ul>
<li>An Ubuntu (or other Linux) system with typical system requirements (Docker supported).</li>
<li>An internet connection.</li>
<li>A Cloudflare account (free-tier works fine).</li>
<li>Domain registered in Cloudflare (you will point your domain's DNS to Cloudflare).</li>
<li>A proxy (if you are using an organizational proxy for HTTP and HTTPS).</li>
</ul>
<hr />
<h3 id="3-installing-docker-and-docker-compose-on-ubuntu">3. Installing Docker and Docker Compose on Ubuntu<a class="headerlink" href="#3-installing-docker-and-docker-compose-on-ubuntu" title="Permanent link">&para;</a></h3>
<h4 id="31-install-docker">3.1 Install Docker<a class="headerlink" href="#31-install-docker" title="Permanent link">&para;</a></h4>
<p>Run the following commands to install Docker on your Ubuntu machine:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># Update the system packages.</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>sudo<span class="w"> </span>apt<span class="w"> </span>update
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="c1"># Install prerequisite packages.</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>apt-transport-https<span class="w"> </span>ca-certificates<span class="w"> </span>curl<span class="w"> </span>software-properties-common
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a><span class="c1"># Add Docker&#39;s official GPG key.</span>
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>curl<span class="w"> </span>-fsSL<span class="w"> </span>https://download.docker.com/linux/ubuntu/gpg<span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>gpg<span class="w"> </span>--dearmor<span class="w"> </span>-o<span class="w"> </span>/usr/share/keyrings/docker-archive-keyring.gpg
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a>
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="c1"># Set up the Docker stable repository.</span>
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="nb">echo</span><span class="w"> </span><span class="se">\</span>
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="w"> </span><span class="s2">&quot;deb [arch=</span><span class="k">$(</span>dpkg<span class="w"> </span>--print-architecture<span class="k">)</span><span class="s2"> signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \</span>
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a><span class="s2"> </span><span class="k">$(</span>lsb_release<span class="w"> </span>-cs<span class="k">)</span><span class="s2"> stable&quot;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>/etc/apt/sources.list.d/docker.list<span class="w"> </span>&gt;<span class="w"> </span>/dev/null
<a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a>
<a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a><span class="c1"># Install Docker.</span>
<a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>sudo<span class="w"> </span>apt<span class="w"> </span>update
<a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a>sudo<span class="w"> </span>apt<span class="w"> </span>install<span class="w"> </span>docker-ce<span class="w"> </span>docker-ce-cli<span class="w"> </span>containerd.io
</code></pre></div>
<p>Enable and start Docker:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>docker
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>sudo<span class="w"> </span>systemctl<span class="w"> </span>start<span class="w"> </span>docker
</code></pre></div>
<p>Verify Docker is successfully installed:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>docker<span class="w"> </span>--version
</code></pre></div>
<h4 id="32-install-docker-compose">3.2 Install Docker Compose<a class="headerlink" href="#32-install-docker-compose" title="Permanent link">&para;</a></h4>
<p>Install Docker Compose to manage multi-container Docker environments like Budibase:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>sudo<span class="w"> </span>curl<span class="w"> </span>-L<span class="w"> </span><span class="s2">&quot;https://github.com/docker/compose/releases/download/v</span><span class="k">$(</span>curl<span class="w"> </span>-s<span class="w"> </span>https://api.github.com/repos/docker/compose/releases/latest<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>-Po<span class="w"> </span><span class="s1">&#39;&quot;tag_name&quot;: &quot;\K[0-9.]+&#39;</span><span class="k">)</span><span class="s2">&quot;</span><span class="w"> </span>-o<span class="w"> </span>/usr/local/bin/docker-compose
<a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a>sudo<span class="w"> </span>chmod<span class="w"> </span>+x<span class="w"> </span>/usr/local/bin/docker-compose
<a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a>docker-compose<span class="w"> </span>--version
</code></pre></div>
<hr />
<h3 id="4-configuring-budibase-with-docker-compose">4. Configuring Budibase with Docker Compose<a class="headerlink" href="#4-configuring-budibase-with-docker-compose" title="Permanent link">&para;</a></h3>
<h4 id="41-download-budibase-docker-compose-configuration-files">4.1 Download Budibase Docker Compose Configuration Files<a class="headerlink" href="#41-download-budibase-docker-compose-configuration-files" title="Permanent link">&para;</a></h4>
<p>Start by creating a directory to store Budibase Docker Compose files:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>mkdir<span class="w"> </span>~/budibase<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/budibase
</code></pre></div>
<p>Create the <code>docker-compose.yml</code> file:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>nano<span class="w"> </span>docker-compose.yml
</code></pre></div>
<p>Paste the following content into this file:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;3&quot;</span>
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>
<a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="nt">services</span><span class="p">:</span>
<a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="w"> </span><span class="nt">app-service</span><span class="p">:</span>
<a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">budibase.docker.scarf.sh/budibase/apps</span>
<a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">bbapps</span>
<a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a><span class="w"> </span><span class="nt">SELF_HOSTED</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a><span class="w"> </span><span class="nt">COUCH_DB_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984</span>
<a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a><span class="w"> </span><span class="nt">WORKER_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://worker-service:4003</span>
<a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a><span class="w"> </span><span class="nt">MINIO_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://minio-service:9000</span>
<a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a><span class="w"> </span><span class="nt">MINIO_ACCESS_KEY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${MINIO_ACCESS_KEY}</span>
<a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a><span class="w"> </span><span class="nt">MINIO_SECRET_KEY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${MINIO_SECRET_KEY}</span>
<a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a><span class="w"> </span><span class="nt">INTERNAL_API_KEY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${INTERNAL_API_KEY}</span>
<a id="__codelineno-6-16" name="__codelineno-6-16" href="#__codelineno-6-16"></a><span class="w"> </span><span class="nt">BUDIBASE_ENVIRONMENT</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${BUDIBASE_ENVIRONMENT}</span>
<a id="__codelineno-6-17" name="__codelineno-6-17" href="#__codelineno-6-17"></a><span class="w"> </span><span class="nt">PORT</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4002</span>
<a id="__codelineno-6-18" name="__codelineno-6-18" href="#__codelineno-6-18"></a><span class="w"> </span><span class="nt">API_ENCRYPTION_KEY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${API_ENCRYPTION_KEY}</span>
<a id="__codelineno-6-19" name="__codelineno-6-19" href="#__codelineno-6-19"></a><span class="w"> </span><span class="nt">JWT_SECRET</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${JWT_SECRET}</span>
<a id="__codelineno-6-20" name="__codelineno-6-20" href="#__codelineno-6-20"></a><span class="w"> </span><span class="nt">REDIS_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis-service:6379</span>
<a id="__codelineno-6-21" name="__codelineno-6-21" href="#__codelineno-6-21"></a><span class="w"> </span><span class="nt">REDIS_PASSWORD</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${REDIS_PASSWORD}</span>
<a id="__codelineno-6-22" name="__codelineno-6-22" href="#__codelineno-6-22"></a><span class="w"> </span><span class="nt">BB_ADMIN_USER_EMAIL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${BB_ADMIN_USER_EMAIL}</span>
<a id="__codelineno-6-23" name="__codelineno-6-23" href="#__codelineno-6-23"></a><span class="w"> </span><span class="nt">BB_ADMIN_USER_PASSWORD</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${BB_ADMIN_USER_PASSWORD}</span>
<a id="__codelineno-6-24" name="__codelineno-6-24" href="#__codelineno-6-24"></a>
<a id="__codelineno-6-25" name="__codelineno-6-25" href="#__codelineno-6-25"></a><span class="w"> </span><span class="nt">worker-service</span><span class="p">:</span>
<a id="__codelineno-6-26" name="__codelineno-6-26" href="#__codelineno-6-26"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<a id="__codelineno-6-27" name="__codelineno-6-27" href="#__codelineno-6-27"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">budibase.docker.scarf.sh/budibase/worker</span>
<a id="__codelineno-6-28" name="__codelineno-6-28" href="#__codelineno-6-28"></a><span class="w"> </span><span class="nt">container_name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">bbworker</span>
<a id="__codelineno-6-29" name="__codelineno-6-29" href="#__codelineno-6-29"></a><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<a id="__codelineno-6-30" name="__codelineno-6-30" href="#__codelineno-6-30"></a><span class="w"> </span><span class="nt">SELF_HOSTED</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id="__codelineno-6-31" name="__codelineno-6-31" href="#__codelineno-6-31"></a><span class="w"> </span><span class="nt">PORT</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4003</span>
<a id="__codelineno-6-32" name="__codelineno-6-32" href="#__codelineno-6-32"></a><span class="w"> </span><span class="nt">MINIO_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://minio-service:9000</span>
<a id="__codelineno-6-33" name="__codelineno-6-33" href="#__codelineno-6-33"></a><span class="w"> </span><span class="nt">COUCH_DB_URL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984</span>
<a id="__codelineno-6-34" name="__codelineno-6-34" href="#__codelineno-6-34"></a>
<a id="__codelineno-6-35" name="__codelineno-6-35" href="#__codelineno-6-35"></a><span class="w"> </span><span class="nt">minio-service</span><span class="p">:</span>
<a id="__codelineno-6-36" name="__codelineno-6-36" href="#__codelineno-6-36"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<a id="__codelineno-6-37" name="__codelineno-6-37" href="#__codelineno-6-37"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">minio/minio</span>
<a id="__codelineno-6-38" name="__codelineno-6-38" href="#__codelineno-6-38"></a><span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<a id="__codelineno-6-39" name="__codelineno-6-39" href="#__codelineno-6-39"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">minio_data:/data</span>
<a id="__codelineno-6-40" name="__codelineno-6-40" href="#__codelineno-6-40"></a><span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">server /data --console-address &quot;:9001&quot;</span>
<a id="__codelineno-6-41" name="__codelineno-6-41" href="#__codelineno-6-41"></a>
<a id="__codelineno-6-42" name="__codelineno-6-42" href="#__codelineno-6-42"></a><span class="w"> </span><span class="nt">redis-service</span><span class="p">:</span>
<a id="__codelineno-6-43" name="__codelineno-6-43" href="#__codelineno-6-43"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<a id="__codelineno-6-44" name="__codelineno-6-44" href="#__codelineno-6-44"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis</span>
<a id="__codelineno-6-45" name="__codelineno-6-45" href="#__codelineno-6-45"></a><span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis-server --requirepass &quot;${REDIS_PASSWORD}&quot;</span>
<a id="__codelineno-6-46" name="__codelineno-6-46" href="#__codelineno-6-46"></a><span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<a id="__codelineno-6-47" name="__codelineno-6-47" href="#__codelineno-6-47"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis_data:/data</span>
<a id="__codelineno-6-48" name="__codelineno-6-48" href="#__codelineno-6-48"></a>
<a id="__codelineno-6-49" name="__codelineno-6-49" href="#__codelineno-6-49"></a><span class="w"> </span><span class="nt">couchdb-service</span><span class="p">:</span>
<a id="__codelineno-6-50" name="__codelineno-6-50" href="#__codelineno-6-50"></a><span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">unless-stopped</span>
<a id="__codelineno-6-51" name="__codelineno-6-51" href="#__codelineno-6-51"></a><span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">budibase/couchdb</span>
<a id="__codelineno-6-52" name="__codelineno-6-52" href="#__codelineno-6-52"></a><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<a id="__codelineno-6-53" name="__codelineno-6-53" href="#__codelineno-6-53"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}</span>
<a id="__codelineno-6-54" name="__codelineno-6-54" href="#__codelineno-6-54"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">COUCHDB_USER=${COUCH_DB_USER}</span>
<a id="__codelineno-6-55" name="__codelineno-6-55" href="#__codelineno-6-55"></a><span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<a id="__codelineno-6-56" name="__codelineno-6-56" href="#__codelineno-6-56"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">couchdb3_data:/opt/couchdb/data</span>
<a id="__codelineno-6-57" name="__codelineno-6-57" href="#__codelineno-6-57"></a>
<a id="__codelineno-6-58" name="__codelineno-6-58" href="#__codelineno-6-58"></a><span class="nt">volumes</span><span class="p">:</span>
<a id="__codelineno-6-59" name="__codelineno-6-59" href="#__codelineno-6-59"></a><span class="w"> </span><span class="nt">couchdb3_data</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{}</span>
<a id="__codelineno-6-60" name="__codelineno-6-60" href="#__codelineno-6-60"></a><span class="w"> </span><span class="nt">minio_data</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{}</span>
<a id="__codelineno-6-61" name="__codelineno-6-61" href="#__codelineno-6-61"></a><span class="w"> </span><span class="nt">redis_data</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">{}</span>
</code></pre></div>
<p>Create the <code>.env</code> file to store environment variables:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>nano<span class="w"> </span>.env
</code></pre></div>
<p>Paste the following values into the file:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="c1"># Port configuration</span>
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="nv">MAIN_PORT</span><span class="o">=</span><span class="m">10000</span>
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="c1"># Secrets (change these for security)</span>
<a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="nv">API_ENCRYPTION_KEY</span><span class="o">=</span>testsecret
<a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a><span class="nv">JWT_SECRET</span><span class="o">=</span>testsecret
<a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a><span class="nv">MINIO_ACCESS_KEY</span><span class="o">=</span>budibase
<a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a><span class="nv">MINIO_SECRET_KEY</span><span class="o">=</span>budibase
<a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a><span class="nv">COUCH_DB_PASSWORD</span><span class="o">=</span>budibase
<a id="__codelineno-8-10" name="__codelineno-8-10" href="#__codelineno-8-10"></a><span class="nv">COUCH_DB_USER</span><span class="o">=</span>budibase
<a id="__codelineno-8-11" name="__codelineno-8-11" href="#__codelineno-8-11"></a><span class="nv">REDIS_PASSWORD</span><span class="o">=</span>budibase
<a id="__codelineno-8-12" name="__codelineno-8-12" href="#__codelineno-8-12"></a><span class="nv">INTERNAL_API_KEY</span><span class="o">=</span>budibase
<a id="__codelineno-8-13" name="__codelineno-8-13" href="#__codelineno-8-13"></a>
<a id="__codelineno-8-14" name="__codelineno-8-14" href="#__codelineno-8-14"></a><span class="c1"># Optional Admin account</span>
<a id="__codelineno-8-15" name="__codelineno-8-15" href="#__codelineno-8-15"></a><span class="nv">BB_ADMIN_USER_EMAIL</span><span class="o">=</span>admin@example.com
<a id="__codelineno-8-16" name="__codelineno-8-16" href="#__codelineno-8-16"></a><span class="nv">BB_ADMIN_USER_PASSWORD</span><span class="o">=</span>admin
</code></pre></div>
<hr />
<h3 id="5-setting-up-cloudflare-tunnel-for-public-access">5. Setting Up Cloudflare Tunnel for Public Access<a class="headerlink" href="#5-setting-up-cloudflare-tunnel-for-public-access" title="Permanent link">&para;</a></h3>
<h4 id="51-installing-cloudflared">5.1 Installing Cloudflared<a class="headerlink" href="#51-installing-cloudflared" title="Permanent link">&para;</a></h4>
<p>To expose Budibase publicly while hiding your servers real IP address, use Cloudflare Tunnel. First, install the <code>cloudflared</code> utility.</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>-y<span class="w"> </span>curl
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>curl<span class="w"> </span>-fsSL<span class="w"> </span>https://pkg.cloudflare.com/gpg.pkg.cloudflare.com/gpg<span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>gpg<span class="w"> </span>--dearmor<span class="w"> </span>-o<span class="w"> </span>/usr/share/keyrings/cloudflare-tunnel-archive-keyring.gpg
<a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;deb [signed-by=/usr/share/keyrings/cloudflare-tunnel-archive-keyring.gpg] https://pkg.cloudflare.com/ </span><span class="k">$(</span>lsb_release<span class="w"> </span>-cs<span class="k">)</span><span class="s2"> main&quot;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>sudo<span class="w"> </span>tee<span class="w"> </span>/etc/apt/sources.list.d/cloudflared.list
<a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a>sudo<span class="w"> </span>apt-get<span class="w"> </span>update
<a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a>sudo<span class="w"> </span>apt-get<span class="w"> </span>install<span class="w"> </span>cloudflared
</code></pre></div>
<h4 id="52-authenticating-cloudflared-with-cloudflare">5.2 Authenticating Cloudflared with Cloudflare<a class="headerlink" href="#52-authenticating-cloudflared-with-cloudflare" title="Permanent link">&para;</a></h4>
<p>Run the following command to log into Cloudflare and authenticate the tunnel:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>login
</code></pre></div>
<h4 id="53-creating-the-cloudflare-tunnel">5.3 Creating the Cloudflare Tunnel<a class="headerlink" href="#53-creating-the-cloudflare-tunnel" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>create<span class="w"> </span>budibase-tunnel
</code></pre></div>
<p>Note the <strong>tunnel ID</strong> and <strong>name</strong> from the output—it is needed later.</p>
<h4 id="54-configuring-the-cloudflared-tunnel">5.4 Configuring the Cloudflared Tunnel<a class="headerlink" href="#54-configuring-the-cloudflared-tunnel" title="Permanent link">&para;</a></h4>
<p>Create the configuration for the tunnel to proxy traffic to Budibase:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>sudo<span class="w"> </span>mkdir<span class="w"> </span>-p<span class="w"> </span>/etc/cloudflared/
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a>sudo<span class="w"> </span>nano<span class="w"> </span>/etc/cloudflared/config.yml
</code></pre></div>
<p>Add the following lines:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="nt">tunnel</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">budibase-tunnel</span>
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="nt">credentials-file</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/etc/cloudflared/&lt;TUNNEL_ID&gt;.json</span>
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="nt">ingress</span><span class="p">:</span>
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">hostname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">your-subdomain.example.com</span>
<a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a><span class="w"> </span><span class="nt">service</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://localhost:10000</span>
<a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">service</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http_status:404</span>
</code></pre></div>
<p>Replace <code>&lt;TUNNEL_ID&gt;</code> with the tunnel ID from the previous step. Replace <code>your-subdomain.example.com</code> with your actual domain/subdomain.</p>
<h4 id="55-start-the-tunnel">5.5 Start the Tunnel<a class="headerlink" href="#55-start-the-tunnel" title="Permanent link">&para;</a></h4>
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>run<span class="w"> </span>budibase-tunnel
</code></pre></div>
<p>Optionally, install <strong>cloudflared</strong> as a service to ensure it runs automatically:</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>sudo<span class="w"> </span>cloudflared<span class="w"> </span>service<span class="w"> </span>install
</code></pre></div>
<hr />
<h3 id="6-cloudflare-ssl-configuration-and-https-for-secure-traffic">6. Cloudflare SSL Configuration and HTTPS for Secure Traffic<a class="headerlink" href="#6-cloudflare-ssl-configuration-and-https-for-secure-traffic" title="Permanent link">&para;</a></h3>
<h4 id="61-enable-https-in-cloudflare-dashboard">6.1 Enable HTTPS in Cloudflare Dashboard<a class="headerlink" href="#61-enable-https-in-cloudflare-dashboard" title="Permanent link">&para;</a></h4>
<ol>
<li>Go to <strong>SSL/TLS</strong> in your Cloudflare account.</li>
<li>Set the mode to <strong>Full</strong> or <strong>Full (Strict)</strong> (recommended for production).</li>
<li>Enable <strong>Always Use HTTPS</strong> to make sure all traffic is routed over HTTPS.</li>
</ol>
<h4 id="62-optional-setup-origin-ssl-certificates">6.2 [Optional] Setup Origin SSL Certificates<a class="headerlink" href="#62-optional-setup-origin-ssl-certificates" title="Permanent link">&para;</a></h4>
<p>To ensure secure traffic between Cloudflare and your server:</p>
<ol>
<li>Go to <strong>SSL/TLS</strong> &gt; <strong>Origin Server</strong>.</li>
<li>Click <strong>Create Certificate</strong>.</li>
<li>Copy the <strong>certificate</strong> and <strong>private key</strong> and install them on your server.</li>
</ol>
<hr />
<h3 id="7-setting-up-network-proxies-for-budibase">7. Setting Up Network Proxies for Budibase<a class="headerlink" href="#7-setting-up-network-proxies-for-budibase" title="Permanent link">&para;</a></h3>
<p>If your server is inside a restricted network where a proxy service is necessary, modify the environment settings to allow proxying for HTTP/HTTPS services:</p>
<ul>
<li>Modify Docker Compose as follows:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="nt">services</span><span class="p">:</span>
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="w"> </span><span class="nt">app-service</span><span class="p">:</span>
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="w"> </span><span class="nt">GLOBAL_AGENT_HTTP_PROXY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">http://your-proxy.net</span>
<a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a><span class="w"> </span><span class="nt">GLOBAL_AGENT_HTTPS_PROXY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">https://your-proxy.net</span>
<a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a><span class="w"> </span><span class="nt">GLOBAL_AGENT_NO_PROXY</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">couchdb-service,minio-service,localhost</span>
</code></pre></div>
<p>Update <strong>both</strong> <code>app-service</code> and <code>worker-service</code> to ensure traffic is routed through your proxy server.</p>
<hr />
<h3 id="8-outbound-allow-list-configuration">8. Outbound Allow-list Configuration<a class="headerlink" href="#8-outbound-allow-list-configuration" title="Permanent link">&para;</a></h3>
<p>Make sure your firewall or proxy settings allow outbound traffic to the following URLs for Budibase to function fully:</p>
<ul>
<li><code>https://cdn.jsdelivr.net</code></li>
<li><code>https://fonts.gstatic.com</code></li>
<li><code>https://rsms.me</code></li>
<li><code>https://maxcdn.bootstrapcdn.com</code></li>
<li><code>https://prod-budi-templates.s3-eu-west-1.amazonaws.com</code></li>
<li><code>https://account.budibase.app</code> (for license check if required).</li>
</ul>
<hr />
<h3 id="9-complete-deployment-instructions">9. Complete Deployment Instructions<a class="headerlink" href="#9-complete-deployment-instructions" title="Permanent link">&para;</a></h3>
<p>Now that everything is set up, you can start the deployment:</p>
<ol>
<li><strong>Start Docker Compose</strong>:</li>
</ol>
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<ol>
<li><strong>Check Cloudflare Tunnel</strong>:</li>
</ol>
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>info
</code></pre></div>
<ol>
<li>Visit your application in the browser at <code>https://your-subdomain.example.com</code>.</li>
</ol>
<hr />
<h3 id="10-monitoring-and-future-management">10. Monitoring and Future Management<a class="headerlink" href="#10-monitoring-and-future-management" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>Monitor Docker Logs</strong> to check the status of your Budibase services:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>docker-compose<span class="w"> </span>logs<span class="w"> </span>-f
</code></pre></div>
<ul>
<li><strong>Check the Status of the Tunnel</strong>:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>info
</code></pre></div>
<ul>
<li><strong>Stop or Restart the Budibase Deployment</strong>:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>docker-compose<span class="w"> </span>down
<a id="__codelineno-21-2" name="__codelineno-21-2" href="#__codelineno-21-2"></a>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<hr />
<h3 id="11-helpful-commands-and-troubleshooting">11. Helpful Commands and Troubleshooting<a class="headerlink" href="#11-helpful-commands-and-troubleshooting" title="Permanent link">&para;</a></h3>
<ul>
<li><strong>Restart Docker Containers</strong>:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>docker-compose<span class="w"> </span>down<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>docker-compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
<ul>
<li><strong>Edit Configuration</strong>:</li>
</ul>
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>nano<span class="w"> </span>docker-compose.yml
<a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a>nano<span class="w"> </span>.env
</code></pre></div>
<ul>
<li><strong>Debugging Issues</strong>:</li>
</ul>
<p>Check Docker logs for issues:
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>docker-compose<span class="w"> </span>logs
</code></pre></div></p>
<p>Check tunnel status and logs:
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>info
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a>cloudflared<span class="w"> </span>tunnel<span class="w"> </span>logs
</code></pre></div></p>
<hr />
<p>Congratulations! Following these steps, Budibase should now be securely running and available to the public through your Cloudflare-proxied hostname.</p>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../../Free%20Office%20Software%20Stack%20%F0%9F%A4%AF/The%20Stack/" class="md-footer__link md-footer__link--prev" aria-label="Previous: The Stack">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
Previous
</span>
<div class="md-ellipsis">
The Stack
</div>
</div>
</a>
<a href="../Cloudflare%20Guide/" class="md-footer__link md-footer__link--next" aria-label="Next: Cloudflare Guide">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Cloudflare Guide
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 The Bunker Operations - Built with Change Maker
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tracking", "navigation.indexes", "navigation.collapse", "navigation.path", "content.code.copy", "navigation.top", "navigation.tabs", "navigation.footer", "navigation.instant", "navigation.top"], "search": "../../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../../../assets/javascripts/bundle.13a4f30d.min.js"></script>
</body>
</html>