Alpine netboot APKs at boot time - alpine-linux

I new to alpine linux, so I didn't really grasped the concept of it yet.
What I want to accomplish is a netboot alpine with apks that aren't included in the alpine-base pkg. For example sudo python3
I managed to boot alpine with dnsmasq's tftp server and lighttpd.
As far I understand I can provide an overlay.tar.gz in cmdline.txt. If i add the alpine repo to /etc/apk/repositories and then apk add the pkgs then save the overlay and boot with it, it will have the pkgs I need.
But then it will load them from the external alpine repos.
What I want is to have them served with my http server.
What is the best way to do this?
I figured I could maybe add the pkgs in the APKINDEX.tar.gz and the corresponding .apk-s to the http server.
But this doesn't really seem to be a good solution in my opinion.
Or is it?
Or maybe I should make a custom alpine image and then boot that?
Any help would be much appreciated, because I don't think I even managed to formulate the problem, since I didn't really found anything on the internet yet.

Found the easyest solution:
Serving an extra repository with the http server with the needed packages, adding the repository to /etc/apk/repositories, and including the packages in /etc/apk/world.
This way when it boots it will install the additional packages from the extra repository.

Related

Getting started for team development

I want to start developing with a team using a Neo4j DB, a Spring Boot backend and an AngularJS frontend.
For that, I want to have a Maven Repository and a Jenkins.
To enable my team to use this, I want to have some kind of server at home that can provide remote (sequred) access to the Maven Repo, the Jenkins and the Neo4j DB and that can host the AngularJS frontend communicating with the Spring Backend.
I don't really know where to start. After some googling I found a NAS, but I'm not sure if they suit my requirements.
I've found tutorials for configuring a VPN but there may be a simpler way.
What would you recommend?
So, after some more asking around and googling if found 2 possible solutions, that i want to try out in the future:
First of seems to be the NAS (I've only read about Synology), although it not seems to be intended for my requirements. However there are packages available in the DiskStation OS that allow the installation of a Jenkins, a Maven Repo and Docker, allowing to host a Neo4j DB. I was told, I should be cautious, because only the "x86 diskstation supports docker". At this point I'm not too sure what this means, but since I'm posting an answer, I don't want to keep this knowledge for myself.
I didn't really find anything on hosting applications.
Second solution seems to be, to build a homeserver. In my current understanding, it should suffice to have a spare PC at home for that. All the steps involved should be available under here (german).
I didn't find anything about hosting applications here too, but since this is a "real" system, I'm pretty sure it's possible.
I'm going to try the second one out and keep you updated as far as I don't forget it :)

Understanding docker plugins

I see some guys talking about the docker plugins. But, I couldn't find anything on the docker docs about it. Can someone help me with this. Is there anything like docker plugin. I basically want to extend docker either via a plugin or else I have to fork it.
I guess these guy want say plugins to others software can have Docker integration. How Jenkins has.
https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin
Do you saw Docker plugin to Jenkins?

Installer for Software? Paas?

currently I'm looking for an open source project that gives me the opportunity to install software easily. I prefer direct calls or access with a REST interface.
I thought that CloudFoundry would fits my needs but it is'nt so.
AppFog (https://www.appfog.com/product/) comes much closer to my goal. It allows me to install Drupal, Wordpress, PhpMyAdmin, NodeJS Apps and so on.
The conclusion is that I'm looking for an project that...
is open source.
gives that possibility to install, configure and
uninstall software
is extendable when a specific software not
available
is accessible with an interface like REST.
is "hostable" on my own linux server
I would be happy for all kind of hints and tips :)
Cheers Tobias
Docker is seems to be the next big thing in the PaaS world. There are dozens new projects that build on top of docker or supporting it. For example OpenShift and Apache Stratos support docker. So if you look at solutions based on docker you can find a solution for you needs.
Right now I'm using docker for hosting couple of Drupal websites with simple bash scripts to manage them. Nginx is used for web traffic routing
Docker is open source
Gives you ability to prepare and install apps
You can build what you need on top of it
It has REST interface
It is running on nearly all major Linux distros
Its relatively easy to learn and use
Has great community
Tobias,
Suggest you look at Apache Stratos:
100% open source
Easy to Get Up and Running
Highly extensible, flexible, expandable
Uses REST APIs
Runs on Linux (Ubuntu or SUSE)
Mature (version 4)
See:
Intro article -- "Why Apache Stratos is the Preferred Choice in the PaaS Space"
http://wso2.com/library/articles/2014/05/why-apache-stratos-is-the-preferred-choice-in-the-paas-space/
Apache Stratos Project site -- which notes that "Stratos PaaS is easy to get it up and running in quick time. A developer will be able to run and test PaaS framework on a single machine to try out."
http://stratos.apache.org/
Cheers,
Michael
OpenShift is what you looking for :
it is open source and free for 3 gears for ever.
gives that possibility to install, configure and uninstall software in openshift.redhat.com or in rhc client tools.
it is extendable when a specific software not available is accessible throw DIY(Do it yourself)
with an REST interface
is "hostable" on Fedora or CentOS .
It is really easy to setup throw Eclipse.

Docker as replacement for standalone multihost webserver

I'm thinking about build system for my web server based on docker probably on CoreOS.
Now I have two apache webservers primary and fallback which are in sync.
I want to move my actual webserver to container and build new one with new php and nginx for new projects.
I want to store all applications data and code outside of container in mounted folder as volume. But not sure if it's good approach. Mostly it's because of need to keep current deploy with jenkins, and all code is also in git repository.
Is there some best practice, how to deal with this?
You're getting into the "experimental" side of devops. There's nothing wrong with that, but it is a bit like the wild west. If you use Docker, Vagrant, etc, make sure you're using OO best practices. And just pick a sensible approach.

Packaging/Deploying web applications in rpm format

Is it a good or a bad idea to package and deploy web applications in rpm format. Did anyone experiment with this. ?
Thank you
It is a good idea, especially if your application relies on specific packages/libraries. It is also relatively easy to do, since httpd config usually just scans /etc/http.d on RPM-based distributions.
It is also much easier for people to try out your application versus having to go through a usually multi-step install HOWTO's.
You can look at RedHat's webalizer RPM for a sample on how to package web apps as RPM's.