Skip to content
This repository has been archived by the owner on Jun 27, 2021. It is now read-only.

Package as Docker containers? #18

Open
bnordgren opened this issue Jan 6, 2017 · 6 comments
Open

Package as Docker containers? #18

bnordgren opened this issue Jan 6, 2017 · 6 comments

Comments

@bnordgren
Copy link

Docker on ARM seems to be the coming thing. I believe that packaging this software into docker containers may have the following benefits:

  • easier/quicker deployment
  • more scalable
    • if another person shows up with another device having this software, it's easy to make one big system out of two small ones
    • scale just what needs to be scaled (map cache server, web app or aprsd)
    • power down devices you don't need when demand is low
    • leverage desktop hardware when demand is high
  • can easily have "pluggable" map caches for the webapp to use
    • existing GeoServer MapCache for static, pre-seeded map cache
    • mod_tile, renderd and Mapnik from the OSM toolchain to implement a caching renderer.

Also tracking this issue at bnordgren/aprs-box#4, but wanted to know your thoughts on this.

Thanks for your excellent software!
73,
AF7RQ

@ohanssen
Copy link
Contributor

Thanks for an interesting idea. It should definitely be considered :) I have been somewhat busy lately with other issues, but hope to soon have some more time for Polaric work. I think the project will benefit from being further modularized and "containerized".
73, LA7ECA

@ohanssen
Copy link
Contributor

ohanssen commented Mar 3, 2017

Seems like the first thing I can do is to remove some dependencies in the Debian package to allow it to be installed without aprsd and mapcache (you want it in separate containers). Use "recommends" instead. The tricky thing may be plugins that add to both webapp and aprsd (polaric-webconfig-plugin). I'll try to fix this in the next version.

@bnordgren
Copy link
Author

That would be very useful.

I have some initial packaging which I will probably try to document and commit over the weekend. I've got polaric as an all-in-one platform and direwolf packaged separately. The containerizing is pretty straightforward, but aprsd (more specifically, jsvc) requires some oddball command line options which took a while to get right.

I've started on gpsd as well, but need some time to get back to it.

@bnordgren
Copy link
Author

bnordgren commented Apr 22, 2017

...so a month and a half later, I show up with something far from done. I'm giving up on making the process as simple as docker pull polaric-server, because there's just too much configuration. I have, however, consolidated 32-bit arm, 64-bit arm and amd64 architectures into a single dockerfile. Just uncomment the FROM line pertaining to your platform, do your config, and run docker build. I still need to document this process, but I think most of the inner workings are there. You can see what I have at: https://github.com/bnordgren/aprs-box-dockerfiles/tree/master/polaric-server

I did notice that apt-get install polaric-webapp fails on debian jessie for amd64 whereas it succeeds on the 64 bit arm variant. Using the ubuntu:16.04 image for amd64 also succeeds. Looking at the attached log, it seems that Debian jessie amd64 has some brokenness between ca-certificates-java and openjdk-8-jre-headless. Are you seeing this on new installs as well?

install-problem.txt

@ohanssen
Copy link
Contributor

I haven't seen this with jessie, and now stretch is the stable distro. I am sorry I havent had time to go into this. This project is a bit too much for just one person.. I have actually started working on a total rewrite of the client (see webapp2) based on OpenLayers 4. It is promising but takes time.

@ohanssen
Copy link
Contributor

ohanssen commented Nov 17, 2017

I intend to release v. 2.1. this weekend. I removed the dependency on aprsd (there is a 'recommends' now) and merged the webconfig stuff into aprsd. The aprsd now supports login and a standalone config webinterface. I also removed the config dialog (callsign) at installation.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants