3.9 KiB
Gitea
Overview
Gitea is the self-hosted Git platform used by Silver Solutions.
It provides:
- Git repository hosting
- Pull requests
- Issue tracking
- Wiki support
- Releases
- CI/CD integration
- Package registry support
Gitea serves as the central source control platform for SilverLinux infrastructure and application development.
Service Information
URL
https://git.silveressence.net
Container Name
gitea
Image
gitea/gitea:latest
Docker Networks
proxy
internal
Purpose
Gitea is used for:
- Source control
- Infrastructure repositories
- Application repositories
- Pull requests
- Issue management
- Release management
- Future CI/CD pipelines
Database
Database:
gitea
Database Host:
postgres
Database User:
postgres
Current password source:
POSTGRES_ROOT_PASSWORD
Stored in:
/srv/secrets/company.env
Future improvement:
Create a dedicated Gitea database user and password.
Email Configuration
Sender Address:
noreply@silveressence.net
Purpose:
- Password reset emails
- Account notifications
- Repository notifications
- User invitations
SMTP configuration is loaded from:
/srv/secrets/company.env
Variables:
SMTP_HOST
SMTP_PORT
SMTP_USERNAME
SMTP_PASSWORD
Authentication
Current
- Local user accounts
- Email login
- Password login
Disabled
OpenID authentication is disabled.
Reason:
OpenID is not required and increases the attack surface.
Planned
Future authentication providers:
- Google OAuth2
- GitHub OAuth2
Purpose:
- Easier onboarding of freelancers
- Easier onboarding of external collaborators
- Reduced password management
SSH Access
SSH Domain:
git.silveressence.net
SSH Port:
2222
Clone example:
git clone ssh://git@git.silveressence.net:2222/username/repository.git
Data Storage
Application Data:
/srv/docker/gitea/data
Contains:
- Repositories
- Attachments
- Configuration
- Actions data
- Package registry data
- User information
This directory is critical and must be included in backups.
Secrets
The following secrets are loaded from:
/srv/secrets/company.env
Variables:
POSTGRES_ROOT_PASSWORD
SMTP_HOST
SMTP_PORT
SMTP_USERNAME
SMTP_PASSWORD
Future variables:
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
Docker Configuration
Volume Mapping:
/srv/docker/gitea/data:/data
Port Mapping:
2222:22
Networks:
proxy
internal
HTTP traffic is routed through Nginx Proxy Manager.
Administration
View Logs:
docker logs gitea
Restart Service:
docker restart gitea
Open Shell:
docker exec -it gitea bash
Backup Requirements
The following items must be backed up:
Database
gitea
Application Data
/srv/docker/gitea/data
Secrets
/srv/secrets/company.env
Without these items, a complete restoration is not possible.
Recovery Checklist
To restore Gitea:
- Restore PostgreSQL database.
- Restore Gitea data directory.
- Restore company.env secrets.
- Deploy Docker Compose stack.
- Verify SMTP configuration.
- Verify SSH access.
- Verify access through Nginx Proxy Manager.
Future Roadmap
Short Term
- Enable 2FA for administrator accounts
- Configure backup automation
- Configure Google OAuth2
- Configure GitHub OAuth2
Long Term
- Implement CI/CD pipelines
- Deploy applications directly from Gitea
- Host private NuGet packages through BaGet
Related Services
- PostgreSQL
- Nginx Proxy Manager
- OpenProject
- Portainer
Related Documentation
- docs/server.md
- docs/security.md
- docs/secrets.md
- docs/backups.md
- postgres/README.md