Files
jmp-stack/AGENTS.md
2026-01-10 23:34:39 +01:00

38 lines
1.8 KiB
Markdown

# AGENTS.md - JMP Server Infrastructure
## Project Overview
JMP Server is a Docker Compose-based infrastructure deployment for self-hosted services. It contains a reverse proxy, Git repository hosting, documentation platform, and cloud storage.
## Architecture & Services
- **Traefik**: Reverse proxy and load balancer (v3.6.6), handles routing and HTTPS/TLS
- **Gitea**: Git repository hosting with PostgreSQL backend and CI/CD runner support
- **Bookstack**: Documentation wiki with MariaDB backend
- **Homepage**: Dashboard for service discovery and monitoring
- **OpenCloud**: Nextcloud-based cloud storage with full compose stack included
- **Website**: Frontend web application (in `after` profile)
## Build & Deployment Commands
- Start all services: `./start.sh` or `docker compose up -d`
- Stop all services: `./stop.sh` or `docker compose down`
- Start OpenCloud only: `docker compose -f opencloud-compose/docker-compose.yml up -d`
- View logs: `docker compose logs -f [service_name]`
## Key Configuration Files
- `docker-compose.yaml`: Main service definitions with Docker networking
- `.env`: Environment variables (secrets not tracked)
- `config.yml`: Gitea runner configuration
- `traefik.yml`: Traefik routing and middleware setup
- `opencloud-compose/.env.example`: OpenCloud environment template
## Important Databases
- **Gitea DB**: PostgreSQL (port internal)
- **Bookstack DB**: MariaDB (port internal)
- All databases stored in local volume mounts (`./gitea/db`, `./bookstack/db`, `./opencloud/data`)
## Code Style & Conventions
- Infrastructure-as-Code in YAML
- Docker container configuration via environment variables
- Traefik labels for service discovery and routing rules
- Use `${VARIABLE}` syntax for .env substitution
- Homepage labels for dashboard integration