Files
kourosh b39167bfb5
AlpineConsent CI/CD Pipeline / Build and Test AlpineConsent (push) Failing after 45s
add new Readme with new structure and .env sample
2026-08-17 00:15:14 +02:00

49 lines
1.5 KiB
Markdown

# 🏗 AlpineSAAS — Infrastructure & Orchestration
Core infrastructure layer for the AlpineConsent ecosystem. Manages container orchestration, reverse proxy, relational databases, in-memory caching, and self-hosted CI/CD runners.
---
## 💤 Stack Overview
| Service | Technology | Internal Port | Host Binding | Purpose |
| :--- | :--- | :--- | :--- | :--- |
| **Edge Gateway** | Caddy 2 | 80, 443 | 0.0.0.0:80, 443 | Auto TLS termination & Reverse Proxy |
| **Git Server** | Gitea | 3000, 22 | 0.0.0.0:2222->22 | Git server & VCS API |
| **CI/CD Runner** | Act Runner | - | Worker | Executes Actions workflows in Docker |
| **Primary DB** | PostgreSQL 15 | 5432 | Internal only | Multi-tenant persistent relational store |
| **Cache & Queue** | Redis 7 | 6379 | Internal only | Rate limiting & session store |
---
## 🚨 Deployment & Operations
### Prerequisites
* Docker Engine 24+ & Docker Compose v2+
* Open inbound TCP ports on host/firewall: 80, 443, 2222
### 1. Setup Environment
```bash
cp .env.example .env
nano .env
```
### 2. Launch Infrastructure
```bash
docker compose up -d
```
### 3. Verify Health & Logs
```bash
docker compose ps
logs: docker compose logs -f caddy
```
---
## Security & Networking
* **Internal Isolation:** PostgreSQL and Redis containers do *not* expose ports to the public host. They communicate exclusively over the isolated bridge network `alpine_net`.
* **Database Auth:** Native password authentication enabled with dedicated health checks.
* **TLS:** Handled automatically by Caddy at the edge.