Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

hostie-cli

A command line interface tool to create, configure and web applications.

Supports the following web applications:

Installing

hostie-cli uses the build2 build system, and you may use this git repository as a build2 package.

Assuming you have installed build2's bpkg tool, as well as boost's development files, you may build this project from source using the following commands:

BUILD_DIR=build-hostie
bpkg create -d $BUILD_DIR cc config.cxx=g++ config.bin.rpath=/usr/local/lib config.install.root=/usr/local config.install.sudo=sudo
cd$BUILD_DIR
bpkg add --type git "https://github.com/crails-framework/hostie-cli.git#master"
bpkg fetch
bpkg build hostie-cli '?sys:libboost-program-options/*''?sys:libboost-date-time/*''?sys:libboost-process/*''?sys:libboost-asio/*'

How to use

The hostie-cli command supports various web applications that you may host on your server. The first argument of any call to hostie-cli should indicate the type of web application you want to interact with.

The second argument should indicate the type of action you wish to execute. Common actions are:

  • list - lists instances of the given type managed by hostie-cli
  • config - gets or sets environment variables for a given web application instance
  • create - creates a new web application instance
  • remove - removes a web application instance
  • backup - manages backup for an instance (scheduling, listing)
  • restore - restores an instance's backup

Some additional actions are available for specific application types. You may lists available actions for each application type simply by not mentionning any action argument, such as:

hostie-cli wordpress # will list all available actions for Wordpress applications

You may also list all available options for any action by using the help option:

hostie-cli wordpress create --help

Note that some preparation steps must be taken for each application type before hostie-cli can create and manage new instances. Wizards are provided to make such preparations in an easy and streamlined way:

Wizards

Wizards will prepare your system for running the application you may later create. They may be used to set up MySQL or PostgreSQL databases, a nginx web server, or the specific dependencies for any web supported application.

For instance, the following command...

hostie-cli wizard nextcloud

... will install MySQL, php-fpm, and all the php packages required by NextCloud on your system. Then, it will download the latest version of NextCloud and install it in the /opt folder.

Wordpress

The wordpress wizard can be used to support multiple versions of wordpress. By default, it will download the latest version of Wordpress, and update hostie-cli's configuration so all newly created wordpress application use the latest installed version of Wordpress.

You may also force the installation of an older release by specifying a version yourself:

WORDPRESS_VERSION=6.6.1 hostie-cli wizard wordpress

Note that, after doing that, all new Wordpress application you create will use the 6.6.1 version. Update the wordpress-version and wordpress-source variables in the /etc/hostie.rc file to modify that behavior.

Creating applications

TODO

Setting up the webserver

TODO

hostie-cli wizard nginx
hostie-cli nginx configure -n APPLICATION_NAME

Acquiring and refreshing SSL certificates

hostie-cli nginx certify -n APPLICATION_NAME

About

A command line tool to manage web applications from a server

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages