4.9 KiB
4.9 KiB
Gitea Quick Start Guide
Quick reference for installing and using Gitea with your repositories.
Installation
1. Install Gitea on Your Server
# Run the installation script
./scripts/giteainstall.sh
# Install systemd service
sudo cp scripts/gitea.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
# Check status
sudo systemctl status gitea
2. Complete Web Setup
Visit http://your-server-ip:3000 and complete the installation wizard.
SSH Configuration (Optional)
To use system SSH on port 22 instead of Gitea's built-in SSH on port 2222:
# Run on the server as the mleku user
./scripts/gitea-ssh-setup.sh
# Restart Gitea
sudo systemctl restart gitea
See GITEA_SSH_SETUP.md for detailed SSH configuration.
Repository Migration
Quick Migration (HTTP - Recommended)
# 1. Generate API token in Gitea (Settings → Applications)
# 2. Configure environment
export GITEA_TOKEN="your-token-here"
export GITEA_URL="http://your-server-ip:3000"
export VPS_HOST="mleku@your-server-ip"
# 3. Run migration
./scripts/gitea-migrate-repos.sh
SSH Migration (After SSH Setup)
# After configuring SSH (see above)
export GITEA_TOKEN="your-token-here"
export GITEA_URL="http://your-server-ip:3000"
export VPS_HOST="mleku@your-server-ip"
export USE_SSH=true
./scripts/gitea-migrate-repos.sh
Available Scripts
| Script | Purpose |
|---|---|
giteainstall.sh |
Install Gitea to /home/mleku/gitea |
gitea-ssh-setup.sh |
Configure system SSH (port 22) |
gitea-migrate-repos.sh |
Migrate repositories from local directory |
Configuration Files
| File | Purpose |
|---|---|
/home/mleku/gitea/custom/conf/app.ini |
Gitea configuration |
scripts/gitea.service |
Systemd service file |
/etc/systemd/system/gitea.service |
Installed service file |
Common Commands
Service Management
# Start/stop/restart
sudo systemctl start gitea
sudo systemctl stop gitea
sudo systemctl restart gitea
# View status
sudo systemctl status gitea
# View logs
sudo journalctl -u gitea -f
Database Location
# SQLite database
/home/mleku/gitea/data/gitea.db
# Repositories
/home/mleku/gitea/data/gitea-repositories/
Backup
# Backup entire Gitea directory
tar -czf gitea-backup-$(date +%Y%m%d).tar.gz /home/mleku/gitea
# Backup database only
cp /home/mleku/gitea/data/gitea.db ~/backups/
URLs and Ports
| Service | URL/Port | Purpose |
|---|---|---|
| Web UI | http://server:3000 |
Gitea web interface |
| HTTP Git | http://server:3000/user/repo.git |
HTTP clone |
| SSH (system) | git@server:user/repo.git |
SSH clone (port 22) |
| SSH (built-in) | git@server:2222/user/repo.git |
SSH clone (port 2222) |
Environment Variables for Migration
| Variable | Required | Default | Description |
|---|---|---|---|
GITEA_TOKEN |
Yes | - | API token from Gitea |
GITEA_URL |
No | http://localhost:3000 |
Gitea server URL |
VPS_HOST |
No | - | SSH host (e.g., mleku@server) |
SOURCE_DIR |
No | /home/mleku/Documents/github |
Source repository directory |
USE_SSH |
No | false |
Use SSH instead of HTTP |
DRY_RUN |
No | false |
Test without making changes |
Troubleshooting
Gitea won't start
# Check logs
sudo journalctl -u gitea -n 50
# Check configuration
cat /home/mleku/gitea/custom/conf/app.ini
# Check permissions
ls -la /home/mleku/gitea
Migration fails
# Test connection
curl http://your-server:3000/api/v1/version
# Verify token
curl -H "Authorization: token ${GITEA_TOKEN}" \
http://your-server:3000/api/v1/user
# Try dry run first
DRY_RUN=true ./scripts/gitea-migrate-repos.sh
SSH not working
# Test SSH
ssh -T git@your-server
# Check Gitea SSH config
grep SSH /home/mleku/gitea/custom/conf/app.ini
# Check SSH keys in Gitea
# Settings → SSH/GPG Keys
Security Notes
- Firewall: Open required ports (3000 for HTTP, 22 for SSH)
- API Token: Keep your API token secure, never commit it
- SSH Keys: Add your public SSH key to Gitea for SSH access
- Backups: Regularly backup
/home/mleku/gitea - HTTPS: Consider setting up TLS for production use
Next Steps
After installation:
- ✅ Create admin account (via web interface)
- ✅ Generate API token (Settings → Applications)
- ✅ Configure SSH (optional, see GITEA_SSH_SETUP.md)
- ✅ Migrate repositories (see GITEA_MIGRATION.md)
- ✅ Set up backups (automated cron job recommended)
- ✅ Configure HTTPS (for production)
Getting Help
- Gitea Documentation: See GITEA_MIGRATION.md and GITEA_SSH_SETUP.md
- Gitea Logs:
sudo journalctl -u gitea -f - Configuration:
/home/mleku/gitea/custom/conf/app.ini - Official Docs: https://docs.gitea.com/