{"id":33,"date":"2025-11-15T19:14:52","date_gmt":"2025-11-15T19:14:52","guid":{"rendered":"https:\/\/dogriley.com\/?p=33"},"modified":"2025-11-17T18:44:49","modified_gmt":"2025-11-17T18:44:49","slug":"bonfire-part-two-bonfire","status":"publish","type":"post","link":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/","title":{"rendered":"bonfire &#8211; part two &#8211; bonfire"},"content":{"rendered":"\n<p id=\"block-b589514a-1477-4759-9db1-3c6d3b95e77c\">this is the second post about bonfire, the first one <a href=\"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-one-ubuntu\/\">bonfire &#8211; part one &#8211; ubuntu<\/a> focused on setting up and configuring the bare metal instance with required packages<\/p>\n\n\n\n<p id=\"block-347a1099-39ff-4d72-a589-acaedd5916eb\">for all of these instructions you will be logged into your host as user: bonfire<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-acab3fd7-293d-4583-818d-5f731d094954\">set up bonfire<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-1ad02bf7-f3b2-48d8-938e-b1faf33a4994\">clone and create environment<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>git clone --depth 1 https:\/\/github.com\/bonfire-networks\/bonfire-app.git bonfire &amp;&amp; cd bonfire\n\ngit checkout v1.0.0\n\nexport FLAVOUR=social MIX_ENV=prod WITH_DOCKER=no\n\necho 'eval \"$(mise activate bash)\"' >> ~\/.bashrc &amp;&amp; echo \"FLAVOUR=social\">> ~\/.bashrc &amp;&amp; echo \"MIX_ENV=prod\" >> ~\/.bashrc &amp;&amp; echo \"WITH_DOCKER=no\" >> ~\/.bashrc &amp;&amp; source ~\/.bashrc<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-03c24832-fbb0-4ca7-8b4e-6f8822a8db66\">remove alpine from .tool_versions and install mise tools<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>vi .tool_versions<br>#alpine  3.22.2<br><br>mise install<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-e411a2ec-5fc0-4a48-ac14-c0be3108a74b\">create base configuration<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>just config<br>just dep-clone-local bonfire_ui_common https:\/\/github.com\/bonfire-networks\/bonfire_ui_common<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-e411a2ec-5fc0-4a48-ac14-c0be3108a74b\">generate secrets<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>just secrets<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Note<\/strong>: in the part one you used two of the secrets that are generated, (postgres, meilisearch) you can go back and replace them if you want. note your .env file must agree on these values with each of the application configurations. So if you keep your originals be sure to use them in the next step.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-430ddefe-e9c6-4bae-b2a5-95509e1afec3\">edit the .env file<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>HOSTNAME=host.example.com<br>PUBLIC_PORT=443<br>POSTGRES_USER=bonfire_dbuser<br>WITH_DOCKER=no<br>SECRET_KEY_BASE=&lt;from just secrets&gt;<br>SIGNING_SALT=&lt;from just secrets&gt;<br>ENCRYPTION_SALT=&lt;from just secrets&gt;<br>ERLANG_COOKIE=&lt;from just secrets&gt;<br>POSTGRES_PASSWORD=&lt;password set in part 1&gt;<br>MEILI_MASTER_KEY=&lt;password set in part 1&gt;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-430ddefe-e9c6-4bae-b2a5-95509e1afec3\">set up mail, i used SMTP<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>MAIL_BACKEND=smtp<br>MAIL_SERVER=example.com<br>MAIL_PORT=465<br>MAIL_USER=admin@example.com<br>MAIL_PASSWORD=<br>MAIL_FROM=admin@example.com<br>MAIL_SSL=true<\/code><\/pre>\n\n\n\n<p id=\"block-430ddefe-e9c6-4bae-b2a5-95509e1afec3\">build the binaries<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>just setup-prod     # (4 prompts enter N)<br>just rei-build<br>rm _build\/prod\/rel\/bonfire\/bin\/bonfire<br>just update (ctl-o , enter ctl-x for to accept)<br>just rel-build<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading is-style-default\" id=\"block-430ddefe-e9c6-4bae-b2a5-95509e1afec3\" style=\"font-size:0rem\">test the app<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">test install<\/h4>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>just cmd _build\/prod\/rel\/bonfire\/bin\/bonfire start<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\" id=\"block-430ddefe-e9c6-4bae-b2a5-95509e1afec3\">If the system starts there will be a flurry of output to the console but it should settle down to a bunch of &#8216;oban&#8217; entries like this:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>19:00:05.589 &#91;info] &#91;source: \"oban\", duration: 2084, event: \"plugin:stop\", plugin: \"Oban.Plugins.Lifeline\", discarded_jobs: &#91;], rescued_jobs: &#91;]]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>19:00:05.629 &#91;info] &#91;source: \"oban\", duration: 1622, event: \"plugin:stop\", plugin: \"Oban.Plugins.Pruner\", pruned_count: 0]<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\">If you get a bunch of repeating red database errors it means the migrations didn&#8217;t get run and you should try re-building.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">initial signup<\/h3>\n\n\n\n<p class=\"has-medium-font-size\">you will want to connect to <strong>https:\/\/host.example.com\/signup<\/strong> and set up the first user. This user will be admin for the site.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>this is the second post about bonfire, the first one bonfire &#8211; part one &#8211; ubuntu focused on setting up and configuring the bare metal instance with required packages for all of these instructions you will be logged into your host as user: bonfire set up bonfire clone and create environment remove alpine from .tool_versions [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,11],"tags":[9,7,4,10,6,5,8],"class_list":["post-33","post","type-post","status-publish","format-standard","hentry","category-fediverse","category-software-installs","tag-24-04","tag-bare-metal","tag-bonfire","tag-bonfire-social","tag-fediverse","tag-open-source","tag-ubuntu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>bonfire - part two - bonfire - view from space<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"bonfire - part two - bonfire - view from space\" \/>\n<meta property=\"og:description\" content=\"this is the second post about bonfire, the first one bonfire &#8211; part one &#8211; ubuntu focused on setting up and configuring the bare metal instance with required packages for all of these instructions you will be logged into your host as user: bonfire set up bonfire clone and create environment remove alpine from .tool_versions [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/\" \/>\n<meta property=\"og:site_name\" content=\"view from space\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-15T19:14:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-17T18:44:49+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/#\\\/schema\\\/person\\\/b521a23aa1369902341761969ae1c905\"},\"headline\":\"bonfire &#8211; part two &#8211; bonfire\",\"datePublished\":\"2025-11-15T19:14:52+00:00\",\"dateModified\":\"2025-11-17T18:44:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/\"},\"wordCount\":222,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/#organization\"},\"keywords\":[\"24.04\",\"bare metal\",\"bonfire\",\"bonfire social\",\"fediverse\",\"open source\",\"ubuntu\"],\"articleSection\":[\"fediverse\",\"software installs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/\",\"url\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/\",\"name\":\"bonfire - part two - bonfire - view from space\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/#website\"},\"datePublished\":\"2025-11-15T19:14:52+00:00\",\"dateModified\":\"2025-11-17T18:44:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/2025\\\/11\\\/15\\\/bonfire-part-two-bonfire\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dogriley.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"bonfire &#8211; part two &#8211; bonfire\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/#website\",\"url\":\"https:\\\/\\\/dogriley.com\\\/\",\"name\":\"view from space\",\"description\":\"a different perspective\",\"publisher\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dogriley.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/#organization\",\"name\":\"view from space\",\"url\":\"https:\\\/\\\/dogriley.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dogriley.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/Screenshot-2025-11-14-at-9.16.30-PM.png\",\"contentUrl\":\"https:\\\/\\\/dogriley.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/Screenshot-2025-11-14-at-9.16.30-PM.png\",\"width\":210,\"height\":244,\"caption\":\"view from space\"},\"image\":{\"@id\":\"https:\\\/\\\/dogriley.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dogriley.com\\\/#\\\/schema\\\/person\\\/b521a23aa1369902341761969ae1c905\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/dogriley.com\"],\"url\":\"https:\\\/\\\/dogriley.com\\\/index.php\\\/author\\\/admin_3j2is9su\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"bonfire - part two - bonfire - view from space","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/","og_locale":"en_US","og_type":"article","og_title":"bonfire - part two - bonfire - view from space","og_description":"this is the second post about bonfire, the first one bonfire &#8211; part one &#8211; ubuntu focused on setting up and configuring the bare metal instance with required packages for all of these instructions you will be logged into your host as user: bonfire set up bonfire clone and create environment remove alpine from .tool_versions [&hellip;]","og_url":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/","og_site_name":"view from space","article_published_time":"2025-11-15T19:14:52+00:00","article_modified_time":"2025-11-17T18:44:49+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/#article","isPartOf":{"@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/"},"author":{"name":"admin","@id":"https:\/\/dogriley.com\/#\/schema\/person\/b521a23aa1369902341761969ae1c905"},"headline":"bonfire &#8211; part two &#8211; bonfire","datePublished":"2025-11-15T19:14:52+00:00","dateModified":"2025-11-17T18:44:49+00:00","mainEntityOfPage":{"@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/"},"wordCount":222,"commentCount":1,"publisher":{"@id":"https:\/\/dogriley.com\/#organization"},"keywords":["24.04","bare metal","bonfire","bonfire social","fediverse","open source","ubuntu"],"articleSection":["fediverse","software installs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/","url":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/","name":"bonfire - part two - bonfire - view from space","isPartOf":{"@id":"https:\/\/dogriley.com\/#website"},"datePublished":"2025-11-15T19:14:52+00:00","dateModified":"2025-11-17T18:44:49+00:00","breadcrumb":{"@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dogriley.com\/index.php\/2025\/11\/15\/bonfire-part-two-bonfire\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dogriley.com\/"},{"@type":"ListItem","position":2,"name":"bonfire &#8211; part two &#8211; bonfire"}]},{"@type":"WebSite","@id":"https:\/\/dogriley.com\/#website","url":"https:\/\/dogriley.com\/","name":"view from space","description":"a different perspective","publisher":{"@id":"https:\/\/dogriley.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dogriley.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dogriley.com\/#organization","name":"view from space","url":"https:\/\/dogriley.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dogriley.com\/#\/schema\/logo\/image\/","url":"https:\/\/dogriley.com\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-14-at-9.16.30-PM.png","contentUrl":"https:\/\/dogriley.com\/wp-content\/uploads\/2025\/11\/Screenshot-2025-11-14-at-9.16.30-PM.png","width":210,"height":244,"caption":"view from space"},"image":{"@id":"https:\/\/dogriley.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dogriley.com\/#\/schema\/person\/b521a23aa1369902341761969ae1c905","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/82197c1ff3375ce5e0384b78aa638bd1b80d3f49b04e767acce6b2f9e54d9a0d?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/dogriley.com"],"url":"https:\/\/dogriley.com\/index.php\/author\/admin_3j2is9su\/"}]}},"_links":{"self":[{"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/posts\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":10,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/posts\/33\/revisions\/64"}],"wp:attachment":[{"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dogriley.com\/index.php\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}