Files
website/README.md
tumillanino 7af9d9f8a4 add readme
2025-10-28 12:31:29 +11:00

57 lines
1.3 KiB
Markdown

# How To
## Authentication Setup (Ory)
### Prerequisites
1. Copy `.env.example` to `.env` and configure:
- `PORT=3000` (your app port)
- `TUNNEL_PORT=4000` (Ory tunnel port)
### Running the Application with Ory
1. Start the database and services:
```bash
docker-compose up
```
2. Apply the Ory identity migration:
```bash
docker exec -i $(docker ps -q -f name=db) psql -U party -d partydb < migrations/010_add_ory_identity_id.sql
```
3. In one terminal, start your Go server:
```bash
go run cmd/server/main.go
```
4. In another terminal, start the Ory tunnel:
```bash
npx @ory/cli tunnel --dev http://localhost:3000
```
5. Access your app through the tunnel URL (typically `http://localhost:4000`)
### How It Works
- Users authenticate through Ory's hosted UI
- On first login, a user record is created in your database with their Ory identity ID
- Protected routes (`/profile`, `/api/bookings`) require authentication
- User context is available in handlers via `auth.GetUser(r.Context())`
### Amending postgres table
```bash
docker exec -i $(docker ps -q -f name=db) psql -U party -d partydb < migrations/002_add_service_image_url.sql
```
### Entering Postgres CLI
```bash
docker exec -it $(docker ps -q -f name=db) psql -U party -d partydb
```
### Run Ory in Docker
```bash
docker run --rm -it oryd/ory help
```