umbrel-apps
umbrel-apps copied to clipboard
App Submission: Saifa (lnd Invoice manager)
App Submission ... app name (Saifa) ...
256x256 SVG icon https://svgur.com/i/1452.svg
description: Saifa is designed to enhance the interoperability and efficiency of applications interacting with the Lightning Network Daemon (LND). Our project simplifies the integration process, allowing applications to seamlessly connect to LND through an intuitive webhook system. With Saifa, users can effortlessly create new invoices using a straightforward REST API, cancel invoices, and receive real-time updates on invoice status. This system is crafted to streamline operations and facilitate a smoother transaction experience on the Lightning Network, making it an essential tool for developers looking to optimize their applications for better performance and user satisfaction.
...
Gallery images
I have tested my app on: Umbrel OS on a Raspberry Pi 4
Thanks for this app submission @patranakamo! We are currently behind on reviewing app PRs while we work on critical umbrelOS updates. I will review this soon.
Hi nmfretz great to hear that. Thank you for you comment.
HI @nmfretz Thank you so much for your detailed review. I've made the edits based on your comments. However, I’m encountering an issue with adding app_proxy. Whenever I try to add it, I receive the following error:
ERROR: The Compose file '/home/umbrel/umbrel/scripts/support/docker-compose.app_proxy.yml' is invalid because: services.app_proxy.ports contains an invalid type, it should be a number, or an object
The system runs normally when I remove and reinstall. (I push it in docker-composer.yml as comment in case you want to see it.) Could you suggest any solutions for this issue? Your help would be greatly appreciated.
Thanks again.
Could you suggest any solutions for this issue? Your help would be greatly appreciated.
No worries at all, I have pushed some commits that resolve a couple issues. The app_proxy is using Docker's DNS to resolve the IP of the frontend container and proxy to port 80 running in the frontend container.
The app now installs fine, but the frontend
container has these errors and won't start up:
$ sudo docker logs -f saifa_frontend_1
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2024/05/13 12:13:19 [emerg] 1#1: host not found in upstream "backend" in /etc/nginx/conf.d/default.conf:12
I pushed an update after you helped me fix the frontend port issue. I tested it on my Umbrel-on-Raspberry, and it can be installed normally, with the frontend running smoothly. It should work on your Umbrel too.
I just wanted to let you know that I appreciate your help in pushing some fixes. I didn't expect this level of assistance from anyone.
I just wanted to let you know that I appreciate your help in pushing some fixes. I didn't expect this level of assistance from anyone.
You're most welcome, glad to help!
I have tested and made a couple changes to make sure it runs for both arm64 and x86 users and to show users their default app password. We are pretty much ready to go.
Can you please let me know the following:
-
Do you want your app version to still be listed as 1.0.0 (https://github.com/getumbrel/umbrel-apps/pull/1021#discussion_r1596125239), or do you want to change it to 1.3.3 like in your Docker images?
-
Just to confirm: are you binding the backend port (9988:80) on the host so that you can make requests to the backend from outside the app (e.g., via REST API)? If so, then we leave this as-is. If not and only the frontend should talk to the backend then we can remove this port binding. https://github.com/getumbrel/umbrel-apps/pull/1021#discussion_r1596119735
-
Are you okay with me changing the app name from
Saifa - Invoice lightning network manager
to justSaifa
so that it shows up nicely on the homescreen when someone installs it? I movedInvoice lightning network manager
to the tagline. -
For your 3 gallery images, what would you like the text to say on each image?
HI again @nmfretz
Let me answer your questions:
1 ) Let's keep the app version as 1.0.0, even if it's not the same as the Docker images. The Docker images include the front-end as well, so sometimes they need different versions.
2 ) Yes, I still need to keep that port open. It has a feature for an external API that can call this backend directly (with a token) to create or get invoices without opening the front-end UI.
3 ) Sure, that sounds good.
4 ) For the gallery images, please use the following text: First picture: "Add New Invoice Page." Second picture: "Invoice List - Users can see all invoices, both active and inactive, on this page." Third picture: "Webhook Routing Config Page - Shows how users can configure to receive real-time invoice data sent to other apps." Last picture: "Token Config Page - Shows how users can call the Saifa API without logging in through the UI."
Thanks @patranakamo. We'll get the gallery assets ready and then launch on the app store!
@patranakamo the gallery assets are ready: https://github.com/getumbrel/umbrel-apps-gallery/tree/master/saifa
Going live to the app store now. Congratulations! And thanks again for all your hard work bringing Saifa to Umbrel.
Wow, the app looks great on the App Store! Thank you for your help and suggestions. I will try to continue contribute to this community.