# 🏗 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.