I run a one-person developer shop and currently work for only one client. I worked on multiple projects for this client, each with slightly different stack - some were PHP with MySQL (legacy stuff, each using a different framework), some are NodeJS based with MongoDB storage. Some servers are on Vultr/DO and I have root SSH access to them, while others are managed servers with cPanel and FTP access. Databases live on most of the servers, but for the production ones we use an external MongoDB service. Basically it's all over the place. I need to remember how to access and manage all of those services, which gets hard if for example one of the projects wasn't updated in a while and I suddenly need to refresh my memory on how it was set up, how to update and deploy it.My question is geared towards people who also work as a single developer (I assume that in big companies this is not a big issue because there are teams working on separate projects) and have similar challenges - how do you keep up with all of this? How do you handle your client telling you that there's a bug that needs to be fixed in an app you last worked on two years ago and don't really remember the specifics of its setup? Also, I fear that if something happened to me, this client would be in a very hard situation if he wanted to transition those projects to someone else.