Repository files navigation

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

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

oneclick-proof

Simple Node.js app demonstrating how to package for one-click deploys on self-hosted panels.

Each request increments a count that's stored on the local filesystem, which should persist between restarts; set the destination directory path via a DATA_DIRECTORY environment variable.

These panels maintain their own 'app catalogs' for one-click installs; until your app is included there, it will require more clicks to setup. Below are instructions for each platform so that you can test easily before submission.

Many of them also require publishing a Docker image somewhere to install. For simplicity the examples below uses pre-built images.

Setup
  1. Install Cloudron via one-click images on one of various hosting platforms.

  2. Clone the project locally:

git clone https://github.com/0dataapp/oneclick-proof
  1. From the project directory, run the install command via the Cloudron CLI:
cd oneclick-proof
cloudron install --image 0data/oneclick-proof:cloudron --location oneclick-proof
Updates
  1. From the project directory, run the update command via the Cloudron CLI:
cloudron update --image 0data/oneclick-proof:cloudron --app oneclick-proof

See the packaging tutorial or Cloudron official packages for reference. You can also use Cloudron itself to build and as a registry.

Setup
  1. Install Caprover via one-click DigitalOcean droplet.

with docker-compose

  1. Navigate to AppsCreate A New AppOne-Click Apps/Databases , then search for >> TEMPLATE << or scroll to the bottom.
  2. Select the >> TEMPLATE << app and paste the configuration from caprover/compose.yml.
  3. Name your app oneclick-proof or something else, then click Deploy.

without docker-compose

  1. Navigate to AppsCreate A New App.
  2. Check the box for Has Persistent Data, name your app as oneclick-proof or something else, and then click Create New App.
  3. Navigate to your app settings, then App ConfigsPersistent Directories.
  4. Set Path in App to /usr/src/app/__local and "Label" to oneclick-proof-local; click Save & Restart.
  5. See the update command below to finalize.

Other deployment methods, include uploading a .tar file and deploying code directly from your machine without publishing a Docker image via the Caprover CLI:

git clone https://github.com/0dataapp/oneclick-proof
cd oneclick-proof
caprover deploy
Updates

via Docker image

  1. Navigate to Deployment, enter 0data/oneclick-proof:latest into Deploy via ImageName, then click Deploy. It may take some time after 'finishing' so give it a minute.

via local directory

  1. Call deploy again but with a flag to use the previous configuration:
caprover deploy -d

More info on packaging and deployment:

Setup
  1. Install Coolify via one-click images on Hetzner, DigitalOcean or other hosting platforms.

  2. Navigate to Projects → choose/create a project… → Resources+ NewApplicationsGit BasedPublic Repository.

  3. Configure the following parameters:

    • Repository URL

       https://github.com/0dataapp/oneclick-proof/tree/master
      
    • Build Pack

       Docker Compose
      
    • Docker Compose Location

       /coolify/compose.yml
      
  4. Select Continue and then, on the following Configuration page, click Deploy.

  5. Setup a domain under ConfigurationGeneralDomains by entering something like https://oneclick-proof.[your root domain] and clicking Save, or make a random one by clicking Generate Domain; in case of SSL issues click Redeploy.

Updates
  1. Click Redeploy or AdvancedForce deploy (without cache) to pull from the Git repository.

More information:

Questions

Feel free to reach out on Mastodon or Bluesky.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages