n8n.io - Zappier, IFTTT, Integromat alternative
-
So I have an initial packaging for this done at https://git.cloudron.io/jimcavoli/n8n-app
HOWEVER, I'm honestly not sure I'd be comfortable putting this software into production as-is. It's pretty weak on some security features, but maybe its not the end of the world for people and I'm just super paranoid. There seems to be an undocumented way to do JWT auth, which I'm not going to even try to get into that, since I'm only aware of it from looking at the config file handling typescript code. The only supported authentication right now is basic auth as documented - with a single username/password set by ENV or config file (I went with the latter since it's easier for end-users to edit in
/app/data/.n8n/config
by terminal).Either way, everything basically works, and by launching via supervisord with the working directory set to
/app/data/output
we're able to contain its binary file writing to system (probably a bad thing to do in prod as well, but it works).Custom nodes can be added to
/app/data/custom
, the config file is JSON at/app/data/.n8n/config
, and the package writes cloudron-provided postgresql configuration to that file at launch.Some stuff only works in Chrome. That's just an issue with the app. Something about they way they're handling web sockets means other browsers see "Connection lost" in the top right, which is where the Activation toggle should be. Most other things actually work fine, but that's necessary for executing workflows in-browser manually and activating them.
I packaged this one because it seems to have some popularity in asks, but it definitely deserves some due diligence before heading to production for anyone or the app store. It's also pre-1.0 so not sure how much is changing how fast, and the setup as is was a pretty delicate thing to get done. Maybe my concerns are overplayed, maybe not, but either way, there's something we can start to kick the tires on for this app now.
-
@jimcavoli thanks for looking into this! The upstream projects seems to be quite active, so that is a good sign and probably things will improve then.
I've put it on my task list to take a look and then possiblly port it to the new base image and add some tests.
-
@jdaviescoates
haha,sure, of course I did -
Hey @jimcavoli, good job with n8n, I've cloned your repo and played around a little. For whatever reason the basic auth wasn't working out of the box, so I added
ENV N8N_CONFIG_FILES="/app/data/.n8n/config"
to the Dockerfile. Now auth works, but as soon as you restart the app for the first time, it won't come up anymore with that errormessage:Error: configuration param 'encryptionKey' not declared in the schema
. It only gets back online after removing the encryptionKey entry in/app/data/.n8n/config
and triggering another restart (which then again sets a new/different encryptionKey ).Any idea what's that about, or how did you get auth to work? It just ignores my settings without that env variable. If it's not set, restarts work, but auth does not.
A quick fix was to add another env var
ENV N8N_ENCRYPTION_KEY="123"
to make the encryption key static (still had to delete it before restarting, but it sets the static one afterwards), else all saved credentials were unusable after restart and changed encryptionKey. Oviously that's not a solution, but at least I could test a little.Other than that (and updating to the latest version, base image and some minor tweaks) it seems to be working fine!
edit: not able to get webhooks to work, not sure if it's me or n8n
-
Today IFTTT announced that they will charge you $10 a month (!!!!) for their service. Maybe now it’s really time to put Cloudron in a unique position with this app?!
-
@girish https://ifttt.com/plans
Create 3 Applets of your own
Turn on unlimited Applets -
Got an email a few minutes ago from IFTTT;
Note: the free-forever IFTTT Standard plan no longer supports creating unlimited Applets from scratch.
To date, you’ve created more than 3 Applets. If you do not upgrade to Pro, all but 3 of your created Applets will be archived.
-
@imc67 yeah, I've got the same thing.
Most significantly, I think, is the last sentence:
Your current plan, the free-forever IFTTT Standard plan, no longer supports creating unlimited Applets from scratch.
To date, you’ve created more than 3 Applets. If you do not upgrade to Pro before October 7th, all but 3 of your custom Applets will be automatically archived.
For more information about archived Applets, see What happens if I do not upgrade to IFTTT Pro?
Through October 7th, you may set the monthly price you want to pay to upgrade to Pro and we’ll honor it forever.
Seems the Set your price options I mentioned above will likely disappear on October 7th... So I guess if you use IFTTT a lot it might be a good idea to pay $1.99/mo now (I actually hardly ever use it these days so think I'll just use self-hosted alternatives once they've been packaged for Cloudron).
-
Would definitely be interested in this. Specifically, my use-case is building my own smart light switches. Id have the buttons hooked up to microcontrollers that send requests to something like IFTTT or n8n off of a webhook trigger to turn lights on/off.
-
Thats what im seeing. Being able to use LDAP for this would be a godsend but I didnt find info on using LDAP with it. RIP the IFTTT alternative dream?
-
Just chatting with @murgero to look at this. Please pledge some sponsorship if you want, and to respectfully keep devs fed for finishing what we can't: https://forum.cloudron.io/topic/3380/sponsoring-n8n
-
It may end up that Huginn is the better option. Not sure, but that's a Ruby/Rails app too (my primary speciality) so perhaps I can look at getting that packaged so a bit of comparison can begin. Honestly not sure where that rings in on my priority list for the time being though. Reasonably low through the early parts of next year, likely.
-
@jimcavoli happy to sponsor if you do. We did trial it and ended up sticking with NodeRED.
TBH, with ETL tools, it's inevitable to use multiple as the time-saving from having read-made connectors offsets the cost of having different automations in different tools, hence we still run 4 and would likely hedge bets, continuing to use each for their advantages than limiting ourselves to just one.
-
@jimcavoli Nice work and insight. Does this development change anything for your view on the limitations of basic auth? https://forum.cloudron.io/topic/3682/proxyauth-addon
As far as "Some stuff only works in Chrome". I guess that covers all Chromiums, as I tend to use Vivaldi in those cases.
As with all these Apps, I can get some developer assistance if we need to also contribute direct to the apps themselves, so it's always worth having them available in the App Store as "Unstable" so we can review these things and contribute upstream with sponsorship or dev-time as well if necessary.
-
@marcusquinn Yeah, maybe the new auth wall is enough. Haven't tried adding it to this packaging yet, but that could be a reasonable solution, since this is otherwise fairly ready to go and has a lot of asks.