Today's Deep-Dive: Gitea
Ep. 155

Today's Deep-Dive: Gitea

Episode description

This episode introduces Gitea, a self-hosted software development service designed to help manage digital projects more effectively. It serves as a private online hub for tracking changes and collaborating with others, offering features such as Git hosting, code review, team collaboration tools, a package registry, and CI/CD for automation. Self-hosting Gitea provides users with greater control over their data, privacy, and the software’s operation. The document explains that Git allows users to track changes in projects, akin to a version history, while Gitea enhances this by hosting repositories online for easy collaboration and secure backups.

The platform also includes tools for managing permissions, issue tracking, and a structured pull request system to facilitate clear communication among team members. The package registry allows users to store and share reusable software components, while CI/CD automates testing and delivery processes. Gitea is noted for its user-friendliness, with a lightweight setup that can run on various operating systems. For those new to the platform, live demos and comprehensive documentation are available to assist with installation and usage. The supportive open-source community further enhances the experience, providing resources for troubleshooting and contributions. Overall, Gitea is portrayed as a powerful yet accessible tool for managing software development projects, particularly appealing for those seeking control over their digital workflows.

Download transcript (.srt)
0:00

Hey everyone, and welcome to another Deep Dive.

0:02

Ever find yourself juggling a bunch of digital projects,

0:06

wrestling with code, trying to design a website,

0:08

or even just keeping track of changes

0:11

in shared documents?

0:12

Yeah, definitely.

0:13

Well today, we're digging into a tool

0:15

that can really help bring some order to that chaos,

0:18

and it might be way simpler than you think.

0:20

It's called Gitea.

0:22

Gitea.

0:22

Now if you hear self-hosted software development service,

0:25

or even just Git, and your eyes start to glaze over,

0:28

don't worry, we're going to break it down

0:30

and show you how Gitea can actually

0:32

be a pretty smooth entry point into managing

0:34

all those digital creations.

0:36

Definitely.

0:36

Oh, and just a quick shout out before we dive in.

0:39

This deep dive is supported by Safe Server, who, by the way,

0:43

they provide the hosting infrastructure

0:44

for software like this, so you can really

0:46

take charge of your digital, what is it, sovereignty?

0:49

Sovereignty.

0:50

Yeah.

0:51

You can find out more about them at www.safeserver.de.

0:57

OK, with that out of the way, let's get right to it.

1:00

What exactly is Gitaea?

1:02

So you can think of Gitaea as your own private online hub.

1:06

For managing any project, really,

1:08

where you are tracking changes and you're

1:10

working with other people.

1:11

OK, yeah.

1:13

It's technically called a self-hosted all-in-one software

1:15

development service.

1:17

But what that really means for you

1:19

is a central place where you can keep your project files all

1:22

nice and tidy, see who made what changes and when,

1:26

and just work together smoothly.

1:28

So it's all about collaboration.

1:30

Very much so, yeah.

1:32

Their motto is actually get with a cup of tea.

1:35

Painless self-hosted all-in-one software development service.

1:37

Get with a cup of tea.

1:39

Which I think is pretty spot on.

1:40

I love that, especially the painless part.

1:43

Especially for newcomers.

1:44

For newcomers.

1:45

OK, so it's aiming to be user friendly, for sure.

1:49

So what are the core things, the core things Gitaea actually

1:52

does?

1:52

What are the must-know features right off the bat?

1:55

So Gitaea offers, well, it offers a pretty powerful set

1:59

of tools, really.

2:00

At its core, like the foundation is Git hosting.

2:03

Then you've got code review features,

2:05

which are super helpful for improving the quality

2:07

of your work through feedback.

2:09

It provides tools for team collaboration, obviously,

2:13

which is essential.

2:14

You've also got a package registry

2:16

to organize those reusable software components.

2:20

And even CI-CD, that's continuous integration

2:23

and continuous delivery.

2:24

Which helps to automate sort of those repetitive

2:27

parts of development.

2:28

Nice.

2:29

So yeah, it's a very comprehensive toolkit, really.

2:31

OK, so a comprehensive toolkit.

2:33

Now, let's zoom in on that self-hosted thing for a sec.

2:37

Why would somebody choose to host this software themselves?

2:40

What's the key advantage there for the listener?

2:43

So the big win with self-hosting is control.

2:45

Control, OK.

2:46

Direct control.

2:47

Imagine you have like your own digital workshop.

2:51

OK.

2:52

When you self-host Gitaya, you're setting up that workshop

2:55

on your own terms.

2:56

You're using your own infrastructure.

2:58

This gives you the ultimate say over your data.

3:01

Where it lives, who can access it, and how secure it is.

3:05

I see, yeah.

3:06

It really puts you in the driver's seat in terms of privacy

3:08

and how the software operates.

3:10

It's in control.

3:11

Yeah, you are.

3:12

While there are other services out there

3:14

that can handle all the technical stuff for you,

3:17

self-hosting with Gitaya gives you that independence,

3:19

that understanding.

3:20

Like that deeper level.

3:21

Yeah, yeah, absolutely.

3:23

If that makes sense.

3:24

So having your own workshop.

3:25

OK, so let's dive into those features

3:28

you mentioned a little bit.

3:29

First up, Git-hursting.

3:31

Let's say I've never even heard of Git.

3:33

How would you explain it simply?

3:35

And how does Gitaya fit it?

3:37

All right, picture this.

3:38

You're working on a document.

3:39

Let's say a script for this deep dive.

3:43

Perfect.

3:44

You make some changes.

3:45

You hit Save.

3:46

Then you make more changes.

3:48

Save again.

3:48

Save, save, see.

3:49

Git is like a super powered version

3:53

history for all your projects.

3:55

OK, yeah.

3:56

It tracks meticulously every single change

3:59

you make, who made it, and when.

4:01

Interesting.

4:02

Gitaya allows you to host your own Git repositories.

4:06

Repositories, OK.

4:08

Think of a repository as a special folder for your project.

4:12

That not only holds all the files,

4:14

but also that detailed history of every modification.

4:18

So it's not just the current version.

4:19

No, no, not at all.

4:21

Instead of just living on your computer,

4:23

Gitaya puts these project, you can call them time capsules,

4:27

online.

4:28

Oh, OK, I like that.

4:30

It makes it easy to collaborate with others

4:31

and have a secure backup.

4:33

So it's like a complete safety net for your work.

4:35

Exactly, yeah.

4:37

I like that analogy.

4:37

A project time capsule online.

4:40

So if a team is working together,

4:42

make sure everyone's on the same page with the latest version.

4:45

Absolutely.

4:46

And you can always go back if you need to.

4:48

You can always go back, which leads us nicely to code review.

4:51

Code review, OK.

4:52

Now, even if you're not writing like lines of computer code,

4:55

the idea is still valuable.

4:57

Imagine getting feedback on a draft of, I don't know,

5:01

a presentation or a design before it's finalized.

5:05

Code review is similar.

5:06

It's about having other people look at your changes

5:09

before they become permanent.

5:10

In software development, this helps

5:12

to catch those mistakes early on,

5:14

improve the overall quality, and allows team members

5:17

to learn from each other.

5:18

Yeah, that makes sense.

5:19

Gitea provides built-in tools to make that whole review

5:22

process clear and efficient.

5:24

So it's like having a second pair of eyes on something

5:27

before you hit send.

5:28

Exactly.

5:29

Spot the typos, suggest improvements.

5:31

OK, that makes perfect sense.

5:33

You also mentioned team collaboration before.

5:36

What specific things does Gitea offer

5:38

to help people actually work together effectively?

5:41

Well, Gitea has several features specifically

5:46

designed for teamwork.

5:47

OK.

5:47

You can manage who has access to your projects

5:51

and what they can do with permissions.

5:53

Yeah, permissions are important.

5:55

There's also an issue tracking system.

5:57

You can think of it as a shared to-do list, maybe,

6:01

or a bug report log for your project.

6:02

Uh-huh, makes sense.

6:04

Everyone knows what needs to be done,

6:05

what problems need fixing.

6:07

And then you've got pull requests,

6:10

which are central to that code review process we

6:12

were just talking about.

6:13

They provide a structured way to discuss proposed changes

6:17

and decide whether to incorporate them

6:19

into the main project.

6:20

So it's all about clear communication,

6:22

making sure everyone's on the same page.

6:24

It is.

6:24

It is.

6:25

Organized workflow.

6:26

Organized workflows.

6:27

OK, so it's not just a storage space.

6:29

It's a whole environment.

6:30

It is.

6:31

For working together on projects from planning to review.

6:35

Now, this package registry, that sounds a little more maybe

6:40

specialized.

6:41

What's the core idea there?

6:43

It might sound technical, but the concept

6:45

is actually pretty practical.

6:47

Especially if you start using reusable components

6:51

in your work.

6:52

Reusable components, right.

6:53

Imagine building with Legos.

6:54

Legos, OK, yes.

6:55

You have all these pre-made bricks you can use.

6:58

Package registry is like a library

7:00

for software components.

7:02

Allowing you to store and share these pre-built pieces.

7:05

We call them packages.

7:06

Packages, OK.

7:07

So you don't have to build everything

7:09

from scratch for every project.

7:11

That makes sense, yeah.

7:12

Gitea supports loads of different types of packages,

7:15

depending on the kind of projects you're working on.

7:17

Wow, so there's a lot of variety there.

7:19

There is.

7:20

For example, if you're working with Rust,

7:22

you might use cargo packages.

7:24

OK.

7:24

For PHP, it's Composer.

7:26

OK.

7:27

For data science, maybe Conda.

7:29

Conda, got it.

7:30

Think of it as your own organized collection

7:34

of building blocks for your digital creations.

7:36

That's a good way to put it.

7:37

So many different kinds of building blocks.

7:39

So if you're using any of those, Gitea

7:41

can help you keep them organized.

7:43

Absolutely.

7:43

And accessible.

7:45

And finally, you mentioned CI-CD or Gitea Actions.

7:49

For someone just starting out, what's

7:50

the absolute basic idea behind that?

7:53

OK, so CI-CD is all about taking some of the manual work

7:57

out of the software development process through automation.

8:01

OK.

8:01

CI stands for Continuous Integration,

8:03

which means automatically checking and testing

8:06

your code every time you make a change.

8:08

Got it.

8:08

Just make sure nothing breaks.

8:09

Right, so you don't introduce bugs.

8:11

Exactly, yeah.

8:12

CI-CD, continuous delivery or deployment,

8:14

then takes those tested changes and automatically delivers them

8:17

to, well, wherever they need to go.

8:20

So it's like a continuous flow.

8:21

It is.

8:22

It is.

8:22

Getea Actions is Getea's built-in system for doing this.

8:26

And it's even compatible with things called GitHub Actions.

8:28

GitHub Actions.

8:29

Which are basically pre-written automation scripts

8:33

that you can often reuse.

8:34

Oh, nice.

8:35

It's like having this helpful robot that automatically

8:39

checks your work and gets it ready to go.

8:41

Nice.

8:41

Saving you time and reducing those pesky errors.

8:45

Think of it like an automated quality control and delivery

8:48

system for your digital projects.

8:50

Oh, that's a good way to think about it.

8:52

Automation.

8:54

A huge time saver, I imagine.

8:55

Now, someone listening might be thinking,

8:57

OK, this all sounds great.

8:58

But is Getea going to be incredibly difficult to set up

9:01

and use?

9:02

Yeah.

9:02

What's your take on the ease of use, especially for beginners?

9:05

That's a great question.

9:07

I think one of Getea's strengths, especially

9:10

for those new to this whole thing,

9:12

is it's focused on being lightweight and easy

9:14

to get started with.

9:15

OK, good, because it's built using a programming language

9:19

called Go.

9:20

It's very efficient.

9:21

And it can run on a wide variety of operating systems,

9:24

whether you're using Linux, Mac OS, or Windows.

9:28

So pretty much anything.

9:29

Pretty much, yeah.

9:29

And different types of computer hardware as well.

9:31

So you don't need specialized equipment or anything?

9:34

No, you shouldn't.

9:35

No.

9:35

That's reassuring.

9:36

So I probably don't need to be a server expert

9:38

to get this running.

9:39

Not necessarily.

9:41

And to make it even easier to just try it out,

9:44

Getea actually offers a live online demo at demo.getea.com.

9:52

You can play around with a fully functional Getea instance

9:55

right in your web browser without installing anything.

9:59

They also have a free public service

10:01

at getea.com, which has some limitations.

10:04

But it's another great way to get a feel for it.

10:06

And if you do decide to dive deeper,

10:08

their official website has some really comprehensive and well

10:14

written documentation to guide you.

10:16

Documentation is always key.

10:17

OK, so if someone wants to actually install Getea,

10:21

what are the basic steps involved?

10:23

Is it a huge technical hurdle?

10:26

Well, they offer a few options to get started.

10:29

The easiest is probably using Getea Cloud, which

10:31

is a hosted service, where they handle all the server setup

10:34

and maintenance for you.

10:35

So they do all the heavy lifting?

10:36

Exactly, yeah.

10:37

They also have Getea Enterprise for more advanced self-hosting

10:42

needs, if that's what you need.

10:44

But if you want to host it yourself

10:45

on your own computer or server, the process

10:48

is surprisingly straightforward.

10:50

If you're starting from the source code,

10:51

you generally just need to have Go installed on your system.

10:54

Go, the language you mentioned.

10:56

Yeah, and optionally Node.js for some of the web interface

10:59

features.

11:00

The process of building Getea from the source code

11:03

involves running a simple command, like make build.

11:07

Make build, OK.

11:08

And then you can launch it with .getea web.

11:11

.getea web, got it.

11:12

Of course, there are more detailed installation guides

11:15

available, but the basic steps are pretty accessible,

11:19

especially if you're comfortable using a command line.

11:22

So it's not too intimidating, it sounds like.

11:24

Now, what if you get stuck or have questions along the way?

11:29

Is there a community of Getea users who can help out?

11:32

Absolutely.

11:34

Getea has a really, really welcoming and active

11:38

open source community.

11:39

Oh, that's good.

11:40

Because it's open source, anyone can

11:42

contribute to making it better.

11:43

I love that.

11:44

So if you're interested in contributing,

11:46

the typical process involves making

11:48

a copy of the project, which is called forking.

11:50

Forking.

11:51

Making your changes, that's the patch.

11:53

Patch, OK.

11:54

Uploading them, that's called pushing.

11:56

Pushing, OK.

11:57

And then asking the main project to include your changes,

12:00

that's submitting a pull request.

12:02

Pull request, got it.

12:03

So lots of ways to be involved.

12:05

Yeah, absolutely.

12:06

They also have people all over the world

12:08

helping to translate GitEa into different languages

12:11

through a platform called Crowdin.

12:12

Oh, wow.

12:13

That's cool.

12:13

For getting help and connecting with other users,

12:15

they have active channels like a Discord server.

12:18

Discord, OK.

12:19

And a discourse forum where you can ask questions,

12:21

share your experiences.

12:23

That's great.

12:23

It's always good to know there's a supportive community

12:26

behind a project.

12:27

For sure.

12:28

And finally, just to give listeners a little more

12:30

confidence, are there actual teams, organizations out there

12:33

using Kitea successfully?

12:36

Yes.

12:36

Kitea is used by a wide range of teams and organizations.

12:41

OK.

12:42

On their official website, they even feature testimonials

12:45

from users who rely on it daily for their projects.

12:48

Nice.

12:49

Highlighting its ease of use, the rich feature

12:51

set, the reliability.

12:53

Awesome.

12:54

Well, we won't go into specific quotes right now

12:56

to keep things concise.

12:57

Right, right.

12:58

The fact that they showcase these stories really

13:00

shows that Kitea is a trusted and valuable tool

13:03

for many people.

13:04

Definitely adds a lot of credibility.

13:06

Now, just before we wrap up this part of our deep dive,

13:08

there's one quick pronunciation question I saw mentioned.

13:11

How do you actually say Kitea?

13:13

Oh, that's a good one to clarify.

13:14

Yeah.

13:15

Kitea is pronounced toti.

13:17

OK.

13:18

So think GT, with a hard G sound, like in gift.

13:22

GT.

13:22

Got it.

13:23

OK, so to bring it all together, our deep dive into Kitea

13:27

shows us.

13:27

Well, it shows us that Kitea offers a surprisingly

13:30

accessible yet powerful way to manage your software

13:35

development projects in a self-hosted environment.

13:38

It seems particularly appealing if you're looking for more

13:40

control over your data and a smoother entry

13:43

into the world of Git and collaborative development.

13:47

Yeah, and for those who are newer to these concepts,

13:49

the ease of getting started, especially with that Kitea

13:51

cloud you mentioned, along with the clear documentation

13:55

and that helpful community, those seem like big advantages.

13:58

Definitely.

13:59

So here's the final thought for you to consider.

14:02

With the increasing focus on controlling

14:04

your own digital footprint and the growing

14:06

need to collaborate effectively on projects,

14:10

could a self-hosted solution like Kitea

14:12

actually provide you with more ownership

14:14

and a deeper understanding of your own projects and data?

14:18

That's a good question.

14:19

We encourage you to explore the links we've mentioned

14:22

and the resources available on the Kitea website.

14:24

Absolutely.

14:25

It's about empowering yourself with knowledge and control

14:29

over your digital workflows.

14:30

Very well said.

14:31

Thanks for joining us for this deep dive.

14:33

And a big thank you again to our supporter, SafeServer,

14:37

who, as we mentioned, provides the hosting infrastructure

14:39

that makes software like Kitea possible.

14:42

And they support your digital sovereignty.

14:44

You can find more information about their services

14:46

Until our next deep dive.

14:46

Until our next deep dive.