mirror of
https://github.com/esauflores/databases.git
synced 2026-03-09 06:30:34 +00:00
fix: Remove .env.example and update README to clarify usage
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
### Setup ###
|
||||
REGISTRY_URL=''
|
||||
|
||||
### Postgres ###
|
||||
POSTGRES_USER='postgres'
|
||||
POSTGRES_PASSWORD='postgres'
|
||||
POSTGRES_DB='postgres'
|
||||
POSTGRES_PORT='5432'
|
||||
68
README.md
68
README.md
@@ -1,71 +1,33 @@
|
||||
# databases
|
||||
|
||||
Custom database Docker images, built for local development and self-hosted deployments.
|
||||
Custom database Docker images for local development and self-hosted deployments.
|
||||
|
||||
## Supported Variants
|
||||
## Postgres 18
|
||||
|
||||
| Variant | Base Image |
|
||||
| ---------- | ---------------------- |
|
||||
| `postgres` | `postgres:18.3-alpine` |
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [mise](https://mise.jdx.dev/) — manages tool versions
|
||||
- [Docker](https://docs.docker.com/get-docker/) with Compose plugin
|
||||
|
||||
```bash
|
||||
mise install
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Copy `.env.example` to `.env` and adjust as needed:
|
||||
Based on `postgres:18.3-alpine`.
|
||||
|
||||
### Configuration
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
| Variable | Default | Description |
|
||||
| ------------------- | ---------- | ------------------------------------- |
|
||||
| `REGISTRY_URL` | _(empty)_ | Container registry URL for publishing |
|
||||
| ------------------- | ---------- | ---------------------------- |
|
||||
| `POSTGRES_USER` | `postgres` | Postgres superuser name |
|
||||
| `POSTGRES_PASSWORD` | `postgres` | Postgres superuser password |
|
||||
| `POSTGRES_DB` | `postgres` | Default database name |
|
||||
| `POSTGRES_PORT` | `5432` | Host port mapped to Postgres |
|
||||
|
||||
## Usage
|
||||
|
||||
### Usage
|
||||
```bash
|
||||
# Build image locally
|
||||
just build [db]
|
||||
|
||||
# Start database (waits until healthy)
|
||||
just db-up [db]
|
||||
|
||||
# Stop database and remove volumes
|
||||
just db-down [db]
|
||||
|
||||
# Run tests
|
||||
just test [db]
|
||||
|
||||
# Build and push to registry
|
||||
just publish [db]
|
||||
docker pull git.fastwaydata.com/esauflores/database-postgres:latest
|
||||
```
|
||||
```yaml
|
||||
services:
|
||||
postgres:
|
||||
image: git.fastwaydata.com/esauflores/database-postgres:latest
|
||||
env_file: .env
|
||||
ports:
|
||||
- "${POSTGRES_PORT:-5432}:5432"
|
||||
```
|
||||
|
||||
`db` defaults to `postgres` when not specified.
|
||||
|
||||
## CI/CD
|
||||
|
||||
The GitHub Actions workflow (`.github/workflows/test-and-push.yml`) triggers on `v*` tag pushes:
|
||||
|
||||
1. **Test** — spins up the database and verifies connectivity
|
||||
2. **Publish** — builds and pushes the image to the configured registry
|
||||
|
||||
Required repository secrets: `REGISTRY_URL`, `REGISTRY_USERNAME`, `REGISTRY_PASSWORD`.
|
||||
|
||||
## Adding a New Variant
|
||||
|
||||
1. Create `<db>/Dockerfile` and `<db>/compose.yml`
|
||||
2. Add a `_test-<db>` recipe and a case entry in `test` in the `Justfile`
|
||||
3. Add `<db>` to the `matrix.db` list in `.github/workflows/test-and-push.yml`
|
||||
4. Add any new env vars to `.env.example`
|
||||
|
||||
Reference in New Issue
Block a user