మీ స్వంత Git: Forgejo లేదా Gitea
వెబ్ ఇంటర్ఫేస్, SSH యాక్సెస్ మరియు బిల్డ్ రన్లతో వ్యక్తిగత రిపాజిటరీ సర్వర్ను ఎలా సెటప్ చేయాలి — మరియు మీ కోడ్ పోకుండా ఏమి కాపీ చేయాలి.
23 ఆగస్టు, 2026న నవీకరించబడింది
మీ కోడ్ మరొకరి ప్లాట్ఫారమ్కు వెళ్లకూడదనుకున్నప్పుడు, లేదా ప్రైవేట్ రిపాజిటరీలు మరియు బిల్డ్ నిమిషాలపై ఎటువంటి పరిమితులు వద్దనుకున్నప్పుడు మీకు మీ స్వంత Git అవసరం. Forgejo మరియు Gitea రెండు దగ్గరి సంబంధం ఉన్న ప్రాజెక్ట్లు (Forgejo, Gitea నుండి పుట్టింది); రెండూ ఒకే కంటైనర్లో ఇన్స్టాల్ అవుతాయి మరియు సాధారణ మెషీన్పై నడుస్తాయి.
ఏది ఎంచుకోవాలి మరియు ఎన్ని వనరులు
రోజువారీ పనిలో దాదాపు ఎటువంటి తేడా లేదు: ఇంటర్ఫేస్, ఇష్యూలు, పుల్ రిక్వెస్ట్లు, మిర్రర్లు, బిల్డ్ల కోసం Actions. Forgejo ఒక కమ్యూనిటీ చేత అభివృద్ధి చేయబడుతుంది, Gitea ఒక కంపెనీ చేత. ప్రాజెక్ట్ స్వాతంత్ర్యం మీకు ముఖ్యమైతే Forgejo ఎంచుకోండి.
ఇద్దరు లేదా ముగ్గురు వ్యక్తులకు VDS-1 సరిపోతుంది. బిల్డ్ల కోసం మీరు రన్నర్ను జోడించిన వెంటనే VDS-3 లేదా అంతకంటే ఎక్కువ తీసుకోండి: బిల్డ్లు CPU మరియు డిస్క్ను తినేస్తాయి, మరియు డిస్క్ వేగం టియర్ ద్వారా పరిమితం చేయబడుతుంది.
Compose ద్వారా ఇన్స్టాల్ చేయడం
services:
forgejo:
image: codeberg.org/forgejo/forgejo:11
container_name: forgejo
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
ports:
- "3000:3000"
- "2222:22"
docker compose up -d
docker compose logs -f forgejo
http://<machine-address>:3000 తెరిచి ప్రారంభ సెటప్ పూర్తి చేయండి. మొదట సృష్టించిన యూజర్ అడ్మినిస్ట్రేటర్ అవుతారు.
పోర్ట్ 3000ను బయటికి తెరిచి ఉంచాల్సిన అవసరం లేదు. దాన్ని మూసి, సర్వీస్ ముందు సర్టిఫికెట్తో ఒక వెబ్ సర్వర్ పెట్టండి — అలా చేస్తే మీకు HTTPS వస్తుంది మరియు సెటప్ ప్యానెల్ను బయటి వాళ్లకు చూపించకుండా ఉంటారు. సెటప్ పూర్తయ్యే వరకు, ఆ అడ్రస్ తెరిచిన ఎవరైనా మొదట అడ్మినిస్ట్రేటర్ను సృష్టించవచ్చు.
SSH యాక్సెస్
కంటైనర్ లోపల పోర్ట్ 22, 2222కు ఫార్వార్డ్ చేయబడింది, ఎందుకంటే 22ను సిస్టమ్ SSH ఆక్రమించింది. రిపాజిటరీ సెట్టింగ్లలో, అడ్రస్ ఇలా కనిపిస్తుంది:
git clone ssh://git@example.com:2222/user/repo.git
పోర్ట్ లేకుండా సాధారణ git@example.com:user/repo.git కావాలంటే, కంటైనర్ కోసం 2222ను వదిలి, హోస్ట్పై సిస్టమ్ SSH ద్వారా ఫార్వార్డింగ్ సెటప్ చేయండి, లేదా అడ్మినిస్ట్రేటివ్ SSHను మరొక పోర్ట్కు మార్చండి (యాక్సెస్ రక్షణ చూడండి).
బిల్డ్లు
Actionsను ఒక ప్రత్యేక రన్నర్ నడుపుతుంది — forgejo-runner కంటైనర్, ఇది అడ్మినిస్ట్రేటర్ సెట్టింగ్ల నుండి టోకెన్తో రిజిస్టర్ అవుతుంది. దానికి Docker సాకెట్ యాక్సెస్ను ఉద్దేశపూర్వకంగానే ఇవ్వండి: అది మెషీన్పై rootకు సమానం. బిల్డ్ల కోసం, రన్నర్ను మెమరీ మరియు CPU ద్వారా పరిమితం చేయడం మంచిది — వనరుల పరిమితులు చూడండి.
ఏమి బ్యాకప్ చేయాలి
మొత్తం స్టేట్ ./data వాల్యూమ్లో నిల్వ ఉంటుంది: రిపాజిటరీలు, డేటాబేస్, అటాచ్మెంట్లు, కాన్ఫిగరేషన్. బ్యాకప్ ఇలా తీసుకుంటారు:
docker compose stop forgejo
restic -r <repository> backup ./data
docker compose start forgejo
సర్వీస్ SQLite ఉపయోగిస్తుంటే దాన్ని ఆపాలి — లేకపోతే డేటాబేస్ స్నాప్షాట్ అస్థిరంగా ఉండవచ్చు. PostgreSQLతో, ఆపకుండానే pg_dump సరిపోతుంది. మరిన్ని వివరాలకు, సరిగ్గా ఏమి బ్యాకప్ చేయాలి మరియు Restic చూడండి.
సాధారణ తప్పులు
- రిపాజిటరీ సైజు గురించి మరచిపోవడం. గేమ్ సర్వర్ బిల్డ్లు మరియు మీడియా డిస్క్ స్పేస్ను వేగంగా తినేస్తాయి: ఎంట్రీ టియర్లోని 40 GB గమనించకుండానే అయిపోతుంది.
- ఇమెయిల్ సెటప్ చేయకపోవడం. అది లేకుండా, ఆహ్వానాలు మరియు పాస్వర్డ్ రీసెట్లు పనిచేయవు. మీ స్వంత మెయిల్ సర్వర్ సెటప్ చేయడం కంటే బాహ్య SMTPను కనెక్ట్ చేయడం సులభం.
- బ్యాకప్ లేకుండా అప్డేట్ చేయడం. మేజర్ వెర్షన్ మార్చడం డేటాబేస్ స్కీమాను మారుస్తుంది. ముందు బ్యాకప్, తర్వాత
docker compose pull— కంటైనర్లను అప్డేట్ చేయడం చూడండి.