chore: initial import

This commit is contained in:
2025-11-09 00:26:00 -06:00
commit 67fb60e6ca
76 changed files with 3925 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
# Shared secrets (development only)
POSTGRES_DB=fullmoon_dev
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DJANGO_SECRET_KEY=dev-secret-key-change-me
DJANGO_DEBUG=1
ALLOWED_HOSTS=localhost,127.0.0.1,api-gpt
STRIPE_API_KEY=sk_test_placeholder
PUSHBULLET_API_KEY=pb_test_placeholder
MINIO_ROOT_USER=miniokey
MINIO_ROOT_PASSWORD=miniopassword

11
infra/docker/.env.example Normal file
View File

@@ -0,0 +1,11 @@
# Shared secrets (development only)
POSTGRES_DB=fullmoon_dev
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
DJANGO_SECRET_KEY=dev-secret-key-change-me
DJANGO_DEBUG=1
ALLOWED_HOSTS=localhost,127.0.0.1,api-gpt
STRIPE_API_KEY=sk_test_placeholder
PUSHBULLET_API_KEY=pb_test_placeholder
MINIO_ROOT_USER=miniokey
MINIO_ROOT_PASSWORD=miniopassword

30
infra/docker/README.md Normal file
View File

@@ -0,0 +1,30 @@
## Docker Stack (local development)
The compose stack defined in `docker-compose.yml` spins up the following services:
- `frontend-gpt`: Next.js dev server published on port 3001.
- `api-gpt`: Django API on port 8000.
- `worker-gpt` / `scheduler-gpt`: Celery worker and beat for background jobs.
- `db-gpt`: Postgres 15 with persisted data volume (host port 5433).
- `cache-gpt`: Redis 7 for caching and Celery broker.
- `storage-gpt`: MinIO object storage (S3-compatible) with console on port 9001.
### Quick start
```bash
cp infra/docker/.env.example infra/docker/.env.development # adjust secrets
docker compose up --build
```
The containers mount the local `frontend/` and `api/` folders, so code changes reload automatically.
### Helper commands
- `docker compose exec api-gpt python manage.py migrate` — run database migrations.
- `docker compose exec api-gpt python manage.py createsuperuser` — create an admin account.
- `docker compose exec worker-gpt celery -A config.celery_app status` — confirm Celery connectivity.
### Notes
- MinIO credentials come from `.env.development`; open http://localhost:9001 to manage buckets.
- Pushbullet and Stripe keys are placeholders. Update them before testing notifications or payments.