mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-05-07 20:32:26 +00:00
143 lines
5.9 KiB
YAML
143 lines
5.9 KiB
YAML
services:
|
|
laravel.test:
|
|
build:
|
|
context: ./docker/local/8.3
|
|
dockerfile: Dockerfile
|
|
args:
|
|
WWWGROUP: '${WWWGROUP}'
|
|
ports:
|
|
- '${FORWARD_WEB_PORT:-8083}:80'
|
|
image: sail-8.3/app
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=${NETWORK_NAME}"
|
|
- "traefik.http.services.solidtime-dev.loadbalancer.server.port=80"
|
|
- "traefik.http.routers.solidtime-dev.rule=Host(`${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev.entrypoints=web"
|
|
- "traefik.http.routers.solidtime-dev.service=solidtime-dev"
|
|
- "traefik.http.routers.solidtime-dev-https.rule=Host(`${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-https.service=solidtime-dev"
|
|
- "traefik.http.routers.solidtime-dev-https.entrypoints=websecure"
|
|
- "traefik.http.routers.solidtime-dev-https.tls=true"
|
|
# vite
|
|
- "traefik.http.services.solidtime-dev-vite.loadbalancer.server.port=5173"
|
|
# http
|
|
- "traefik.http.routers.solidtime-dev-vite.rule=Host(`${VITE_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-vite.service=solidtime-dev-vite"
|
|
- "traefik.http.routers.solidtime-dev-vite.entrypoints=web"
|
|
extra_hosts:
|
|
- 'host.docker.internal:host-gateway'
|
|
environment:
|
|
SUPERVISOR_PHP_COMMAND: "/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan octane:start --server=frankenphp --host=0.0.0.0 --admin-port=2019 --port=80 --watch"
|
|
XDG_CONFIG_HOME: /var/www/html/config
|
|
XDG_DATA_HOME: /var/www/html/data
|
|
WWWUSER: '${WWWUSER}'
|
|
LARAVEL_SAIL: 1
|
|
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
|
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
|
IGNITION_LOCAL_SITES_PATH: '${PWD}'
|
|
VITE_HOST_NAME: '${VITE_HOST_NAME}'
|
|
volumes:
|
|
- '.:/var/www/html'
|
|
networks:
|
|
- sail
|
|
- reverse-proxy
|
|
depends_on:
|
|
- pgsql
|
|
pgsql:
|
|
image: 'postgres:15'
|
|
ports:
|
|
- '${FORWARD_DB_PORT:-5432}:5432'
|
|
environment:
|
|
PGPASSWORD: '${DB_PASSWORD:-secret}'
|
|
POSTGRES_DB: '${DB_DATABASE}'
|
|
POSTGRES_USER: '${DB_USERNAME}'
|
|
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
|
|
volumes:
|
|
- 'sail-pgsql:/var/lib/postgresql/data'
|
|
- './docker/local/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
|
|
networks:
|
|
- sail
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- pg_isready
|
|
- '-q'
|
|
- '-d'
|
|
- '${DB_DATABASE}'
|
|
- '-U'
|
|
- '${DB_USERNAME}'
|
|
retries: 3
|
|
timeout: 5s
|
|
pgsql_test:
|
|
image: 'postgres:15'
|
|
environment:
|
|
PGPASSWORD: '${DB_PASSWORD:-secret}'
|
|
POSTGRES_DB: '${DB_DATABASE}'
|
|
POSTGRES_USER: '${DB_USERNAME}'
|
|
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
|
|
volumes:
|
|
- 'sail-pgsql-test:/var/lib/postgresql/data'
|
|
- './docker/local/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
|
|
networks:
|
|
- sail
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- pg_isready
|
|
- '-q'
|
|
- '-d'
|
|
- '${DB_DATABASE}'
|
|
- '-U'
|
|
- '${DB_USERNAME}'
|
|
retries: 3
|
|
timeout: 5s
|
|
mailpit:
|
|
image: 'axllent/mailpit:latest'
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=${NETWORK_NAME}"
|
|
- "traefik.http.services.solidtime-dev-mailpit.loadbalancer.server.port=8025"
|
|
- "traefik.http.routers.solidtime-dev-mailpit.rule=Host(`mail.${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-mailpit.entrypoints=web"
|
|
- "traefik.http.routers.solidtime-dev-mailpit.service=solidtime-dev-mailpit"
|
|
- "traefik.http.routers.solidtime-dev-mailpit-https.rule=Host(`mail.${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-mailpit-https.service=solidtime-dev-mailpit"
|
|
- "traefik.http.routers.solidtime-dev-mailpit-https.entrypoints=websecure"
|
|
- "traefik.http.routers.solidtime-dev-mailpit-https.tls=true"
|
|
networks:
|
|
- sail
|
|
- reverse-proxy
|
|
playwright:
|
|
image: mcr.microsoft.com/playwright:v1.44.1-jammy
|
|
command: ['npx', 'playwright', 'test', '--ui-port=8080', '--ui-host=0.0.0.0']
|
|
working_dir: /src
|
|
extra_hosts:
|
|
- "${NGINX_HOST_NAME}:${REVERSE_PROXY_IP:-10.100.100.10}"
|
|
- "${VITE_HOST_NAME}:${REVERSE_PROXY_IP:-10.100.100.10}"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.docker.network=${NETWORK_NAME}"
|
|
- "traefik.http.services.solidtime-dev-playwright.loadbalancer.server.port=8080"
|
|
- "traefik.http.routers.solidtime-dev-playwright.rule=Host(`playwright.${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-playwright.entrypoints=web"
|
|
- "traefik.http.routers.solidtime-dev-playwright-https.rule=Host(`playwright.${NGINX_HOST_NAME}`)"
|
|
- "traefik.http.routers.solidtime-dev-playwright-https.entrypoints=websecure"
|
|
- "traefik.http.routers.solidtime-dev-playwright-https.tls=true"
|
|
networks:
|
|
- sail
|
|
- reverse-proxy
|
|
volumes:
|
|
- '.:/src'
|
|
networks:
|
|
reverse-proxy:
|
|
name: "${NETWORK_NAME}"
|
|
external: true
|
|
sail:
|
|
driver: bridge
|
|
volumes:
|
|
sail-pgsql:
|
|
driver: local
|
|
sail-pgsql-test:
|
|
driver: local
|