Author Topic: What linux distro do you guys use/recommend I use for my BitShares project...  (Read 1561 times)

0 Members and 1 Guest are viewing this topic.

Offline pseudoscops

Thanks Theoretical. I knew there was more than one reason why I voted for you yesterday  :)

Sorry it took me so long to vote for you by the way, I had a new machine to build and had to then upgrade and build my wallet.

Actually while we're on the topic my current hot wallet is running sluggishly inside an Xubuntu VM on VirtualBox, but I think that might be because VirtualBox guest editions is not functioning properly or that I need to turn on hardware acceleration. It seem like the sluggishness is mainly due to screen draw speed in the vm, but I've only allocated two cores and 4GB and so perhaps I need to up that too.

Offline theoretical

FWIW, BitShares itself is most tested on Mac [1] and Ubuntu 14.04 LTS.  Windows is officially supported, but in practice is something of a second-class citizen because most of the highly active developers [2] and users use something else.  If using another distribution or Ubuntu version, your mileage may vary.  The amount of support the developers can give users on unsupported OS's is officially "none."  Unofficially we do occasionally look at Github tickets and forum posts from people running into issues with non-Ubuntu-LTS distributions (or toolchains) that aren't reproducible on the officially supported distro.

[1] Most of the other developers use Macs.  I'm about the only one who actually develops BitShares on Linux, although we have many internal and community deployments on Linux servers.

[2] With the notable exceptions of dnotestein and emfrias, who do most of our Windows support among many other things.
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline pseudoscops

Thanks  liondani! Much appreciated to get your take.

I was however under the impression that Mint was built as a Desktop distribution and is not really suitable for servers. Am I wrong on this?

I know it's based on Ubuntu and hence Debian and so I guess this could lend weight to me adopting Debian as a base for future containers. I'd be happy to try Cinnamon (Mint's GUI) on Debian for those instances where I need to run something outside of the command line. I'm assuming this is possible and could give me a MINT like desktop experience when I need it, though I'd be inclined to stick with XFCE4 for speed  when accessing the containers over VNC.

Any other suggestions.....

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
« Last Edit: February 03, 2015, 03:13:14 pm by liondani »

Offline pseudoscops

I'm going to be setting up some development and server infrastructure for a BitShares project I have in mind that I hope will help grow the BitShares ecosystem. It'll be a web based project and may incorporate some WebVR technology for parts of what I have in mind. I’m planning on changing things up a bit compared to the way I usually develop and deploy things.

This new setup will need to do double duty for a hardware based cloud connected side-project I'm working on too, a project that I also hope to someday connect with the BitShares ecosystem. I am aiming to move away from largely Ruby/Rails focussed developer environments running directly on OSX , with Heroku being used as the main server/production environment.

I want to move to a Docker based workflow that uses Docker containers for local development of apps and for remote developer desktops too. I also want to use Docker on the server sometimes with Docker on its own (see ARM notes belwo) and sometimes by way of CoreOS and http://deis.io/ running on a dedicated baremetal server cluster I am setting up. As mentioned I'm am keen to Dockerise (or possibly Rocketise) the development environment and this needs to go as far as having dockerised dev envrionments with full XFCE4 installed that can be VNC'd in to from anywhere (see how Sony do it https://www.youtube.com/watch?v=M9hBsRUeRdg).

My go to linux distro at the moment is Arch Linux and I have some development only Docker containers on my local dev machine and also separate EC2 AMIs (not-Docker) for remote developer desktops that are based off of it. These remote AMI based desktops allow me to take advantage of fast GPU EC2 instances to run 3d modelling apps over VirtualGL/TurboVNC. This allows me to avoid outlaying lots of cash on GPU hardware and also frees me up to model, in real-time, on my Macbook Air anywhere where I have a reasonably fast internet connection. The Arch based AMIs for remote GPU work took quite a while to setup and get working. I had Nvidia driver issues when I first tried to get things working with Ubunutu on EC2. The thing is - I really really love Arch and one of the main reasons for this is the Arch Wiki. It really helps me to better understand linux and spells out exactly how to get most things I want to get done on linux done. The Arch Wiki is light years ahead of Ubuntu support channels I experienced prior to discovering Arch (i.e. Googling or searching StackOverflow for seemingly random and conflicting opinions and approaches).

ARM support is very important too as my other project is hardware based and I'd like to run docker on the embedded ARM hardware there instead of running my code directly on baremetal Raspian/ArchArm. I'll be upgrading all of my ARM hardware in my prototypes to Rasberry Pi 2 or, more likely the Odroid-C1, and so this opens the doors to debian/ubunutu as they are ARMv7-A compatible. I'd also like to have the ability to deploy Docker containers to online.net upcoming ARM based server platform (http://labs.online.net/) and so this is another reason that ARM is important too outside of my hardware based project. Arch has archlinuxarm.org which is great in my experience so far, but archlinuxarm.org is maintained by a separate group of people, not the same as the the core Arch linux maintainers, as far as I’m aware.  So I'm wondering if baked in ARM support at the main distro level is the way to go and I’m not sure which distros support ARM out of the box?

So I guess my big dilemma is whether to continue to use Arch linux anywhere within the mix. For my Docker developer instances I'm trying to decide whether to stick with Arch, or possibly Manjaro based no Arch. Further is there anyone out there who uses an Arch based distro for server duty? I'm pretty sure the answer to that from you all will be - 'Are you crazy!’ In light of all of the above, and perhaps to stop me jumping around more than one distro, what distro(s) would you recommend I take a look at? If someone can recommend one distro I can run across all of these platforms that has documentation to rival the Arch Wiki then I am all ears!

Package availability is also important. I don't want to have to build absolutely everything from scratch. Also I like that Arch gives me the latest of everything due to rolling release, but obviously this is where the downsides come when you start to consider it as a server platform for server deployments. A distribution that gets the balance right between bleeding edge and being stuck in the dark ages would be great!

Basically this post http://sjoerd.luon.net/posts/2015/02/debian-jessie-on-rpi2/ got me wondering about all this and whether I should just standardise everything on Debian.

Discuss...... :-)