init: ai-prompts repo with project briefings and onboarding prompts
This commit is contained in:
84
gitea-server/new-server-onboarding.md
Normal file
84
gitea-server/new-server-onboarding.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# New Server Onboarding — Connect to Gitea
|
||||
|
||||
Give this prompt to an AI on any new server that needs to connect to this
|
||||
Gitea instance and create/push a repository.
|
||||
|
||||
---
|
||||
|
||||
## Prompt
|
||||
|
||||
```
|
||||
I need to initialise a git repository on this server and connect it to a
|
||||
self-hosted Gitea instance on my LAN. Please help me with the full setup.
|
||||
|
||||
GITEA SERVER DETAILS
|
||||
--------------------
|
||||
Public URL: https://g.pozi.co.za
|
||||
LAN URL: http://192.168.0.126:3000
|
||||
Admin user: gadmin
|
||||
API token: (request from owner)
|
||||
|
||||
SSH ACCESS (use LAN since we are on the same network)
|
||||
------------------------------------------------------
|
||||
Host: 192.168.0.126
|
||||
Port: 22
|
||||
User: git
|
||||
Clone format: git@192.168.0.126:gadmin/REPONAME.git
|
||||
|
||||
WHAT I NEED YOU TO DO
|
||||
----------------------
|
||||
1. Check if git is installed:
|
||||
git --version
|
||||
If not, install it (Debian/Ubuntu):
|
||||
apt-get install -y git
|
||||
|
||||
2. Identify this server:
|
||||
hostname && cat /etc/os-release | head -5
|
||||
|
||||
3. Generate an SSH key for this server:
|
||||
ssh-keygen -t ed25519 -C "$(hostname)@gitea" -f ~/.ssh/id_gitea -N ""
|
||||
cat ~/.ssh/id_gitea.pub
|
||||
|
||||
4. Register this server's SSH key with Gitea:
|
||||
curl -X POST http://192.168.0.126:3000/api/v1/user/keys \
|
||||
-H "Authorization: token API_TOKEN_HERE" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "{\"key\":\"$(cat ~/.ssh/id_gitea.pub)\",\"read_only\":false,\"title\":\"$(hostname)-server\"}"
|
||||
|
||||
5. Add ~/.ssh/config entry:
|
||||
mkdir -p ~/.ssh && cat >> ~/.ssh/config << 'EOF'
|
||||
|
||||
Host gitea-lan
|
||||
HostName 192.168.0.126
|
||||
User git
|
||||
Port 22
|
||||
IdentityFile ~/.ssh/id_gitea
|
||||
EOF
|
||||
chmod 600 ~/.ssh/config
|
||||
|
||||
6. Test the connection:
|
||||
ssh -T git@192.168.0.126
|
||||
Expected: "Hi gadmin! You've successfully authenticated..."
|
||||
|
||||
7. Ask me what to name the repo, then create it and push:
|
||||
|
||||
Create on Gitea:
|
||||
curl -X POST http://192.168.0.126:3000/api/v1/user/repos \
|
||||
-H "Authorization: token API_TOKEN_HERE" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"name":"REPONAME","private":true,"auto_init":false,"default_branch":"main"}'
|
||||
|
||||
Init and push local code:
|
||||
cd /path/to/code
|
||||
git init
|
||||
git remote add origin git@192.168.0.126:gadmin/REPONAME.git
|
||||
git add .
|
||||
git commit -m "init: initial commit from $(hostname)"
|
||||
git push -u origin main
|
||||
|
||||
NOTES
|
||||
-----
|
||||
- Use LAN address 192.168.0.126:22 (not external g.pozi.co.za:2222)
|
||||
- Never commit the API token to git
|
||||
- Repo visibility defaults to private — confirm with owner before making public
|
||||
```
|
||||
Reference in New Issue
Block a user