Add CLAUDE.md documentation
This commit is contained in:
67
CLAUDE.md
Normal file
67
CLAUDE.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
This is a Gitea Git server setup using Docker Compose with PostgreSQL database. The repository includes configuration files and helper scripts for managing the service.
|
||||
|
||||
## Architecture
|
||||
|
||||
**Services:**
|
||||
- `gitea` - Gitea web application container (gitea/gitea:latest)
|
||||
- `db` - PostgreSQL 14 database
|
||||
|
||||
**Network:** Both services communicate via a dedicated `gitea` network.
|
||||
|
||||
**Data Persistence:**
|
||||
- `./data` - Gitea application data (repositories, config, uploads)
|
||||
- `./postgres` - PostgreSQL database data
|
||||
|
||||
**Ports:**
|
||||
- Web UI: 31337 (mapped to container port 3000)
|
||||
- SSH Git: 31338 (mapped to container port 22)
|
||||
|
||||
**Database Configuration:**
|
||||
- Type: PostgreSQL
|
||||
- Host: db:5432 (internal docker network)
|
||||
- Database: gitea
|
||||
- User/Password: gitea/gitea
|
||||
- Configured via environment variables in docker-compose.yml
|
||||
|
||||
## Common Commands
|
||||
|
||||
**Service Management:**
|
||||
```bash
|
||||
./start.sh # Start services
|
||||
./stop.sh # Stop services
|
||||
docker-compose logs -f # View logs
|
||||
docker-compose restart # Restart services
|
||||
```
|
||||
|
||||
**Git Workflow:**
|
||||
```bash
|
||||
./push.sh "message" # Add, commit, and push to remote
|
||||
git push # Push directly (if already committed)
|
||||
```
|
||||
|
||||
**Backup:**
|
||||
```bash
|
||||
tar -czf gitea-backup-$(date +%Y%m%d).tar.gz data/
|
||||
```
|
||||
|
||||
## Remote Setup
|
||||
|
||||
The git repository has a remote configured at:
|
||||
- `root@192.168.88.81:/mnt/mydata/gitea` (bare repository)
|
||||
- Working directory syncs to `/mnt/mydata/gitea-www` via post-receive hook
|
||||
- HEAD points to `refs/heads/main` (not master)
|
||||
|
||||
When pushing to the remote, a post-receive hook automatically checks out files to the working directory.
|
||||
|
||||
## Important Notes
|
||||
|
||||
- The `.gitignore` excludes `data/` directory only (not `postgres/`)
|
||||
- Scripts are executable and use bash shebang
|
||||
- All data directories are local mounts for easy backup
|
||||
- Container runs with UID/GID 1000 for file permissions
|
||||
Reference in New Issue
Block a user