haumdaucher_de/README.md

55 lines
1.7 KiB
Markdown

# Haumdaucher Website 🦢🍻
D'Offizielle Website der Haumdaucher aus Regensburg.
## 🚀 Quick Start (Local)
```bash
npm install
npm run dev
```
Visit [http://localhost:5173/](http://localhost:5173/) to see the site.
## 🛠 Documentation
For detailed information on the project structure, how to modify themes, update content, or deploy to Kubernetes, please see the **[Development Guide](DEVELOPMENT.md)**.
## 🎡 Deployment
Use the provided deployment script to push to your Kubernetes cluster:
```bash
./deploy.sh
```
Check [k8s-manifests.yaml](k8s-manifests.yaml) for resource definitions.
## 🚀 Bootstrap & Authentication (Infrastructure)
We use Terraform to manage Firebase Authentication and Firestore. To set this up for a new environment:
### 1. Manual Prerequisites (One-time)
1. **Create a Project**: Go to [Google Cloud Console](https://console.cloud.google.com/) and create a new project.
2. **Enable Billing**: Link a Billing Account to this project (Required for Terraform to enable Identity Platform).
3. **Local Auth**:
```bash
gcloud auth login
gcloud auth application-default login
```
### 2. Infrastructure Deployment
Navigate to the `terraform` directory and apply the configuration:
```bash
cd terraform
terraform init
terraform apply -var="project_id=YOUR_PROJECT_ID" -var='allowed_users=["your_email@gmail.com"]'
```
This will:
- Enable Firebase, Firestore, and Identity APIs.
- Create the Firestore Database.
- Create the **Allowlist** in Firestore (`config/allowlist`).
### 3. Adding Friends
To approve new users, simply update the `allowed_users` list in your `terraform.tfvars` (or CLI argument) and re-run `terraform apply`.