New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to cleanly uninstall dokku? #449

Closed
saidimu opened this Issue Feb 9, 2014 · 21 comments

Comments

Projects
None yet
10 participants
@saidimu
Copy link

saidimu commented Feb 9, 2014

Aside from manually undoing the Makefile?

@ghost

This comment has been minimized.

Copy link

ghost commented Feb 9, 2014

The only other way would be to destroy the VM / reinstall the OS

@ghost ghost closed this Feb 9, 2014

@tomasdev

This comment has been minimized.

Copy link

tomasdev commented Nov 7, 2014

Seriously? 🙅

@youtux

This comment has been minimized.

Copy link

youtux commented Nov 14, 2014

omg so disappointed by dokku

@saidimu

This comment has been minimized.

Copy link

saidimu commented Nov 16, 2014

Yeah I was shocked at this response as well. So cavalier regarding a basic feature, I promptly moved away from dokku.

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Nov 16, 2014

If you'd like to contribute an uninstallation step, that would be great. The complication here is that the installation is a lot of bash that happens, so it's not exactly clear how things would be structured to uninstall (and what happens to user data etc?).

Dokku is meant to run standalone on it's own server, and will continue to so long as we do not have a package-based installation (and even then, we'd only support uninstallation via the package manager solution).

Thank you for being patient with us as we build out features/solutions and move towards a stable 1.0.0 release.

@marothstein

This comment has been minimized.

Copy link

marothstein commented Apr 7, 2015

@josegonzalez Just curious if there's been any progress toward an uninstaller?

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Apr 7, 2015

If you are using the official digital ocean image, you can just apt-get remove dokku. A future release will make this the norm.

It's almost certainly easier to just build a new vm - your infrastructure should be replaceable or you're doing it wrong. While you may be upset at the above answer, them's the breaks I guess. I'd be happy to help users automate their infrastructure setup if they are at the point where playing with dokku can't be done on a server that can be thrown away.

@marothstein

This comment has been minimized.

Copy link

marothstein commented Apr 9, 2015

@josegonzalez I figured as much, but thought I might as well ask.

Thanks you for the response!

@kavefish

This comment has been minimized.

Copy link

kavefish commented Jul 31, 2015

It's almost certainly easier to just build a new vm - your infrastructure should be replaceable or you're doing it wrong.

Wow. I guess that rules out dokku for use in anywhere but a VM. So much for using it to test on my dev box. :(

@dokku dokku locked and limited conversation to collaborators Jul 31, 2015

@dokku dokku unlocked this conversation Jul 31, 2015

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Jul 31, 2015

If you wish to uninstall dokku and have installed it via the debian packages, just apt-get remove dokku. This is the default method of installation - the bootstrap.sh script simply adds the required apt repos and calls the correct apt-get install commands.

If you install from source, you're going to have to manually uninstall it - and thus you should only be using that method in a vm or a throw-away server. That method is now non-default and you have to do extra work to do this. I think it's reasonable for us to not provide a way to clean this up, since it's meant for testing/development purposes.

@paulwalker

This comment has been minimized.

Copy link

paulwalker commented Mar 28, 2016

@josegonzalez understood, but it would be at least nice to document the commands needed to manually uninstall. Thanks.

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Mar 28, 2016

@paulwalker what do you mean by "manually uninstall"?

@paulwalker

This comment has been minimized.

Copy link

paulwalker commented Mar 28, 2016

lol, i don't know...I was quoting you ;-)...If you install from source, you're going to have to manually uninstall it

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Mar 28, 2016

Yeah, I'm saying that if you manually install it, you're on your own. That's not the recommended way of installation.

It's kinda like asking me how to install it on freebsd. I'm sure it'll work - they have docker there, right? - but as that's not documented by us, I'm not going to support anything about it.

In this case, if you install dokku, the bootstrap.sh script will default to using a package unless you specify a specific branch, in which case it'll do "some stuff" to your system. You have to go out of your way to install from source, and as such, you're going to have to go out of your way to uninstall from source.

You can always upgrade to a package-based installation, at which point you can them apt-get remove stuff like normal. The upgrade to package-based installation is documented.

@paulwalker

This comment has been minimized.

Copy link

paulwalker commented Mar 28, 2016

ok, i was confusing manually installation with using bootstrap.sh, but didn't read carefully enough that it is just using package installation. i used apt-get remove dokku but still had nginx listening on certain ports, etc...

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented Mar 28, 2016

As well, like I said before, there is a lot of random bash going on in the Makefile-based installation stuff. I don't know of a method to do make install | reverse, so I legitimately cannot offer you a method of uninstallation here. Hence why we offer packages.

Regarding this nginx thing, apt-get remove dokku only removes dokku. You'll still have the packages dokku depends on running, and removing dokku won't remove user data - that's not the debian way, you need to purge for that - so you may need to do extra work to get it nice and tidy.

If you'd like to contribute docs on completely removing dokku, I'd be happy to merge them.

For anyone complaining about not being able to try it out on a test box, we supply a Vagrantfile with this repository and instructions on it's usage. You can then test it out on a throwaway VM before committing to using it. Or if you want to try it out on a cloud provider, we provide images/integrations where possible and point them out in our documentation. I highly suggest one of these two routes if you're just fucking about with dokku - or really any piece of software.

If you still are unhappy with the solutions I'm providing, pull requests are indeed legitimately welcome (and I call out all contributions in our release notes).

@paulwalker

This comment has been minimized.

Copy link

paulwalker commented Mar 28, 2016

Thanks @josegonzalez, my initial suggestion was based on my false reading. The nice thing with open source is...that we are adding documentation here ;-). I'm testing the viability on Linode right now and look forward to collaborating with anyone else working w/ the Linode/Dokku combo :-).

@rwatts3

This comment has been minimized.

Copy link

rwatts3 commented Sep 2, 2016

Interesting.

I was shocked at the response from @josegonzalez

If you install from source, you're going to have to manually uninstall it - and thus you should only be using that method in a vm or a throw-away server. That method is now non-default and you have to do extra work to do this. I think it's reasonable for us to not provide a way to clean this up, since it's meant for testing/development purposes.

I'm curious as to how you came to that conclusion with it not being reasonable for you to clean up since it's for testing/development purposes.

When writing software no matter testing, beta, production you should always have a clear path to where you're headed and a clean uninstall process should the end user decide not to use your product. This sounds to me like cowboy code. Just write code into the wind and see where it takes you. Certainly not a priority as we are less than half a year away from 3 years.

Also I must say i'm not too impressed with the lack of professionalism in the language from a core contributor. I was actually looking into assisting with the development of this project until I came across this thread. I'm sure a great deal of other developers in the community probably felt the same. Developers typically don't look for software to ***** about, and destroy their systems. They generally look for software that works and have a supportive core team. Hence the difference between dokku and heroku.

@michaelshobbs

This comment has been minimized.

Copy link
Member

michaelshobbs commented Sep 2, 2016

@rwatts3 While we appreciate your input on a 3 year old issue, what might be more useful is a PR helping to solve the problem. We are always looking for solid contributions.

@webknjaz

This comment has been minimized.

Copy link

webknjaz commented May 26, 2017

Smth like:

sudo apt-get purge -yf dokku nginx nginx-common docker-engine herokuish && sudo apt autoremove -yf && sudo rm -rf /var/lib/dokku/ /home/dokku/ /usr/bin/dokku /var/www/html/

@dokku dokku locked and limited conversation to collaborators May 26, 2017

@josegonzalez

This comment has been minimized.

Copy link
Member

josegonzalez commented May 26, 2017

This is already documented on our docs site.

This issue was closed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.