TurnKey v14.0 RC1 is LIVE! (aka we need YOU!)

Update: v14.0 stable is available in all build types: OVA & VMDK, Proxmox, OpenNode & Docker (Proxmox build is somewhat generic LXC/OpenVZ container) and Xen & OpenStack.

It is with great pleasure that I announce the release of Core v14.0RC1 and TKLDev v14.0RC1! But first a little history and context... We had always intended to do a v13.1 maintenance release. Ideally it should have been out long ago! Actually we probably should have released v13.2 or perhaps even v13.3 by now, but time just got away from us. :(

Things have been pretty crazy behind the scenes here over the last year or so. Alon and Liraz have both been tied up with other important stuff; including major improvements to both the Hub and TKLBAM. So with the recent release of Debian Jessie we have decided to cut our losses and sidestep the v13.1 maintenance release. As Alon and Liraz are still pretty busy, I am driving the v14.0 release. Alon is providing assistance and guidance but I'm pretty much running it, with a few freelance dev guys doing a lot of the work. :)

Core and TKLDev

In times passed, our first release candidate (RC) only included Core but this time around we thought it would make much more sense to release TKLDev at the same time! This means that the community (yes I'm looking at YOU!) can not only test Core - the base appliance that all others are built on. But you can also test the build, install and usage of the whole library using TKLDev! How cool is that?!

Update: Here's a tutorial showing step by step instructions for building any TurnKey ISO from source.

Download the RCs and help us test them

Core (64bit / amd64 build)205MB ISO  ( changelogsignaturemanifest )

TKLDev (64bit / amd64 build)263MB ISO  ( changelogsignaturemanifest )

Help needed to complete the upgrade to Jessie

As many seasoned TurnKey users would know, historically a major version bump means a rebase on a new OS version. And as I mentioned above, v14.0 is no exception. TurnKey Linux v14.0 is built on top of Debian Jessie (aka Debian 8).

As there are significant changes that come with Jessie we could really do with some community help on this one. Alon has built these first RCs but I am sure that there will be plenty of issues we'll need to resolve. Just finding the bugs and reporting them on our Issue Tracker (or even just posting here) would be a massive help!

64 bits...

Many may note that there are only 64 bit downloads available this time around. Some may recall that we considered discontinuing 32 bit support back with the v13 release. Even though we decided not to, we have considered the 32 bit builds to be legacy builds for some time now. For this release we are focused on the 64 bit release only at this stage.

We are not totally clear whether this will be the end of 32 bit builds or not. We are deferring that decision for now and will revisit it once we get closer to a final stable release. As a general rule though, the only people that should be affected are those using really old hardware.

Track the progress

[UPDATE] the table linked to below may be out of date. Please see this google spreadsheet for up to date info regarding the v14.0 appliance updates.

As with the v13.0 development we plan to use the GitHub based dev wiki (v14.0 page - appliance status table) and issue tracker so everyone can keep up to speed on progress. Alon and/or Liraz will be merging pull requests at least once per week (often daily). Hopefully we'll get any show-stopper bugs sorted out pretty quickly.

So with a bit of community involvement tweaking and upgrading I hope v14.0 to be our best release yet! I know that with your help we can make it happen! :)

New appliances

There are also a number of new appliances that have been community developed that we hope to get into this release. If you have a favourite open source project or are associated with open source development and would like to see it released as a new TurnKey appliance then now is the time to act! If your appliance is ready and meets the standards by the time the stable release is ready then we'll include it in v14.0!


OnePressTech's picture

Thanks Jeremy...I'm sure the release will be a success in your deft hands.

I've got about 3 weeks of client work and tax backlog to get through and then I plan on investing time in TKLDEV and the LAMP appliance. I build multi-site WordPress appliances based on the LAMP stack. If things go smoothly I'll try to kick in on the WordPress appliance as well even if it's just to allocate a day to do testing.


Tim (Managing Director - OnePressTech)

Jeremy Davis's picture

Thanks for your vote of confidence Tim! :)

I'm not sure where we will be up to by the time your free, but even if we are close to a release anything that you can contribute would be super awesome! Besides I doubt we'll be so close to release that we couldn't hold off if you have something extra good for us! :)

The WordPress appliance has received a lot of love from a savy community member so the new version will be a big improvement anyway! But if you have more good ideas then that would be great!

Going forward: Assuming that I can successfully get this release out the door (which the signs are looking quite good so far...). Then I will be in charge of future releases too. I am hoping that that will result in more regular releases and a more responsive TurnKey (in the sense of TurnKey being more responsive to community input). Not that Alon hasn't done a great job with previous releases but he has a ton of stuff on his plate and I think that more pure programming (including developments such as the Hub) are more his passion. So I am hoping the end result will be a win-win all round! :)

Rob Fantini's picture

would it help in finding issues if we tested in place upgrades?


if so then is there a jessie sources list for turnkey/jessie ?  or should we test with out that.

Jeremy Davis's picture

We have decided to replace both phpMyAdmin & phpPgAdmin with Adminer. This is in part due to a change in phpMyAdmin which doesn't (easily) allow it to honour the port we serve it on (12322) - See issue#340.

Whilst we understand that many TKL users will miss phpMyAdmin, we believe that now is a good time to change. Liraz suggested this change almost a year ago and with the Jessie issue (linked above) now seemed like a good time to switch. Adminer is also much lighter weight and works lightening fast!

Hopefully users will adjust to this change and worst case you can always install phpMyAdmin (easiest is from Debian repos).

The current LAMP and LAPP appliances will very soon have Adminer included (when built with TKLDev v14). My fork of the code (which I will be issuing a pull request for shortly) builds successfully and has passed preliminary testing. Hopefully by tomorrow you will all be able to test it yourselves! :)

OnePressTech's picture

Is Adminer Editor going to be pre-installed as well?


Tim (Managing Director - OnePressTech)

Jeremy Davis's picture

In my current testing LAMP server Adminer Editor is available on https://<lamp-ip>:12322/editor

Adminer itself is on https://<lamp-ip>:12322/ as per previous phpMyAdmin default.

Jeremy Davis's picture

It works on my Proxmox (3.4) host (in KVM) using default settings... When I make the VM I pretty much go next, next ,etc... Then when I install pretty much same thing...

Or are you using the manual installer?

Jeremy Davis's picture

I still couldn't reproduce your experience. I just tried to (on PVE 3.4) and selecting the same options as you (guided; full disk & LVM; max disk usage etc) results in a trouble free install..

But then I noticed that during my install it installed grub to sda (I'm using default IDE vHDD) whereas yours is vda (I assume virtio?).

So I ran thorough it again and I can reproduce your issue but only with a virtio vHDD; with an IDE one it works fine... So whilst there is obviously a bug somewhere; its a weird one...!

It might be worth trying installing to an IDE vHDD and then when you reboot (or sometime later) reconnect it as virtio and see if that works. It should work AFAIK but I've never done it with a Linux machine - have done it with Win VMs & works fine so long as you preload the drivers; which shouldn't be an issue with Linux.

L. Arnold's picture

"use full disk" solution solves it for me for now.  Can't do an LVM install in Jessie on my side.  Not focused on that just commenting.

Ken Robinson's picture

Hope to give this a spin in the next view weeks! I use TKLDev to create custom Linux builds for myself.




Jeremy Davis's picture

That'll be awesome!

Have you built anything that you'd like to share? Maybe we can squeeze it in this release if you're up for it?!

Ken Robinson's picture

I did start RT 4.0 (https://github.com/DocCyblade/TKL-RT40) months back hoping that my work would step up and use some open source software. They went in another direction. I may update the code to use v14 of TKLDev once it's released. I was thinking I would have some others that would have jumped in and helped but looks like not dice, however according to source forge there was 50 some downloads so it did see some lookers, but no feed back :-(   

Most my builds are just custom templates I use for customers in my side biz. I take the standard LAMP/LAPP and tweak it a bit so it has all my customization I do for every build, save some typing. I am looking at creating a custom database server with both MySQL and PostgeSQL for my own uses. 

I will have some time over the next 3-4 weeks and would like to pitch in where I can. Whats the game plan for updating the apps etc....

Has the the core devs updated the TKLDev docs for the v14 release? I need to re-read over the build processes. I think I read there was some changes to chroot etc..




L. Arnold's picture

Jeremy and Team fixed the main core files so if you just install TKLDEV (from the JESSIE RC1 Link at the HEADER of this POST !) then run tkldev-setup (following this flow below) and you should be good to go.

My flow notes:

After App Install (VM)

then login via SSH  (I recomend BitVise SSH Client)

then Run TKLDEV-SETUP with these lines.

cd /usr/local/sbin

wget https://raw.githubusercontent.com/turnkeylinux-apps/tkldev/master/overlay/usr/local/sbin/tkldev-setup

chmod +x tkldev-setup


Then get out of "/usr/" and go to "/turnkey/"

cd /turnkey/fab


verify you have Common (directory) there (if it is there then tkldev-setup seems to have worked)

cd products


(Core should be there from tkldev-setup)

Then pull your Git into Products

IE, LAPP if you want to test the system  (the following will lay a LAPP directory next to CORE

git-clone https://github.com/turnkeylinux-apps/lapp.git

If you are testing, then clean your Git records just because you don't need them as you are not developing in this mode to my understanding (I suppose you can though)

cd (app folder name)
rm -rf .git

If you are developing however keep your Git (dont run the rm command above)

then just build it.  


If you changed something in your folder then to run a new Make use this command (per Jeremy)

make clean && make

I recomend coffee and time if it is a big package.

Worked so far for me anyway.

Ken Robinson's picture

Like falling off a bike, you don't really forget! Thanks for the quick refresher! I hope to have some time this weekend to fiddle around. Think I'll test a few builds then work on RT




Jeremy Davis's picture

Sorry about that Ken I had forgotten about that... I remember now! (I must be getting old and forgetful...) You were (still are IMO) the shining example of how a new appliance is done! :)

TBH I did wonder what happened to you. You were very active and then dropped off the radar... I know what it's like sometimes with open source dev... It sometimes feels like you are shouting into the void; like you are all on your own! It's a little disappointing that you didn't even get any feedback, especially when there were people asking for the appliance...

I haven't tested your code or ISO but I just had a quick look at your code on GitHub. Seeing as you went with the package management version it should be pretty easy to update. The only thing I would do is remove the backports bit and add those packages (now we're on Jessie they should be the same or similar in the main repo) to plan/main and you should (in theory) be good to go! If I'm right then perhaps it's not too much work to get it ready to add it to the library!? What do you think? If you want to go that path, please post a new issue on the tracker regarding RT and I'll tag it appropriately. Actually if you'd like do that regardless. Even if we don't get it in this time, you've done most of the heavy lifting already so perhaps someone else might step up even if you've had enough of it...

And/or if you want to help with other updates to appliances then we'd be more than happy to have some help! :) We have actually done a lot of the appliances but if you want me to allocate one or 2 then I'm more than happy to. Otherwise if you have a pet appliance that you'd like to work on then please let me know.

Ken Robinson's picture

yeah was hoping RT would have been a good pick for work and I could marry the two. I'll still finish it. Will be a good refresher in app building.




Ken Robinson's picture

FYI, as your suggested I posted an issue on the tracker. https://github.com/turnkeylinux/tracker/issues/376






L. Arnold's picture

Quite excited.  Clean install except one notice (brief of Postgresql restart) at inithook.  Modifiied from Carlos's V's excellent effort last Sept.  (Thank you Carlos for the very strong start!)

Working really well between various host situations.  Most Importantly running in SSL by default.  Toggled index.php to port 12325.  Carlos had dropped fileserver/samba in as well and seems to be running clean.  Will explore the benefits there.

Want to integrate Odoo Package rather than Git Clone as the install is quite a big one and any new Make takes quite a while.  But ISO built.

GitHub says I did 76 commits on this one.  There were some test abandonments before for sure.

If anyone would like to try I'll bet I could post to DropBox or somewhere else.  

Next I want to work on Connectors to Magento.  Should be a lot easier to integrate now that the base install is there.

Jeremy Davis's picture

Awesome stuff mate! :)

I just posted on the other Odoo thread that you can email me your SF info (if you have an account) and I can add you to the 'TKL Community' SF project so you can upload your ISO there... (if you want?)

Also I noticed in your GitHub that you made a start on Joomla a while back. How far did you get? Is it worth building on or should we just start again?

L. Arnold's picture

I recall it being 98% good.  Seemed it needed one very small manual tweak after Make.

I have not looked in a while but can do so.  I expect Joomla has moved forward a bit.  Good system for sure and need to have TKL offer a 3x version.

Will try a Jessie Make and see what comes of it.

John Carver's picture

This week I became aware of Logjam, yet another attack on SSL.  https://weakdh.org/  Fortunately, I've been hardening my servers using information from Ivan Ristic's book Bulletproof SSL and TLS.

Now would be a good time to implement the suggestions recommended here https://weakdh.org/sysadmin.html for all the appliances using the affected applications.  Changes that affect multiple appliances should be made to common, rather than to each specific appliance.

What is the best way to setup my TKLDev 14.0 development server so that changes made to the common folders can be submitted to the developers via pull request?

Information is free, knowledge is acquired, but wisdom is earned.

Jeremy Davis's picture

[I updated this post with more detail for the benefit of others...]

So something like this:

cd common
git remote rename origin upstream
git remote add origin <your-github-common-fork-url>
git branch ssl-hardening <or-similar>
git checkout branch ssl-hardening

Then hack away... :)

I recommend committing often (although you're not new to git so you probably get that already)

git add .
git commit -m "just committing some code"

Or shortcut:

gc -am "just committing some code"

Note though that the '-a' switch won't track new files, only updated ones; you still need to

git add /path/to/new/file
or to just track all new or modified files
git add .

Hint: You may already know this but to save you a little typing when renaming a file, instead of

mv old/filename new/filename
git add new/filename
git rm ;old/filename

instead you can just do

git mv old/filename new/filename

Anyway, once you are ready to push your code to your GitHub account

git push origin ssl-hardening

Then when you have tested and are happy with your code, then log into GitHub and do your pull request

There may be some conflicts with changes going on in common but often they can be resolved by merging upstream with your branch. Personally I try to keep my local master branch up to date with upstream (then merge with any branches that I'm actively working on). So regularly do something like this (make sure that any changes are committed or stashed, otherwise they will come with you)...

git checkout master
git pull upstream master
git checkout ssl-hardening
git merge master
John Carver's picture

To keep my forked copy up-to-date, I had to add one line...

git checkout master
git pull upstream master
git push origin master
git checkout ssl-hardening
git merge master

Information is free, knowledge is acquired, but wisdom is earned.

Jeremy Davis's picture

Have a look above at Richard's posts. Obviously we'll need to investigate further as it seems to be a bug but that might get you going in the meantime...
Jeremy Davis's picture

But it was a complex appliance and I don't recall now but there was issues with Dan's Guardian IIRC. Actually I don't think it's being maintained for a long time now... BUt E2Guardian (a fork of Dan's guardian) looks like it is pretty active...

Anyway, let's hope someone steps up... Or perhaps you could have a go yourself! :)

Jeremy Davis's picture

But doesn't know where to start; I have just written a blog post on how to install TKLDev into a VM and then build an ISO (which you can then test in another VM).

Have a look and provide feedback on the blog post here.

L. Arnold's picture

Its actually fun building these things.  I encourage others also to try.

Linux from the outside does seem daunting.  A bit like tennis just swing the racket and swing again and it comes.

We should build a Linux-Windows Dictionary to get the parrallelism.  Same for Mac etc.

Small aside to begin with:  realize that in TKLLinux you don't normally need to type the intro common in other systems of "sudo". though if you want to change user presence (say from root) you would say "su - otheruser"...  then proceed.  "exit" seems to return you to root user presence.

Not intended to scare you.  I have only done this in one situation, where there is by standard practice a dedicated "odoesque" User right running the Odoo system.  Historically was "su-ing" in to start the Odoo server within TKL".

Apache does similar and user rights are normally in the form of "www-data" in the webspace of TKL etc.

You will see this when you browse around in File Manager (at present IE and Firefox will get you in that way) which is more or less a Web Browser Java based GUI interface to look at your files.  When that doesn't work (like in TKLDEV where it is turned off) use a SSH Client.  I like "Bitvise SSH Client".  Has a built in SFTP File Exchange window that runs along side.  Free for homies.

Learning isn't bad.  Pretty much learned what I know through TKL.  Triping up once and a while is part of the process.


Tim Collins's picture

Thought I'd have a go at joining this party. With the guided install on VMWARE I got a fatal error 'Unable to install grub /dev/sda5' others have mentioned this too on other VMs.

Simple solution was 'No' to the install which then prompts for a path, I just left blank an it installed OK to the default /dev/sda

Jeremy Davis's picture

I've added (a link to) your post to the bug on the tracker. I probably should update the blog post with a note about that error...

And of course thanks for joining the party! :)

Jeremy Davis's picture

If anyone is wondering which appliances should be building so they can give them a bit of a test, please check the Build Status. If you test an appliance that isn't building and want to 'adopt' it, it's probably worth mentioning to me (comment here, create a bug on the tracker and mention in the comments; or just shoot me an email: jeremy AT turnkeylinux.org). That way hopefully we don't have any wasted efforts...

I'll try to keep updating it as often as possible, but if you have any updates (appliances that build, or ones you've tested that work) please let me know.

If you find any bugs, please post on the tracker

pee's picture

Hi congrats with the new release!

I see no docker build on the webpage? The v13 was available on docker too, which was great!

Can you please add docker as well, as it would be pity if you miss out this important platform.


Thank you very much!

Jeremy Davis's picture

Along with all the other build types... :)

To start with though we are just making the ISOs... Once we have the library updated then we'll release them all in all the build formats.

Jeremy Davis's picture

Just in case you missed the blog post Docker builds are on the Docker Hub. :)
Hans Harder's picture

Using the core version now for testing, and it seems very stable.

The systemd is working very nicely (not expecting this).

Perhaps in some builds the MariaDB should be used now instead of the MySql version... 

QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Jeremy Davis's picture

Sometimes the last lines of boot code run over the inithooks/confconsole with systemd; but otherwise it's been been pretty good.

As for MariaDB, I think that would be a good idea at some point. However as MySQL still works fine and Debian still use it as their default SQL DB M in LAMP I'm not in any real rush... It seems like a bit of work for no real obvious gain at this point. Please feel free to educate me though if there is something I've missed...

PS please excuse this delayed response I wrote this ages ago but forgot to hit post...

Hans Harder's picture

Openvz  14RC1 core version

Is it possible to get a TKL 14RC1 Core for openvz.  Or is someone busy with it ?

--- Update:

I got now a LXC  TKL14RC1 core running using the tkl-patch tool.  Now trying to clean it up.

Anyone got some ideas about the systemd services that needs to be running inside openvz or lxc container :

root@core ~# systemctl list-units -t service
UNIT                               LOAD   ACTIVE SUB     DESCRIPTION
console-getty.service              loaded active running Console Getty
cron.service                       loaded active running Regular background program processing daemon
getty-static.service               loaded active exited  getty on tty2-tty6 if dbus and logind are not available
hubdns.service                     loaded active exited  LSB: HubDNS startup and shutdown init script
kbd.service                        loaded active exited  LSB: Prepare console
networking.service                 loaded active exited  LSB: Raise network interfaces.
rc-local.service                   loaded active exited  /etc/rc.local Compatibility
resolvconf.service                 loaded active exited  Nameserver information manager
shellinabox.service                loaded active running LSB: Shell In A Box Daemon
ssh.service                        loaded active running OpenBSD Secure Shell server
stunnel4.service                   loaded active running LSB: Start or stop stunnel 4.x (SSL tunnel for network daemons)
syslog-ng.service                  loaded active running System Logger Daemon
systemd-journald.service           loaded active running Journal Service
systemd-modules-load.service       loaded active exited  Load Kernel Modules
systemd-random-seed.service        loaded active exited  Load/Save Random Seed
systemd-remount-fs.service         loaded active exited  Remount Root and Kernel File Systems
systemd-setup-dgram-qlen.service   loaded active exited  Increase datagram queue length
systemd-sysctl.service             loaded active exited  Apply Kernel Variables
systemd-tmpfiles-setup-dev.service loaded active exited  Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service     loaded active exited  Create Volatile Files and Directories
systemd-udev-trigger.service       loaded active exited  udev Coldplug all Devices
systemd-udevd.service              loaded active running udev Kernel Device Manager
systemd-update-utmp.service        loaded active exited  Update UTMP about System Boot/Shutdown
systemd-user-sessions.service      loaded active exited  Permit User Sessions
udev-finish.service                loaded active exited  Copy rules generated while the root was ro
webmin.service                     loaded active running LSB: Webmin

But it seems to be running smoothly in a  LXC container


QUOTE:  ech`echo xiun|tr nu oc|sed 'sx\([sx]\)\([xoi]\)xo un\2\1 is xg'`ol

Jeremy Davis's picture

Good to hear that they're going ok on LXC. Sorry I can't help with LXC config...

It's probably not relevant to you and LXC but FWIW all the code that provides all the different builds is on GitHub, it's called buildtasks.

robertfantini's picture

using tkdev etherpad iso builds.

using the iso I made a kvm using proxmox.

test pads work.

Next addons - there are many -  over 100 -  many with recent changes. It looks like some very competent coders are working on them.

To use those two things had to be changed.


1- add admin account.  [ this is from tk forum ] 

edit /opt/etherpad-lite/settings.json 
insert after
    "database": "etherpad"

  "users": {
    "admin": {
      "password": "changeme",
      "is_admin": true
    "user": {
      "password": "changeme",
      "is_admin": false

2- user nodejs  needs to be able to write to etherpad-lite/node_modules .  by default can not.

chgrp nodejs etherpad-lite/node_modules
chmod 775 etherpad-lite/node_modules


Etherpad addons should be enabled by default .  There are must have ones like  list pads and  delete pads.  And over 100 others I've not tried. 

I do not yet know how to check the code and put suggested changes to git in order to help get that done.

Jeremy Davis's picture

Thanks for testing and giving feedback. It's really appreciated...

As for the changes; configuring the admin account is already a feature request. However I think that your comment adds a lot of additional weight to the idea. I am going to update the feature request (to include enabling addons) and link to this comment of yours... :)

Jeremy Davis's picture

I haven't been doing a very good job of keeping the v14.0 dev wiki page up to date so I have just uploaded a spreadsheet to Google Docs to ensure maximum transparency. Have a look here. Hopefully that will be easier to keep up to date (and so will remain more up to date...).

Please note that some of the updates were done prior to the V14.0 TKLDev so were actually only tested against Wheezy. I'm pretty sure that I have made the required changes to make most of them build, but haven't actually tested them all. Please let us know if you have trouble building any of them; especially ones that are "completed_needs_review" or "completed_ready_for_qa".

Jeremy Davis's picture

Actually it uses 'shutdown -r now' (essentially the same as 'reboot'). We still haven't quite got to the bottom of why it doesn't work. Actually some of us have experienced builds which theoretically should behave exactly the same which do reboot when they are meant to. So it's some weird intermittent bug (intermittent in the sense that one user built ISO may work while another doesn't).


Add new comment