mirror of
https://github.com/archtechx/tenancy.git
synced 2026-02-05 12:54:05 +00:00
96 lines
2.8 KiB
YAML
96 lines
2.8 KiB
YAML
version: '2.4'
|
|
services:
|
|
test:
|
|
build:
|
|
context: .
|
|
args:
|
|
PHP_VERSION: ${PHP_VERSION:-8.2}
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
# mssql:
|
|
# condition: service_healthy
|
|
volumes:
|
|
- .:/var/www/html:delegated
|
|
environment:
|
|
DOCKER: 1
|
|
DB_PASSWORD: password
|
|
DB_USERNAME: root
|
|
DB_DATABASE: main
|
|
TENANCY_TEST_REDIS_HOST: redis
|
|
TENANCY_TEST_MYSQL_HOST: mysql
|
|
TENANCY_TEST_PGSQL_HOST: postgres
|
|
TENANCY_TEST_SQLSRV_HOST: mssql
|
|
TENANCY_TEST_SQLSRV_USERNAME: sa
|
|
TENANCY_TEST_SQLSRV_PASSWORD: P@ssword
|
|
stdin_open: true
|
|
tty: true
|
|
mysql:
|
|
image: mysql:5.7
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: main
|
|
MYSQL_USER: user # redundant
|
|
MYSQL_PASSWORD: password
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
|
|
timeout: 10s
|
|
retries: 10
|
|
mysql2:
|
|
image: mysql:5.7
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: main
|
|
MYSQL_USER: user # redundant
|
|
MYSQL_PASSWORD: password
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
|
|
timeout: 10s
|
|
retries: 10
|
|
postgres:
|
|
image: 'postgres:15'
|
|
user: 'postgres'
|
|
ports:
|
|
- '${POSTGRES_PORT:-5432}'
|
|
environment:
|
|
PGPASSWORD: '${POSTGRES_PASSWORD:-postgres}'
|
|
PGPORT: '${POSTGRES_PORT:-5432}'
|
|
POSTGRES_DB: main
|
|
POSTGRES_USER: 'postgres'
|
|
POSTGRES_PASSWORD: 'postgres'
|
|
expose:
|
|
- '${POSTGRES_PORT:-5432}'
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- pg_isready
|
|
- '-q'
|
|
- '-d'
|
|
- '${DB_DATABASE}'
|
|
- '-U'
|
|
- '${DB_USERNAME}'
|
|
retries: 3
|
|
timeout: 5s
|
|
redis:
|
|
image: redis:alpine
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 1s
|
|
timeout: 3s
|
|
retries: 30
|
|
mssql:
|
|
image: mcr.microsoft.com/mssql/server:2019-latest
|
|
ports:
|
|
- 1433:1433
|
|
environment:
|
|
- ACCEPT_EULA=Y
|
|
- SA_PASSWORD=P@ssword # todo reuse values from env above
|
|
healthcheck:
|
|
test: /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P P@ssword -Q "SELECT 1" -b -o /dev/null
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 10
|