add new Readme with new structure and .env sample
AlpineConsent CI/CD Pipeline / Build and Test AlpineConsent (push) Failing after 45s

This commit is contained in:
2026-08-17 00:15:14 +02:00
parent dcd826fef0
commit b39167bfb5
3 changed files with 50 additions and 30 deletions
+32 -30
View File
@@ -1,46 +1,48 @@
# 🍪 Kuki SaaS - Cookie Consent Solution
A lightweight, GDPR/CCPA compliant Cookie Consent banner widget, management dashboard, and backend API.
# 🏗 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.
---
## 🚀 Features
## 💤 Stack Overview
- **⚡ Ultra-lightweight Client (`kuki.js`):** Vanilla JS under 10KB with Shadow DOM isolation.
- **🛡️ Privacy & Compliance:** GDPR, CCPA, and ePrivacy directive ready.
- **🐳 Dockerized Infrastructure:** One-command startup using PostgreSQL and Redis.
- **⚡ Fast API:** High-performance backend for consent logging and license verification.
| 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 |
---
## 🛠️ Project Structure
## 🚨 Deployment & Operations
```text
kuki-saas/
├── client/ # Lightweight embeddable JavaScript widget (kuki.js)
├── backend/ # Node.js / Go API for consent & user settings
├── docker-compose.yml # Infrastructure setup (PostgreSQL, Redis)
└── README.md # Documentation
### 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
```
## ⚙️ Quick Start (Development)
1. Clone the repository
```Bash
git clone [https://github.com/YOUR_USERNAME/kuki-saas.git](https://github.com/YOUR_USERNAME/kuki-saas.git)
cd kuki-saas
```
2. Start Services with Docker
```Bash
### 2. Launch Infrastructure
```bash
docker compose up -d
```
3. Verify Containers
```Bash
docker ps
### 3. Verify Health & Logs
```bash
docker compose ps
logs: docker compose logs -f caddy
```
## 📝 License
---
Proprietary - All rights reserved.
## 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.
+1
View File
@@ -0,0 +1 @@
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjFkNmlmTUlzRlpTcU5GTzdkWDBkeTltanBqX21qX1NnZ084bng2ektQTHcifQ.eyJpc3MiOiJodHRwczovL2V4dGVybmFsYXV0b3NzbC5zZXJ2aWNlLnNwYWNlc2hpcC5jb20iLCJuYmYiOjE3ODY5MTQ1MzQsImlhdCI6MTc4NjkxNDUzNCwiZXhwIjoxNzg3MDAwOTM0LCJhdWQiOlsiZXh0ZXJuYWxhdXRvc3NsIl0sInNjb3BlIjpbImV4dGVybmFsYXV0b3NzbC5leHRlcm5hbGF1dG9zc2wiLCJleHRlcm5hbGF1dG9zc2wudXNlci1pbnRlZ3JhdGlvbi1jcmVhdGUiXSwiY2xpZW50X2lkIjoiZXh0ZXJuYWwtc3NsLWNsaWVudCIsInN1YiI6IjU2NzY3ODNiLTljNjYtNGUwNC04MDI1LWI1OWMwNWQyZjcxYSJ9.lTqonvJFOlUMMKUC8kVjXT0PE0J4Zz9wk7EsG8v74FlQxNuCjGk0wombnenTXuU7NzZIIZsusWocvmxf1vUaBBtZMpfJ04ObbHxlGf1TUpynLww5ZN6SDsqRUyJZrZUzfpKo7tAWe9jVZocJr3i-jvmQyrtX_wg5mlPmixAA_4VUfhghO7zMN5pcg9VgfeM1FglclW4yPZs5_Gm2xjouoFYzkcrZX14U7yDabiFgwMvR0bylCFeFN-DJa-45fEgyUMiPSnridPBg9VKpYejJ3zoIBE6UgKRx-NBIJObfhfIL2NPM0cSCBOGBnJ71evQyKsvqLIUUUdKHzzvJ_CC7vg
+17
View File
@@ -0,0 +1,17 @@
# Database Credentials
DB_USER=alpine_user
DB_PASSWORD=PASSWORD
DB_NAME=alpine_db
# Redis Credentials
REDIS_PASSWORD=YOUR_REDIS_PASSWORD_HERE
# Domains
GIT_DOMAIN=git.alpineconsent.site
GITEA_RUNNER_TOKEN=TOKEN_HERE
# Versions
GITEA_VERSION=1.22
RUNNER_VERSION=0.6.1
POSTGRES_VERSION=16-alpine
REDIS_VERSION=7-alpine