Initial Commit

This commit is contained in:
Erik Tóth
2025-11-26 21:15:53 +01:00
commit 45c62ffdb1

95
README.md Normal file
View File

@@ -0,0 +1,95 @@
# What is Git @ etoth.dev
This service is a private git server, for myself and friends.
My GitHub is clustered with private repos, because everything I work on, gets versioned & history controlled with git. And I also want to work from my PC at home and from my laptop on the go.
To clean up this mess, I set up this "GitHub"-like server. Mainly for private projects and co.
# How to use Git @ etoth.dev
It's just a [git server](https://git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server) with a nice web GUI - just like GitHub, GitLab, ...
# How to work on repositorys
You have two (three, but I will skip tea-cli) ways to get working:
1. HTTPS
2. [SSH](#ssh)
## HTTPS
To clone a repository with HTTPS you have to use `git clone https://git.etoth.dev/user/repo.git`.
Now you can start working and user all other common git commands.
## SSH
Before you can `clone`, `push` and `push` (etc.) you have to make a short configuration to your local ssh config.
This is because I use a diffrent port for my git server.
Here you can copy the commands or get a script for your OS in the [releases](https://git.etoth.dev/etoth/my-git-server/releases) tab.
### UNIX-like OS (most Linux distros and macOS)
```bash
mkdir -p ~/.ssh && chmod 700 ~/.ssh && [ -f ~/.ssh/config ] && cp ~/.ssh/config ~/.ssh/config.backup.$(date +%Y%m%d_%H%M%S); cat >> ~/.ssh/config << 'EOF'
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
EOF
chmod 600 ~/.ssh/config && echo "Done! Usage: git clone git@git.etoth.dev:user/repo.git"
```
### Windows
CMD version:
```cmd
if not exist "%USERPROFILE%\.ssh" mkdir "%USERPROFILE%\.ssh" & if exist "%USERPROFILE%\.ssh\config" copy "%USERPROFILE%\.ssh\config" "%USERPROFILE%\.ssh\config.backup.%date:~-4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%" >nul & (echo. & echo # Gitea Server git.etoth.dev & echo Host git.etoth.dev & echo HostName git.etoth.dev & echo User git & echo Port 222 & echo StrictHostKeyChecking accept-new & echo.) >> "%USERPROFILE%\.ssh\config" & echo Done! Usage: git clone git@git.etoth.dev:user/repo.git
```
PowerShell version:
```powershell
$sshDir = "$env:USERPROFILE\.ssh"; if (-not (Test-Path $sshDir)) { New-Item -ItemType Directory -Path $sshDir | Out-Null }; $configFile = "$sshDir\config"; if (Test-Path $configFile) { Copy-Item $configFile "$configFile.backup.$(Get-Date -Format 'yyyyMMdd_HHmmss')" }; @"
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
"@ | Add-Content -Path $configFile; Write-Host "Done! Usage: git clone git@git.etoth.dev:user/repo.git" -ForegroundColor Green
```
[Git bash](https://git-scm.com/install/windows) version:
```bash
mkdir -p ~/.ssh && chmod 700 ~/.ssh && [ -f ~/.ssh/config ] && cp ~/.ssh/config ~/.ssh/config.backup.$(date +%Y%m%d_%H%M%S); cat >> ~/.ssh/config << 'EOF'
# Gitea Server git.etoth.dev
Host git.etoth.dev
HostName git.etoth.dev
User git
Port 222
StrictHostKeyChecking accept-new
EOF
chmod 600 ~/.ssh/config && echo "Done! Usage: git clone git@git.etoth.dev:user/repo.git"
```
### Adding a public ssh key
1. Create or copy an existing ssh key
- UNIX-like:
```bash
ssh-keygen -t ed25519 -C "user@example.com"
cat ~/.ssh/id_ed25519.pub
```
- Windows (PowerShell):
```powershell
ssh-keygen -t ed25519 -C "user@example.com"
Get-Content "$env:USERPROFILE\.ssh\id_ed25519.pub"
```
- Windows (CMD):
```cmd
ssh-keygen -t ed25519 -C "user@example.com"
type "%USERPROFILE%\.ssh\id_ed25519.pub"
```
2. Copy the output (should start with `ssh-ed25519` and end with your chosen comment)
3. Now go to: *Settings* --> *SSH/GPG Keys* --> *Add Key*
4. Test the setup (all OS): `ssh -T git@git.etoth.dev`. The output shoulde be:
```
Hi there, user! You've successfully authenticated with the key named YOUR-KEY, but Gitea does not provide shell access.
If this is unexpected, please log in with password and setup Gitea under another user.
```