58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
# PostgreSQL 18 zum Entwickeln und Testen (Daten im Volume aiw-postgres18).
|
|
#
|
|
# docker compose up -d # starten
|
|
# docker compose down # anhalten, Daten bleiben
|
|
# docker compose down -v # anhalten und Daten löschen
|
|
#
|
|
# Datenbanken: aiw (für Web und Worker) und die Verwaltungsdatenbank postgres
|
|
# (für die Tests; jeder Testlauf legt dort eine eigene an und räumt sie ab).
|
|
# Port 55433, damit es nicht mit Hugin (55432) kollidiert.
|
|
#
|
|
# Ab PostgreSQL 18 liegen die Daten unter /var/lib/postgresql/18/docker; das Volume hängt deshalb an
|
|
# /var/lib/postgresql (nicht mehr …/data). Eine neue Hauptversion startet nicht mit den Daten der alten:
|
|
# lokal mit scripts/dev.sh --reset neu anfangen oder vorher pg_dumpall. Das frühere Volume aiw-postgres
|
|
# (PostgreSQL 17) bleibt liegen, bis man es löscht: docker volume rm ai-workspace_aiw-postgres
|
|
|
|
name: ai-workspace
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:18.6
|
|
environment:
|
|
POSTGRES_USER: aiw
|
|
POSTGRES_PASSWORD: aiw
|
|
POSTGRES_DB: aiw
|
|
ports:
|
|
- "127.0.0.1:55433:5432"
|
|
volumes:
|
|
- aiw-postgres18:/var/lib/postgresql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U aiw -d aiw"]
|
|
interval: 2s
|
|
timeout: 3s
|
|
retries: 30
|
|
restart: unless-stopped
|
|
|
|
# Oracle zum Testen von db-mcp-oracle (nur mit --profile oracle):
|
|
# docker compose --profile oracle up -d oracle
|
|
# Oracle Database 23ai Free, Pluggable Database FREEPDB1, Admin: system / aiw.
|
|
# In der Arbeit läuft 19c: Tests und Treiber nutzen nur SQL, das es in 19c schon gibt.
|
|
oracle:
|
|
image: gvenzl/oracle-free:23-slim-faststart
|
|
profiles: ["oracle"]
|
|
environment:
|
|
ORACLE_PASSWORD: aiw
|
|
ports:
|
|
- "127.0.0.1:55434:1521"
|
|
volumes:
|
|
- aiw-oracle:/opt/oracle/oradata
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 60
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
aiw-postgres18:
|
|
aiw-oracle:
|