Files
docker-configs/linkwarden/data/archives/2/9_readability.json

1 line
23 KiB
JSON
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"title":"","byline":null,"dir":null,"lang":null,"content":"<div id=\"readability-page-1\" class=\"page\"><div id=\"content\">\n\t\t<main role=\"main\" id=\"main\">\n\n\t\t\n\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\n<article id=\"post-389\">\n\t\n\n\t<div>\n\t\t\n\t<h2>Overview</h2>\n\n\n\n<p>In my quest to reduce my reliance upon proprietary software applications, Ive begun to focus some more time in finding a good Google Photos or Apple Photos alternative. As began looking at the alternatives, I discovered that there were way more options that I had originally anticipated. Each alternative had a different feature set and I found it difficult to compare the different options. To solve this dilemma for myself (and hopefully for many others), Im compiling a list of free and open source photo libraries that can be self-hosted or run locally without any need for cloud services.</p>\n\n\n\n<h2>Google/Apple Photos Alternatives</h2>\n\n\n\n<p>My alternative comparison list looks like the following (Be sure to visit the <a data-id=\"https://github.com/meichthys/foss_photo_libraries\" data-type=\"URL\" href=\"https://github.com/meichthys/foss_photo_libraries\" rel=\"noreferrer noopener\">github repository</a> for the most up to date comparison.</p>\n\n\n\n<p>** <strong>This page was last updated on 2023-06-05</strong></p>\n\n\n\n\n\n\n\n<hr>\n\n\n\n<p>~ Dont give away your photos to the largest data collection entities in the world! Your photos document your life better than any other kinds of data. Pictures are worth more than a thousand words to advertisers!</p>\n\n\t\t\t</div>\n\n\t\n</article>\n\t\t\t\n\t\t\t\t\n<article id=\"post-375\">\n\t\n\n\t<div>\n\t\t\n\t<h2>Overview</h2>\n\n\n\n<p>For a while now I have been looking for a self-hosted, cross-platform solution that would allow me to sync my browser data (specifically bookmarks and history) between different devices. In the past Ive used some of the following but have not been entirely satisfied for a number of reasons:</p>\n\n\n\n<ul><li>iCloud<ul><li>Not self-hosted</li><li>Required extension (if not using Safari)</li><li>Did not sync history (if syncing to windows machine)</li></ul></li><li>Xmarks<ul><li>Not self-hosted</li><li>Did not sync history</li><li>Required extension on all browsers</li><li>Not mobile-friendly</li></ul></li><li><a data-id=\"https://floccus.org/\" data-type=\"URL\" href=\"https://floccus.org/\" rel=\"noreferrer noopener\">Floccus</a><ul><li><img src=\"https://s.w.org/images/core/emoji/15.0.3/svg/2705.svg\" alt=\"✅\" role=\"img\" draggable=\"false\"> Self Hosted</li><li>Did not sync history</li><li>Requires extension on all browsers</li><li>Not mobile-friendly</li><li>Great for sharing bookmarks with others (Can use Nextcloud as storage)</li></ul></li></ul>\n\n\n\n<figure><img sizes=\"(max-width: 631px) 100vw, 631px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Firefox-Sync-logo.png 631w, https://homegrowntechie.com/wp-content/uploads/2021/11/Firefox-Sync-logo-300x95.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Firefox-Sync-logo-210x67.png 210w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Firefox-Sync-logo.png\" height=\"200\" width=\"631\" decoding=\"async\"></figure>\n\n\n\n<h2>Firefox Sync Server</h2>\n\n\n\n<p>Recently I discovered <a rel=\"noreferrer noopener\" href=\"https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html\">Firefox Sync Server</a> which is an official self-hosted implementation of Mozillas sync service for syncing all Firefox account information. Although development on this is low priority, I have proved it to be reliable and well worth the effort to setup. Once configured, all my dreams come true:</p>\n\n\n\n<ul><li><img src=\"https://s.w.org/images/core/emoji/15.0.3/svg/2705.svg\" alt=\"✅\" role=\"img\" draggable=\"false\"> Self Hosted &amp; Free!</li><li><img src=\"https://s.w.org/images/core/emoji/15.0.3/svg/2705.svg\" alt=\"✅\" role=\"img\" draggable=\"false\"> Cross-platform clients (requires the use of Firefox browsers which I prefer anyway!)</li><li><img src=\"https://s.w.org/images/core/emoji/15.0.3/svg/2705.svg\" alt=\"✅\" role=\"img\" draggable=\"false\"> Mobile Friendly</li><li><img src=\"https://s.w.org/images/core/emoji/15.0.3/svg/2705.svg\" alt=\"✅\" role=\"img\" draggable=\"false\"> Syncs any or all of the following: Bookmarks, History, Tabs, Addresses, Credit Cards, Add-Ons, and Firefox Settings</li></ul>\n\n\n\n<h2>Configure the Server</h2>\n\n\n\n<p>There are a few different ways to run the Firefox Sync Server but I found Docker-Compose to be the easiest way to get up and running quickly:</p>\n\n\n\n<p>1. Setup docker (not covered in this post)<br>2. Create a new docker-compose (or stack):</p>\n\n\n\n<pre><code>version: '3.7'\nservices:\n syncserver:\n container_name: firefox_syncserver\n image: mozilla/syncserver:latest\n volumes:\n - data:/data\n ports:\n - 5000:5000\n environment:\n SYNCSERVER_PUBLIC_URL: 'https://firefoxsyncserver.your_domain.com'\n SYNCSERVER_SECRET: 'add_a_random_secret_text'\n SYNCSERVER_SQLURI: 'sqlite:////data/syncserver.db'\n SYNCSERVER_BATCH_UPLOAD_ENABLED: 'true'\n SYNCSERVER_FORCE_WSGI_ENVIRON: 'true'\n PORT: '5000'\n restart: always\n \nvolumes:\n data:</code></pre>\n\n\n\n<p>3. Setup remote access to the service. My preferred way is to use a reverse proxy lik <a data-id=\"https://nginxproxymanager.com/\" data-type=\"URL\" href=\"https://nginxproxymanager.com/\" rel=\"noreferrer noopener\">NGINXProxyManager</a>.<br> At minimum you need:<br> A static ip or an externally accessible domain (if you dont have one, you can get one via <a data-id=\"https://www.duckdns.org/\" data-type=\"URL\" href=\"https://www.duckdns.org/\" rel=\"noreferrer noopener\">DuckDNS</a>)<br> Port forward the desired port to your Firefox Sync Server</p>\n\n\n\n<p>4. Start/deploy the docker container/stack and navigate to the <code>SYNCSERVER_PUBLIC_URL</code> defined in the compose file to verify that the service is running correctly:</p>\n\n\n\n<figure><img sizes=\"(max-width: 980px) 100vw, 980px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-10.37.29-PM.png 1004w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-10.37.29-PM-300x48.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-10.37.29-PM-768x122.png 768w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-10.37.29-PM-210x33.png 210w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-10.37.29-PM.png\" height=\"160\" width=\"1004\" decoding=\"async\" loading=\"lazy\"></figure>\n\n\n\n<h2>Setup Client Browsers</h2>\n\n\n\n<p>In order to use your self-hosted Firefox Sync Server you will need to configure each client to use your custom sync server:</p>\n\n\n\n<h3>Desktop Client</h3>\n\n\n\n<p>Changing the sync server on Firefox desktop is easy:</p>\n\n\n\n<div><p>1. In your address bar navigate to: <code>about:config</code></p><p>2. Search for: identity.sync.tokenserver.uri and modify the value to match the <code>SYNCSERVER_PUBLIC_URL</code> defined in the compose with an additional path of /<code>token/1.0/sync/1.5</code></p></div>\n\n\n\n<figure><img sizes=\"(max-width: 980px) 100vw, 980px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-1024x47.png 1024w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-300x14.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-768x36.png 768w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-1536x71.png 1536w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-210x10.png 210w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-1960x91.png 1960w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-28-at-11.05.47-PM-1024x47.png\" height=\"47\" width=\"1024\" decoding=\"async\" loading=\"lazy\"></figure>\n\n\n\n<p>3. Sign into your Firefox Account as normal This is only to authenticate not to store your browser data. (You can also host your own Firefox Account Server, but that is out of the scope of this post).</p>\n\n\n\n<p>4. Attempt to sync. The sync should take at least a few seconds if it completes immediately, there may be an issue. To tell if the sync properly saved your browser data to your personal server, you can navigate to <code>about:sync-log</code> and browse the log files to make sure your sync server is being referenced instead of the default firefox sync server.</p>\n\n\n\n<h3>iOS Client</h3>\n\n\n\n<p>Changing the sync server on Firefox iOS is also easy:</p>\n\n\n\n<p>1. Open the iOS Firefox app and navigate to Settings.</p>\n\n\n\n<p>2. Scroll to the bottom of the settings pane and tap on “Firefox Daylight” five times quickly (This will enable the advanced/debug menu):</p>\n\n\n\n<p>3. Setup the advanced settings according to the screenshots below (be sure to only include the <code>/token/</code> path for the token server url you do not need to additional `/1.0/sync/1.5` path that is needed for Firefox desktop. ALSO instead of the url in the screenshot, use <code>accountS.firefox.org</code> for the FxA server (note the S).</p>\n\n\n\n<p>4. Sign into your Firefox Account (again this is only used to authenticate not to store your browser data).</p>\n\n\n\n<p>5. Sync your browser data, and confirm that you can see the changes on your other clients that are synced to your same Firefox Sync Server.<br></p>\n\n\n\n\n\n\n\n<h2>Decloud</h2>\n\n\n\n<p>Once you feel satisfied that your sync server is working correctly and that you have proper backups in place to prevent data loss, go ahead and remove your other sync solutions like (iCloud, Xmarks, etc) and delete the data stored on any of those cloud services. Youre in control of your data now!</p>\n\n\n\n\n\n\n\n<p>~ Dont litter! That includes your personal data on the internet!</p>\n\n\t\t\t</div>\n\n\t\n</article>\n\t\t\t\n\t\t\t\t\n<article id=\"post-336\">\n\t\n\n\t<div>\n\t\t\n\t<figure><img sizes=\"(max-width: 440px) 100vw, 440px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-14-25-Uptime-Kuma.png 440w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-14-25-Uptime-Kuma-300x70.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-14-25-Uptime-Kuma-210x49.png 210w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-14-25-Uptime-Kuma.png\" height=\"102\" width=\"440\" decoding=\"async\" loading=\"lazy\"></figure>\n\n\n\n<h2>Overview</h2>\n\n\n\n<p>Uptime Kuma is a fancy self-hosted monitoring service that can be used to create your very own status page of any services you would like to monitor. Initial configuration and setting up monitors is very easy.</p>\n\n\n\n\n\n\n\n<h2>Setting Up Uptime Kuma</h2>\n\n\n\n<p>The preferred method for setting up Uptime Kuma is Docker. And to make the setup in docker even easier, I like to use <a rel=\"noreferrer noopener\" href=\"https://www.portainer.io/products/community-edition\">Portainer</a>:</p>\n\n\n\n<h2>Create a new stack in <a href=\"https://www.portainer.io/products/community-edition\">Portainer</a>:</h2>\n\n\n\n<pre><code>version: '3.3'\n\nservices:\n uptime-kuma:\n image: louislam/uptime-kuma\n container_name: uptimekuma\n restart: always\n volumes:\n - data:/app/data\n ports:\n - 3001:3001\n\nvolumes:\n data:</code></pre>\n\n\n\n<h2>Start the Stack and Log In</h2>\n\n\n\n<figure><img sizes=\"(max-width: 980px) 100vw, 980px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM-1024x797.png 1024w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM-300x234.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM-768x598.png 768w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM-210x163.png 210w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM.png 1200w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screen-Shot-2021-11-09-at-10.28.02-PM-1024x797.png\" height=\"797\" width=\"1024\" decoding=\"async\" loading=\"lazy\"><figcaption>Login Page</figcaption></figure>\n\n\n\n<h2>Add Monitors</h2>\n\n\n\n<figure><img sizes=\"(max-width: 980px) 100vw, 980px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-1024x861.png 1024w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-300x252.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-768x646.png 768w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-1536x1291.png 1536w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-210x177.png 210w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-1960x1647.png 1960w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-30-41-Uptime-Kuma-1024x861.png\" height=\"861\" width=\"1024\" decoding=\"async\" loading=\"lazy\"><figcaption>Sample HTTP Monitor</figcaption></figure>\n\n\n\n<h2>Bonus</h2>\n\n\n\n<p>You can use a reverse proxy like <a href=\"https://nginxproxymanager.com/\">NGINXProxyManager</a> to fetch an SSL cert and expose the Uptime Kuma service publicly:</p>\n\n\n\n<figure><img sizes=\"(max-width: 980px) 100vw, 980px\" srcset=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-1024x563.png 1024w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-300x165.png 300w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-768x422.png 768w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-1536x844.png 1536w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-210x115.png 210w, https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma.png 1780w\" alt=\"\" src=\"https://homegrowntechie.com/wp-content/uploads/2021/11/Screenshot-2021-11-09-at-22-35-23-Uptime-Kuma-1024x563.png\" height=\"563\" width=\"1024\" decoding=\"async\" loading=\"lazy\"></figure>\n\n\t\t\t</div>\n\n\t\n</article>\n\t\t\t\n\t\t\t\n\t\t\n\t\t</main>\n\t</div></div>","textContent":"\n\t\t\n\n\t\t\n\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\n\n\t\n\n\t\n\t\t\n\tOverview\n\n\n\nIn my quest to reduce my reliance upon proprietary software applications, Ive begun to focus some more time in finding a good Google Photos or Apple Photos alternative. As began looking at the alternatives, I discovered that there were way more options that I had originally anticipated. Each alternative had a different feature set and I found it difficult to compare the different options. To solve this dilemma for myself (and hopefully for many others), Im compiling a list of free and open source photo libraries that can be self-hosted or run locally without any need for cloud services.\n\n\n\nGoogle/Apple Photos Alternatives\n\n\n\nMy alternative comparison list looks like the following (Be sure to visit the github repository for the most up to date comparison.\n\n\n\n** This page was last updated on 2023-06-05\n\n\n\n\n\n\n\n\n\n\n\n~ Dont give away your photos to the largest data collection entities in the world! Your photos document your life better than any other kinds of data. Pictures are worth more than a thousand words to advertisers!\n\n\t\t\t\n\n\t\n\n\t\t\t\n\t\t\t\t\n\n\t\n\n\t\n\t\t\n\tOverview\n\n\n\nFor a while now I have been looking for a self-hosted, cross-platform solution that would allow me to sync my browser data (specifically bookmarks and history) between different devices. In the past Ive used some of the following but have not been entirely satisfied for a number of reasons:\n\n\n\niCloudNot self-hostedRequired extension (if not using Safari)Did not sync history (if syncing to windows machine)XmarksNot self-hostedDid not sync historyRequired extension on all browsersNot mobile-friendlyFloccus Self HostedDid not sync historyRequires extension on all browsersNot mobile-friendlyGreat for sharing bookmarks with others (Can use Nextcloud as storage)\n\n\n\n\n\n\n\nFirefox Sync Server\n\n\n\nRecently I discovered Firefox Sync Server which is an official self-hosted implementation of Mozillas sync service for syncing all Firefox account information. Although development on this is low priority, I have proved it to be reliable and well worth the effort to setup. Once configured, all my dreams come true:\n\n\n\n Self Hosted & Free! Cross-platform clients (requires the use of Firefox browsers which I prefer anyway!) Mobile Friendly Syncs any or all of the following: Bookmarks, History, Tabs, Addresses, Credit Cards, Add-Ons, and Firefox Settings\n\n\n\nConfigure the Server\n\n\n\nThere are a few different ways to run the Firefox Sync Server but I found Docker-Compose to be the easiest way to get up and running quickly:\n\n\n\n1. Setup docker (not covered in this post)2. Create a new docker-compose (or stack):\n\n\n\nversion: '3.7'\nservices:\n syncserver:\n container_name: firefox_syncserver\n image: mozilla/syncserver:latest\n volumes:\n - data:/data\n ports:\n - 5000:5000\n environment:\n SYNCSERVER_PUBLIC_URL: 'https://firefoxsyncserver.your_domain.com'\n SYNCSERVER_SECRET: 'add_a_random_secret_text'\n SYNCSERVER_SQLURI: 'sqlite:////data/syncserver.db'\n SYNCSERVER_BATCH_UPLOAD_ENABLED: 'true'\n SYNCSERVER_FORCE_WSGI_ENVIRON: 'true'\n PORT: '5000'\n restart: always\n \nvolumes:\n data:\n\n\n\n3. Setup remote access to the service. My preferred way is to use a reverse proxy lik NGINXProxyManager. At minimum you need: A static ip or an externally accessible domain (if you dont have one, you can get one via DuckDNS) Port forward the desired port to your Firefox Sync Server\n\n\n\n4. Start/deploy the docker container/stack and navigate to the SYNCSERVER_PUBLIC_URL defined in the compose file to verify that the service is running correctly:\n\n\n\n\n\n\n\nSetup Client Browsers\n\n\n\nIn order to use your self-hosted Firefox Sync Server you will need to configure each client to use your custom sync server:\n\n\n\nDesktop Client\n\n\n\nChanging the sync server on Firefox desktop is easy:\n\n\n\n1. In your address bar navigate to: about:config2. Search for: identity.sync.tokenserver.uri and modify the value to match the SYNCSERVER_PUBLIC_URL defined in the compose with an additional path of /token/1.0/sync/1.5\n\n\n\n\n\n\n\n3. Sign into your Firefox Account as normal This is only to authenticate not to store your browser data. (You can also host your own Firefox Account Server, but that is out of the scope of this post).\n\n\n\n4. Attempt to sync. The sync should take at least a few seconds if it completes immediately, there may be an issue. To tell if the sync properly saved your browser data to your personal server, you can navigate to about:sync-log and browse the log files to make sure your sync server is being referenced instead of the default firefox sync server.\n\n\n\niOS Client\n\n\n\nChanging the sync server on Firefox iOS is also easy:\n\n\n\n1. Open the iOS Firefox app and navigate to Settings.\n\n\n\n2. Scroll to the bottom of the settings pane and tap on “Firefox Daylight” five times quickly (This will enable the advanced/debug menu):\n\n\n\n3. Setup the advanced settings according to the screenshots below (be sure to only include the /token/ path for the token server url you do not need to additional `/1.0/sync/1.5` path that is needed for Firefox desktop. ALSO instead of the url in the screenshot, use accountS.firefox.org for the FxA server (note the S).\n\n\n\n4. Sign into your Firefox Account (again this is only used to authenticate not to store your browser data).\n\n\n\n5. Sync your browser data, and confirm that you can see the changes on your other clients that are synced to your same Firefox Sync Server.\n\n\n\n\n\n\n\nDecloud\n\n\n\nOnce you feel satisfied that your sync server is working correctly and that you have proper backups in place to prevent data loss, go ahead and remove your other sync solutions like (iCloud, Xmarks, etc) and delete the data stored on any of those cloud services. Youre in control of your data now!\n\n\n\n\n\n\n\n~ Dont litter! That includes your personal data on the internet!\n\n\t\t\t\n\n\t\n\n\t\t\t\n\t\t\t\t\n\n\t\n\n\t\n\t\t\n\t\n\n\n\nOverview\n\n\n\nUptime Kuma is a fancy self-hosted monitoring service that can be used to create your very own status page of any services you would like to monitor. Initial configuration and setting up monitors is very easy.\n\n\n\n\n\n\n\nSetting Up Uptime Kuma\n\n\n\nThe preferred method for setting up Uptime Kuma is Docker. And to make the setup in docker even easier, I like to use Portainer:\n\n\n\nCreate a new stack in Portainer:\n\n\n\nversion: '3.3'\n\nservices:\n uptime-kuma:\n image: louislam/uptime-kuma\n container_name: uptimekuma\n restart: always\n volumes:\n - data:/app/data\n ports:\n - 3001:3001\n\nvolumes:\n data:\n\n\n\nStart the Stack and Log In\n\n\n\nLogin Page\n\n\n\nAdd Monitors\n\n\n\nSample HTTP Monitor\n\n\n\nBonus\n\n\n\nYou can use a reverse proxy like NGINXProxyManager to fetch an SSL cert and expose the Uptime Kuma service publicly:\n\n\n\n\n\n\t\t\t\n\n\t\n\n\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t","length":6881,"excerpt":"In my quest to reduce my reliance upon proprietary software applications, Ive begun to focus some more time in finding a good Google Photos or Apple Photos alternative. As began looking at the alternatives, I discovered that there were way more options that I had originally anticipated. Each alternative had a different feature set and I found it difficult to compare the different options. To solve this dilemma for myself (and hopefully for many others), Im compiling a list of free and open source photo libraries that can be self-hosted or run locally without any need for cloud services.","siteName":null}