A big push I've had in my homelab is being able to locally host my github projects. I wanted to move off bitbucket and have save projects in a format I'm familiar with (repos). After a lot of searching and listening to some fellow homelab-ers I settled on using Gitea.
Gitea is an easy install with CasaOS so I'm going to skip all the things about install. I fought with getting postgres together a bit but over all it wasn't bad. I was really just one networking config away and once that got going I was solid.
## How do you plan on using this?
Well I'm going to store local projects that I don't want to put on github. The way I see this going is that local projects that I'm not going to make public/don't care to make public will go into my homelab server. Bitbucket was how I was keeping things "private", but honestly I would like to get off atlassian in the event I really do stop publishing code and they want to remove my account.
## Why Gitea then?
Well I went through a lot of options that were given on r/selfhosted. Overall friends I trust were all using gitea and I decided to be a follower. If I had any real snags I know that I can reach out to them for help. It's really just github at this point but maybe with more detail.
## If your going local how will you back things up?
Ah! Great question that I've also been thinking about. Having things on the cloud/another system is always great because they handle this type of thing under the hood. Since I'm moving things locally I'm going to need to start daily backups from my homelab server to my NAS.
This means a few things for me. I'll need to really start understanding raid setups so that I can make sure I have redundancy. First step in this is that I need to add another hard drive to my 2 bay. 8TB is beef-y, but I think a 10TB in....raid 0 (hope this is right) would be super crispy.
The next thing to consider would be a UPS. I surprisingly don't have one. I should have been bought one given how much I love tech. I have cords so that everything isn't direct to the wall but I'd like for my NAS to stay connected a bit if power were to go out or something (insert comment about preppers).
The last thing I need to do is consider a backup for my backup. I'm thinking that the NAS will be local and then I'll try to do something like backblaze to sync my NAS to the cloud. Yes, I know we are back to the cloud but off site backup is key in this. Until I have multiple homes I need a middle man. lol
## Have you covered all the bases?
I sure hope so. I think that moving forward on these plans to "save my code" will make my lab more secure overall. If you wondering about how I get into my system outside the house...I don't. lol
I make things local as needed and then push to the server. If anything seriously needs to be with me at all times I still use gdrive and dropbox. Not as heavy as you think but even those are backup. Being a data hoarder can be cool if you don't take things super serious.
---
### Bitbucket to gitea steps (if you have 2FA on)
1. Login to bitbucket
2. Hit the Settings icon > Personal Bitbucket Settings > App Passwords
3. Create app password
1. name: gitea
2. permissions: read, write, and admin to everything (this is probably wrong but I'm deleting things soon)
4. Save password to a notepad or something until everything is migrated
5. Start migrating your repos