You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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/