Frameworks for a Linux auto updater - linux

Basically, there is a webapp that runs on the localhost on ubuntu.
I want to be able to implement an update or two from my side, and have the few machines that will be running the webapp also receive the update on their end. (All the machines that run the webapp on their localhost also have internet connectivity)
I thought of
1) A SQL server that holds simply the latest version
2) The webapp connects to the server and checks the latest version and its own version
Beyond this, I'm a bit lost. I was hoping someone could steer me in the right direction for framework or some text that outlines how to implement this sort of thing.
-Apologizing in advance if the question is too vague/non-descriptive

You Could Make your own repository and add it to the repository list of your package manager (Why reinvent the wheel?) Example Package Repository Creation Tutorial With Apt

Related

How to replicate local code to Ubuntu server

I am hosting a web application in ubuntu using nodejs. i am using Webstorm ide and when ever i add some update then i have to connect to the server using ssh and copy and past the new code. isn't there any IDE available which do this automatically. at least it should has a button with credential to the server so when ever new update is ready to publish press the button and update the code on the server.
There are many solutions to this. I would use Docker my self, as it is very useful during development as well, and it is portable. You can use node-ansible and many many more. Which is the best for node in particular I don’t know. But search for deploy systems and you will definitely find.

How would I host deb packages?

I'm currently working on a github project mainly focused on windows users, written in Java. Install4j allows for easy .deb/.rpm etc. package conversion...
We could just ditribute the .deb on the download side, but when looking at gitlab a while ago, I saw, that Gitlab is using packagecloud.io as a hosting service for their packages (usingtheir own domain), so they can be updated using apt-get.
My question is, if there is a free service working just like packagecloud.io (not launchpad or similar with baazar and that advanced stuff) which can either be hosted on our own server or a public server. Or if there even is a downloadable version of packagecloud.io which we could use on our own server.
You can configure Travis CI to run extra commands when the build succeeds. You can put in some conditions, so that the deploy stage will only be run if commit happens to have a tag name. See the deployment documentation to get going.
A number of providers are officially supported, among which PackageCloud.io.
You might find the dpl utility useful, as it assists with writing and testing deployment settings.
Check out OpenRepo: https://github.com/openkilt/openrepo
I think this is what you're asking for. This is a package hosting server that can make packages available for both Debian (APT) and Red Hat (RPM) files.

How do I use NodeJS on Asustor AS-302T NAS

I have recently bought a Asustor AS-302T NAS, which is an absolutely brilliant solution for the home. One of it's most impressive features is that you can install apps which extends the ordinary behavior of a NAS. And if you are a developer you can also create your own apps.
While apps are fun, I have more interest in using my NAS as a kitchen-sink for my personal nodejs projects. In short I want to run nodejs application that I can then call from various other machines around the house. My own mini-cloud for IOT experiments.
Installing, one click only
Having installed NodeJS through App-Central I am at a loss how exactly to start using NodeJS on my NAS. The whole installation is essentially an on/off switch with no options or visible settings at all. I can find no documentation on practical tasks like uploading a nodejs application, deal with access rights or even execute it.
Under Windows or OS-X I would use npm via the command-line or shell, but Asustor is a purely html based interface (with the exception of XBMC through HDMI).
Why offer to users the option of installing NodeJS -if it's impossible to actually use it?
So my question has three aspects to it:
How do i get access to npm on my Asustor NAS
How do i get my NodeJS application running
Is it possible to run my application as a service (executed when the NAS boots)?
From the ASUSTOR Developer's Guide: apps are installed into
/usr/local/AppCentral/$APP_NAME.
NodeJS executables will be at path /usr/local/AppCentral/nodejs/bin/node and /usr/local/AppCentral/nodejs/bin/npm.
You can login to NAS via SSH and add them to PATH variable, or create symlinks...
I'm also searching for solution how to run them as a service (daemon), maybe an /etc/init.d script might help.

What are the way programmers are using to deploy its node.js app in ubuntu?

What is the recommended way to deploy Node.js on Ubuntu 12.04 in a production environment?
I saw this ppa but I don't know if is well maintained or if it will and if is a source in witch one can trust.
I know that is easy install Node.js manually, but seem to me that install it using the Ubuntu packages manager will allow me safe some management time and will be more integrated with the way the underlying server is being currently management. So, what are your recommendations? Thanks in advanced.
we are using Chef with the existing node.js cookbook
Well, after read lot of posts and pages that talk about Node.js deployment-installation, I must said that Chris PPA is mentioned in tons of them as an official source. Beside one can see her PPA linked at the Github Node.js wiki.
So, seem to me that is trust enough to be used in production, what made it the choice if you want keep your system updated using standards Ubuntu tools.

Keeping an apt-based distro, running as a web server, up to date

I am in the process of configuring a production web server running Debian 5.0. How do you keep an apt-based distro up to date. Is there any best practice or magical ways of doing it? Logging in via ssh and running apt-get upgrade manually seems unrational.
EDIT:
After some discussion in the comments I am now deciding to upgrade the server manually but would like to know how to keep up to date with what packages to apply.
Automatically updating your server could be problematic; the installation could fail, the new package could have slightly different behavior (debian is pretty good at avoiding this), or a condition might have changed which only becomes evident when package installation forces a service restart, etc. So I would advise against unattended package installs.
That being said, you could look into cron-apt, which you can configure to do just that, or to download the packages in advance, and alert you about the available updates so that all you have to do is log in and install them.
Additionally/alternatively, you could subscribe to debian-security-announce, which sends out notices of new security updates.

Resources