Configure Gitea Git Server #36

Open
opened 2025-09-14 08:10:18 +00:00 by tonym · 0 comments
Owner

Gitea Git Server Configuration for Unraid 7.0.1

Container Installation

  • From Community Applications: Search "Gitea"
  • Container Selection: gitea/gitea
  • Repository: gitea/gitea:latest

Container Configuration

Basic Settings:

  • Container Port: 3000, 22
  • Host Port: 3022, 2222
  • Network Mode: bridge
  • Repository Path: gitea/gitea:latest

Volume Mappings:

  • Data: /mnt/user/appdata/gitea/data:/data
  • Config: /mnt/user/appdata/gitea/config:/etc/gitea

Environment Variables:

  • PUID: 99
  • PGID: 100
  • TZ: America/Chicago
  • UMASK: 002
  • USER_UID: 99
  • USER_GID: 100
  • GITEA__database__DB_TYPE: postgres
  • GITEA__database__HOST: postgresql:5432
  • GITEA__database__NAME: gitea
  • GITEA__database__USER: gitea
  • GITEA__database__PASSWD: (secure password)

Initial Configuration

  1. First Access: http://[SERVER_IP]:3022
  2. Installation Wizard:
    • Configure PostgreSQL database
    • Set admin account
    • Configure SSH settings
  3. Repository Settings: Configure default settings

Service Configuration

Database Setup:

  • PostgreSQL Connection: Separate PostgreSQL container
  • Database Name: gitea
  • User Credentials: Secure password
  • Connection Pooling: Enable for performance

SSH Configuration:

  • SSH Port: 2222 (host) -> 22 (container)
  • SSH Keys: Upload public keys for users
  • Git Operations: Enable SSH for git operations

Security Settings:

  • Registration: Disable public registration
  • Login Requirements: Enforce strong passwords
  • 2FA: Enable two-factor authentication
  • API Tokens: Generate for integrations

Integration Points

CI/CD Integration:

  • Webhooks: Configure for external services
  • Actions: Enable Gitea Actions if needed
  • API Access: Generate tokens for automation

External Authentication:

  • LDAP: Configure if using directory services
  • OAuth: Configure external OAuth providers
  • SMTP: Configure email notifications

Monitoring & Notifications

Uptime Kuma Integration:

Backup Configuration

Kopia Integration:

  • Backup Paths:
    • /mnt/user/appdata/gitea/data (repositories)
    • PostgreSQL database dumps
  • Schedule: Daily at 3:00 AM
  • Retention: 30 daily, 12 monthly

Testing Procedures

Health Checks:

  1. Container Status: docker ps | grep gitea
  2. Web Interface: Access via browser
  3. SSH Access: Test git clone via SSH
  4. Database Connection: Test PostgreSQL connectivity

Functionality Tests:

  1. Repository Creation: Test new repository
  2. Git Operations: Test push/pull operations
  3. User Management: Test user creation/permissions
  4. Webhook Delivery: Test webhook functionality

Troubleshooting

Common Issues:

  1. Database Connection Failed:

    • Verify PostgreSQL is running
    • Check database credentials
    • Validate network connectivity
  2. SSH Issues:

    • Check SSH port accessibility
    • Verify SSH key configuration
    • Review SSH daemon logs

Permission Fixes:

sudo chown -R 99:100 /mnt/user/appdata/gitea
sudo chmod -R 755 /mnt/user/appdata/gitea

Log Locations:

  • Container Logs: docker logs gitea
  • Application Logs: /mnt/user/appdata/gitea/log

Maintenance

Regular Tasks:

  1. Repository Maintenance: Git garbage collection
  2. Database Maintenance: PostgreSQL optimization
  3. Security Updates: Update container regularly
  4. Backup Verification: Test backup integrity
# Gitea Git Server Configuration for Unraid 7.0.1 ## Container Installation - **From Community Applications:** Search "Gitea" - **Container Selection:** gitea/gitea - **Repository:** gitea/gitea:latest ## Container Configuration **Basic Settings:** - **Container Port:** 3000, 22 - **Host Port:** 3022, 2222 - **Network Mode:** bridge - **Repository Path:** gitea/gitea:latest **Volume Mappings:** - **Data:** /mnt/user/appdata/gitea/data:/data - **Config:** /mnt/user/appdata/gitea/config:/etc/gitea **Environment Variables:** - **PUID:** 99 - **PGID:** 100 - **TZ:** America/Chicago - **UMASK:** 002 - **USER_UID:** 99 - **USER_GID:** 100 - **GITEA__database__DB_TYPE:** postgres - **GITEA__database__HOST:** postgresql:5432 - **GITEA__database__NAME:** gitea - **GITEA__database__USER:** gitea - **GITEA__database__PASSWD:** (secure password) ## Initial Configuration 1. **First Access:** http://[SERVER_IP]:3022 2. **Installation Wizard:** - Configure PostgreSQL database - Set admin account - Configure SSH settings 3. **Repository Settings:** Configure default settings ## Service Configuration **Database Setup:** - **PostgreSQL Connection:** Separate PostgreSQL container - **Database Name:** gitea - **User Credentials:** Secure password - **Connection Pooling:** Enable for performance **SSH Configuration:** - **SSH Port:** 2222 (host) -> 22 (container) - **SSH Keys:** Upload public keys for users - **Git Operations:** Enable SSH for git operations **Security Settings:** - **Registration:** Disable public registration - **Login Requirements:** Enforce strong passwords - **2FA:** Enable two-factor authentication - **API Tokens:** Generate for integrations ## Integration Points **CI/CD Integration:** - **Webhooks:** Configure for external services - **Actions:** Enable Gitea Actions if needed - **API Access:** Generate tokens for automation **External Authentication:** - **LDAP:** Configure if using directory services - **OAuth:** Configure external OAuth providers - **SMTP:** Configure email notifications ## Monitoring & Notifications **Uptime Kuma Integration:** - **Monitor Type:** HTTP - **URL:** http://[SERVER_IP]:3022 - **Check Interval:** 60 seconds - **Alert Threshold:** 3 failures ## Backup Configuration **Kopia Integration:** - **Backup Paths:** - /mnt/user/appdata/gitea/data (repositories) - PostgreSQL database dumps - **Schedule:** Daily at 3:00 AM - **Retention:** 30 daily, 12 monthly ## Testing Procedures **Health Checks:** 1. **Container Status:** docker ps | grep gitea 2. **Web Interface:** Access via browser 3. **SSH Access:** Test git clone via SSH 4. **Database Connection:** Test PostgreSQL connectivity **Functionality Tests:** 1. **Repository Creation:** Test new repository 2. **Git Operations:** Test push/pull operations 3. **User Management:** Test user creation/permissions 4. **Webhook Delivery:** Test webhook functionality ## Troubleshooting **Common Issues:** 1. **Database Connection Failed:** - Verify PostgreSQL is running - Check database credentials - Validate network connectivity 2. **SSH Issues:** - Check SSH port accessibility - Verify SSH key configuration - Review SSH daemon logs **Permission Fixes:** ```bash sudo chown -R 99:100 /mnt/user/appdata/gitea sudo chmod -R 755 /mnt/user/appdata/gitea ``` **Log Locations:** - **Container Logs:** docker logs gitea - **Application Logs:** /mnt/user/appdata/gitea/log ## Maintenance **Regular Tasks:** 1. **Repository Maintenance:** Git garbage collection 2. **Database Maintenance:** PostgreSQL optimization 3. **Security Updates:** Update container regularly 4. **Backup Verification:** Test backup integrity
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tonym/NastyNAS#36
No description provided.