forked from eatvio/eatvio-infra
Compare commits
5 Commits
main
...
feat-livek
| Author | SHA1 | Date | |
|---|---|---|---|
| 0333a65c35 | |||
| 9d0f270ad4 | |||
| 1f9c764935 | |||
| da67c3a394 | |||
| 1f87549cc7 |
@@ -11,19 +11,17 @@ MYSQL_ROOT_PASSWORD="nhbnhb22"
|
||||
MYSQL_DATABASE="eatvio"
|
||||
MYSQL_USER="eatvio_user"
|
||||
MYSQL_PASSWORD="eatvio_pass_nhbnhb22"
|
||||
<<<<<<< HEAD
|
||||
MY_APP_GIT_URL="ssh://git@10.55.5.123:222/alex_chevski/eatvio.git"
|
||||
PROD_DB_USER=readonly_user
|
||||
PROD_DB_PASS=baexueShosei0AiD
|
||||
PROD_DB_FILE="latest-prod-db.sql"
|
||||
DEV2_DB_USER=readonly_user
|
||||
DEV2_DB_PASS=baexueShosei0AiD
|
||||
DEV2_DB_FILE="latest-dev2-db.sql"
|
||||
=======
|
||||
PROD_DB_USER=some_user
|
||||
PROD_DB_PASS=strong_pass
|
||||
PROD_DB_FILE="latest-prod-db.sql"
|
||||
PROD_DB_HOST="10.nn.n.n"
|
||||
PROD_DB_PORT="10nn"
|
||||
MY_APP_GIT_URL="ssh://git@10.55.5.123:222/eatvio/eatvio.git"
|
||||
>>>>>>> eatvio-main
|
||||
LIVEKIT_URL="livekit.eatv.io"
|
||||
LIVEKIT_WS_URL="livekit.eatv.io"
|
||||
LIVEKIT_TURN_DOMAIN="turn.eatv.io"
|
||||
LIVEKIT_API_KEY=APITRajpYFYdtk9
|
||||
LIVEKIT_API_SECRET=VKCfO954C3OU0IeeXxZ1fiUDx9ZmWtvNNp9fCHRfO2JH
|
||||
LIVEKIT_PORT=7880
|
||||
LIVEKIT_RTC_TCP_PORT=7881
|
||||
LIVEKIT_TURN_UDP_PORT=3478
|
||||
|
||||
2
Makefile
2
Makefile
@@ -184,5 +184,3 @@ pull-services:
|
||||
docker compose pull
|
||||
|
||||
force-rebuild-services: stop rebuild-services pull-services start
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ services:
|
||||
networks:
|
||||
- ns-eatvio
|
||||
restart: always
|
||||
labels:
|
||||
- "traefik.enable=false"
|
||||
|
||||
mysql:
|
||||
image: "mysql:8.0"
|
||||
@@ -37,6 +39,7 @@ services:
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
||||
TZ: "Evrope/Moscow"
|
||||
ports:
|
||||
- "1094:3306"
|
||||
labels:
|
||||
@@ -71,7 +74,7 @@ services:
|
||||
working_dir: /application
|
||||
environment:
|
||||
- TZ=Europe/Moscow
|
||||
- CHOKIDAR_USEPOLLING=true
|
||||
#- CHOKIDAR_USEPOLLING=true
|
||||
networks:
|
||||
- ns-eatvio
|
||||
volumes:
|
||||
@@ -119,7 +122,7 @@ services:
|
||||
labels:
|
||||
- "traefik.docker.network=web"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.frontend.rule=Host:dev2.eatvio.com,socket.eatvio.com"
|
||||
- "traefik.frontend.rule=Host:wstesting.eatv.io,testing.eatv.io"
|
||||
- "traefik.port=80"
|
||||
- "traefik.protocol=http"
|
||||
|
||||
@@ -131,24 +134,79 @@ services:
|
||||
- ns-eatvio
|
||||
|
||||
typesense:
|
||||
image: typesense/typesense:29.0
|
||||
build: ./phpdocker/typesense
|
||||
restart: always
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- "--no-verbose"
|
||||
- "--spider"
|
||||
- "http://localhost:8108/health"
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8108/health"]
|
||||
networks:
|
||||
- ns-eatvio
|
||||
volumes:
|
||||
- ./typesense-data:/data
|
||||
command: "--data-dir /data --api-key=typesense --enable-cors"
|
||||
|
||||
livekit-redis:
|
||||
image: redis:7-alpine
|
||||
command:
|
||||
[
|
||||
"redis-server",
|
||||
"--appendonly",
|
||||
"no",
|
||||
"--maxmemory",
|
||||
"500mb",
|
||||
"--maxmemory-policy",
|
||||
"allkeys-lru",
|
||||
]
|
||||
networks:
|
||||
- ns-eatvio
|
||||
volumes:
|
||||
- livekit_redis_data:/data
|
||||
restart: always
|
||||
labels:
|
||||
- "traefik.enable=false"
|
||||
|
||||
livekit:
|
||||
image: livekit/livekit-server:latest
|
||||
depends_on:
|
||||
- livekit-redis
|
||||
networks:
|
||||
- ns-eatvio
|
||||
- web
|
||||
ports:
|
||||
- "${LIVEKIT_PORT:-7880}:7880"
|
||||
- "${LIVEKIT_RTC_TCP_PORT:-7881}:7881"
|
||||
- "50000-50100:50000-50100/udp"
|
||||
- "${LIVEKIT_TURN_UDP_PORT:-3478}:3478/udp"
|
||||
environment:
|
||||
LIVEKIT_CONFIG: |
|
||||
port: 7880
|
||||
log_level: info
|
||||
rtc:
|
||||
tcp_port: 7881
|
||||
port_range_start: 50000
|
||||
port_range_end: 50100
|
||||
use_external_ip: true
|
||||
redis:
|
||||
address: livekit-redis:6379
|
||||
keys:
|
||||
${LIVEKIT_API_KEY}: ${LIVEKIT_API_SECRET}
|
||||
turn:
|
||||
enabled: true
|
||||
domain: ${LIVEKIT_TURN_DOMAIN}
|
||||
udp_port: 3478
|
||||
# tls_port: 5349
|
||||
restart: always
|
||||
labels:
|
||||
- "traefik.docker.network=web"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.frontend.rule=Host:turn.eatv.io,livekit.eatv.io"
|
||||
- "traefik.port=${LIVEKIT_PORT:-7880}"
|
||||
- "traefik.protocol=http"
|
||||
|
||||
networks:
|
||||
web:
|
||||
external: true
|
||||
ns-eatvio:
|
||||
external: false
|
||||
|
||||
volumes:
|
||||
livekit_redis_data:
|
||||
|
||||
@@ -1,208 +1,232 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>PHPDocker.io Readme</title>
|
||||
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">
|
||||
|
||||
<style>
|
||||
code {
|
||||
background-color : #ddd;
|
||||
padding : 2px 5px;
|
||||
font-family : monospace;
|
||||
font-size : 16px;
|
||||
}
|
||||
</style>
|
||||
<head>
|
||||
<title>PHPDocker.io Readme</title>
|
||||
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">
|
||||
|
||||
<style>
|
||||
code {
|
||||
background-color: #ddd;
|
||||
padding: 2px 5px;
|
||||
font-family: monospace;
|
||||
font-size: 16px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="pure-g">
|
||||
<div class="pure-g">
|
||||
<div class="pure-u-1-24"></div>
|
||||
<div class="pure-u-22-24">
|
||||
<h1>PHPDocker.io generated environment</h1>
|
||||
<h1>PHPDocker.io generated environment</h1>
|
||||
|
||||
<h1>Add to your project</h1>
|
||||
<h1>Add to your project</h1>
|
||||
|
||||
<p>Simply, unzip the file into your project, this will create <code>docker-compose.yml</code> on the root of your project and a folder
|
||||
named <code>phpdocker</code> containing nginx and php-fpm config for it.</p>
|
||||
<p>Simply, unzip the file into your project, this will create <code>docker-compose.yml</code> on the root of your
|
||||
project and a folder
|
||||
named <code>phpdocker</code> containing nginx and php-fpm config for it.</p>
|
||||
|
||||
<p>Ensure the webserver config on <code>phpdocker/nginx/nginx.conf</code> is correct for your project. PHPDocker.io will have
|
||||
customised this file according to the front controller location relative to the docker-compose file you chose on the
|
||||
generator (by default <code>public/index.php</code>).</p>
|
||||
<p>Ensure the webserver config on <code>phpdocker/nginx/nginx.conf</code> is correct for your project.
|
||||
PHPDocker.io will have
|
||||
customised this file according to the front controller location relative to the docker-compose file you chose on
|
||||
the
|
||||
generator (by default <code>public/index.php</code>).</p>
|
||||
|
||||
<p>Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm dockerfile,
|
||||
the php.ini overrides and nginx config on <code>docker-compose.yml</code> if you do so.</p>
|
||||
<p>Note: you may place the files elsewhere in your project. Make sure you modify the locations for the php-fpm
|
||||
dockerfile,
|
||||
the php.ini overrides and nginx config on <code>docker-compose.yml</code> if you do so.</p>
|
||||
|
||||
<h1>How to run</h1>
|
||||
<h1>How to run</h1>
|
||||
|
||||
<p>Dependencies:</p>
|
||||
<p>Dependencies:</p>
|
||||
|
||||
<ul>
|
||||
<li>docker. See <a href="https://docs.docker.com/engine/installation">https://docs.docker.com/engine/installation</a></li>
|
||||
<li>docker-compose. See <a href="https://docs.docker.com/compose/install/">docs.docker.com/compose/install</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>docker. See <a
|
||||
href="https://docs.docker.com/engine/installation">https://docs.docker.com/engine/installation</a></li>
|
||||
<li>docker-compose. See <a href="https://docs.docker.com/compose/install/">docs.docker.com/compose/install</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>Once you're done, simply <code>cd</code> to your project and run <code>docker-compose up -d</code>. This will initialise and start all the
|
||||
containers, then leave them running in the background.</p>
|
||||
<p>Once you're done, simply <code>cd</code> to your project and run <code>docker-compose up -d</code>. This will
|
||||
initialise and start all the
|
||||
containers, then leave them running in the background.</p>
|
||||
|
||||
<h2>Services exposed outside your environment</h2>
|
||||
<h2>Services exposed outside your environment</h2>
|
||||
|
||||
<p>You can access your application via <strong><code>localhost</code></strong>. Mailhog and nginx both respond to any hostname, in case you want to
|
||||
add your own hostname on your <code>/etc/hosts</code></p>
|
||||
<p>You can access your application via <strong><code>localhost</code></strong>. Mailhog and nginx both respond to
|
||||
any hostname, in case you want to
|
||||
add your own hostname on your <code>/etc/hosts</code></p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Service</th>
|
||||
<th>Address outside containers</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Webserver</td>
|
||||
<td><a href="http://localhost:1092">localhost:1092</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MySQL</td>
|
||||
<td><strong>host:</strong> <code>localhost</code>; <strong>port:</strong> <code>1094</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Service</th>
|
||||
<th>Address outside containers</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Webserver</td>
|
||||
<td><a href="http://localhost:1092">localhost:1092</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MySQL</td>
|
||||
<td><strong>host:</strong> <code>localhost</code>; <strong>port:</strong> <code>1094</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>Hosts within your environment</h2>
|
||||
<h2>Hosts within your environment</h2>
|
||||
|
||||
<p>You'll need to configure your application to use any services you enabled:</p>
|
||||
<p>You'll need to configure your application to use any services you enabled:</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Service</th>
|
||||
<th>Hostname</th>
|
||||
<th>Port number</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>php-fpm</td>
|
||||
<td>php-fpm</td>
|
||||
<td>9000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MySQL</td>
|
||||
<td>mysql</td>
|
||||
<td>3306 (default)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Service</th>
|
||||
<th>Hostname</th>
|
||||
<th>Port number</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>php-fpm</td>
|
||||
<td>php-fpm</td>
|
||||
<td>9000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MySQL</td>
|
||||
<td>mysql</td>
|
||||
<td>3306 (default)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h1>Docker compose cheatsheet</h1>
|
||||
<h1>Docker compose cheatsheet</h1>
|
||||
|
||||
<p><strong>Note:</strong> you need to cd first to where your docker-compose.yml file lives.</p>
|
||||
<p><strong>Note:</strong> you need to cd first to where your docker-compose.yml file lives.</p>
|
||||
|
||||
<ul>
|
||||
<li>Start containers in the background: <code>docker-compose up -d</code></li>
|
||||
<li>Start containers on the foreground: <code>docker-compose up</code>. You will see a stream of logs for every container running.
|
||||
ctrl+c stops containers.</li>
|
||||
<li>Stop containers: <code>docker-compose stop</code></li>
|
||||
<li>Kill containers: <code>docker-compose kill</code></li>
|
||||
<li>View container logs: <code>docker-compose logs</code> for all containers or <code>docker-compose logs SERVICE_NAME</code> for the logs of
|
||||
all containers in <code>SERVICE_NAME</code>.</li>
|
||||
<li>Execute command inside of container: <code>docker-compose exec SERVICE_NAME COMMAND</code> where <code>COMMAND</code> is whatever you want
|
||||
to run. Examples:
|
||||
<ul>
|
||||
<li>Start containers in the background: <code>docker-compose up -d</code></li>
|
||||
<li>Start containers on the foreground: <code>docker-compose up</code>. You will see a stream of logs for every
|
||||
container running.
|
||||
ctrl+c stops containers.</li>
|
||||
<li>Stop containers: <code>docker-compose stop</code></li>
|
||||
<li>Kill containers: <code>docker-compose kill</code></li>
|
||||
<li>View container logs: <code>docker-compose logs</code> for all containers or <code>docker-compose logs
|
||||
SERVICE_NAME</code> for the logs of
|
||||
all containers in <code>SERVICE_NAME</code>.</li>
|
||||
<li>Execute command inside of container: <code>docker-compose exec SERVICE_NAME COMMAND</code> where
|
||||
<code>COMMAND</code> is whatever you want
|
||||
to run. Examples:
|
||||
|
||||
<ul>
|
||||
<li>Shell into the PHP container, <code>docker-compose exec php-fpm bash</code></li>
|
||||
<li>Run symfony console, <code>docker-compose exec php-fpm bin/console</code></li>
|
||||
<li>Open a mysql shell, <code>docker-compose exec mysql mysql -uroot -pCHOSEN_ROOT_PASSWORD</code></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Shell into the PHP container, <code>docker-compose exec php-fpm bash</code></li>
|
||||
<li>Run symfony console, <code>docker-compose exec php-fpm bin/console</code></li>
|
||||
<li>Open a mysql shell, <code>docker-compose exec mysql mysql -uroot -pCHOSEN_ROOT_PASSWORD</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h1>Application file permissions</h1>
|
||||
<h1>Application file permissions</h1>
|
||||
|
||||
<p>As in all server environments, your application needs the correct file permissions to work properly. You can change the
|
||||
files throughout the container, so you won't care if the user exists or has the same ID on your host.</p>
|
||||
<p>As in all server environments, your application needs the correct file permissions to work properly. You can
|
||||
change the
|
||||
files throughout the container, so you won't care if the user exists or has the same ID on your host.</p>
|
||||
|
||||
<p><code>docker-compose exec php-fpm chown -R www-data:www-data /application/public</code></p>
|
||||
<p><code>docker-compose exec php-fpm chown -R www-data:www-data /application/public</code></p>
|
||||
|
||||
<h1>Recommendations</h1>
|
||||
<h1>Recommendations</h1>
|
||||
|
||||
<p>It's hard to avoid file permission issues when fiddling about with containers due to the fact that, from your OS point
|
||||
of view, any files created within the container are owned by the process that runs the docker engine (this is usually
|
||||
root). Different OS will also have different problems, for instance you can run stuff in containers
|
||||
using <code>docker exec -it -u $(id -u):$(id -g) CONTAINER_NAME COMMAND</code> to force your current user ID into the process, but
|
||||
this will only work if your host OS is Linux, not mac. Follow a couple of simple rules and save yourself a world of
|
||||
hurt.</p>
|
||||
<p>It's hard to avoid file permission issues when fiddling about with containers due to the fact that, from your
|
||||
OS point
|
||||
of view, any files created within the container are owned by the process that runs the docker engine (this is
|
||||
usually
|
||||
root). Different OS will also have different problems, for instance you can run stuff in containers
|
||||
using <code>docker exec -it -u $(id -u):$(id -g) CONTAINER_NAME COMMAND</code> to force your current user ID
|
||||
into the process, but
|
||||
this will only work if your host OS is Linux, not mac. Follow a couple of simple rules and save yourself a world
|
||||
of
|
||||
hurt.</p>
|
||||
|
||||
<ul>
|
||||
<li>Run composer outside of the php container, as doing so would install all your dependencies owned by <code>root</code> within your
|
||||
vendor folder.</li>
|
||||
<li>Run commands (ie Symfony's console, or Laravel's artisan) straight inside of your container. You can easily open a
|
||||
shell as described above and do your thing from there.</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Run composer outside of the php container, as doing so would install all your dependencies owned by
|
||||
<code>root</code> within your
|
||||
vendor folder.</li>
|
||||
<li>Run commands (ie Symfony's console, or Laravel's artisan) straight inside of your container. You can easily
|
||||
open a
|
||||
shell as described above and do your thing from there.</li>
|
||||
</ul>
|
||||
|
||||
<h1>Simple basic Xdebug configuration with integration to PHPStorm</h1>
|
||||
<h1>Simple basic Xdebug configuration with integration to PHPStorm</h1>
|
||||
|
||||
<h2>Xdebug 2</h2>
|
||||
<h2>Xdebug 2</h2>
|
||||
|
||||
<p>To configure <strong>Xdebug 2</strong> you need add these lines in php-fpm/php-ini-overrides.ini:</p>
|
||||
<p>To configure <strong>Xdebug 2</strong> you need add these lines in php-fpm/php-ini-overrides.ini:</p>
|
||||
|
||||
<h3>For linux:</h3>
|
||||
<h3>For linux:</h3>
|
||||
|
||||
<pre><code>xdebug.remote_enable = 1
|
||||
xdebug.remote_connect_back = 1
|
||||
xdebug.remote_autostart = 1
|
||||
</code></pre>
|
||||
<pre><code>xdebug.remote_enable = 1
|
||||
xdebug.remote_connect_back = 1
|
||||
xdebug.remote_autostart = 1
|
||||
</code></pre>
|
||||
|
||||
<h3>For macOS and Windows:</h3>
|
||||
<h3>For macOS and Windows:</h3>
|
||||
|
||||
<pre><code>xdebug.remote_enable = 1
|
||||
xdebug.remote_host = host.docker.internal
|
||||
xdebug.remote_autostart = 1
|
||||
</code></pre>
|
||||
<pre><code>xdebug.remote_enable = 1
|
||||
xdebug.remote_host = host.docker.internal
|
||||
xdebug.remote_autostart = 1
|
||||
</code></pre>
|
||||
|
||||
<h2>Xdebug 3</h2>
|
||||
<h2>Xdebug 3</h2>
|
||||
|
||||
<p>To configure <strong>Xdebug 3</strong> you need add these lines in php-fpm/php-ini-overrides.ini:</p>
|
||||
<p>To configure <strong>Xdebug 3</strong> you need add these lines in php-fpm/php-ini-overrides.ini:</p>
|
||||
|
||||
<h3>For linux:</h3>
|
||||
<h3>For linux:</h3>
|
||||
|
||||
<pre><code>xdebug.mode = debug
|
||||
xdebug.remote_connect_back = true
|
||||
xdebug.start_with_request = yes
|
||||
</code></pre>
|
||||
<pre><code>xdebug.mode = debug
|
||||
xdebug.remote_connect_back = true
|
||||
xdebug.start_with_request = yes
|
||||
</code></pre>
|
||||
|
||||
<h3>For macOS and Windows:</h3>
|
||||
<h3>For macOS and Windows:</h3>
|
||||
|
||||
<pre><code>xdebug.mode = debug
|
||||
xdebug.remote_host = host.docker.internal
|
||||
xdebug.start_with_request = yes
|
||||
</code></pre>
|
||||
<pre><code>xdebug.mode = debug
|
||||
xdebug.remote_host = host.docker.internal
|
||||
xdebug.start_with_request = yes
|
||||
</code></pre>
|
||||
|
||||
<h2>Add the section “environment” to the php-fpm service in docker-compose.yml:</h2>
|
||||
<h2>Add the section “environment” to the php-fpm service in docker-compose.yml:</h2>
|
||||
|
||||
<pre><code>environment:
|
||||
PHP_IDE_CONFIG: "serverName=Docker"
|
||||
</code></pre>
|
||||
<pre><code>environment:
|
||||
PHP_IDE_CONFIG: "serverName=Docker"
|
||||
</code></pre>
|
||||
|
||||
<h3>Create a server configuration in PHPStorm:</h3>
|
||||
<h3>Create a server configuration in PHPStorm:</h3>
|
||||
|
||||
<ul>
|
||||
<li>In PHPStorm open Preferences | Languages & Frameworks | PHP | Servers</li>
|
||||
<li>Add new server</li>
|
||||
<li>The “Name” field should be the same as the parameter “serverName” value in “environment” in docker-compose.yml (i.e. *
|
||||
Docker* in the example above)</li>
|
||||
<li>A value of the "port" field should be the same as first port(before a colon) in "webserver" service in
|
||||
docker-compose.yml</li>
|
||||
<li>Select "Use path mappings" and set mappings between a path to your project on a host system and the Docker container.</li>
|
||||
<li>Finally, add “Xdebug helper” extension in your browser, set breakpoints and start debugging</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>In PHPStorm open Preferences | Languages & Frameworks | PHP | Servers</li>
|
||||
<li>Add new server</li>
|
||||
<li>The “Name” field should be the same as the parameter “serverName” value in “environment” in
|
||||
docker-compose.yml (i.e. *
|
||||
Docker* in the example above)</li>
|
||||
<li>A value of the "port" field should be the same as first port(before a colon) in "webserver" service in
|
||||
docker-compose.yml</li>
|
||||
<li>Select "Use path mappings" and set mappings between a path to your project on a host system and the Docker
|
||||
container.</li>
|
||||
<li>Finally, add “Xdebug helper” extension in your browser, set breakpoints and start debugging</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="pure-u-1-24"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var tables = document.getElementsByTagName('table')
|
||||
for (var i = 0; i < tables.length; i++) {
|
||||
tables[i].className = 'pure-table'
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
var tables = document.getElementsByTagName('table')
|
||||
for (var i = 0; i < tables.length; i++) {
|
||||
tables[i].className = 'pure-table'
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -139,6 +139,3 @@ environment:
|
||||
docker-compose.yml
|
||||
* Select "Use path mappings" and set mappings between a path to your project on a host system and the Docker container.
|
||||
* Finally, add “Xdebug helper” extension in your browser, set breakpoints and start debugging
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -14,4 +14,3 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
ENV PATH=node_modules/.bin:$PATH
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ stdout_logfile=/application/storage/logs/worker.log
|
||||
stopwaitsecs=3600
|
||||
|
||||
[program:php-fpm]
|
||||
command=php-fpm8.3 -F
|
||||
command=php-fpm8.2 -F
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDidLGXEA9IJ8gC
|
||||
/GdlWLDhw4q84zNE2sv1tZ2WvwP8swZfWeoQeRDDRXNdWKaV2wJW2aYKeoD8Rw1S
|
||||
FmfqO9lhhfT80OiYIiG8THbMvyfi0nzivG9Vo1J2GY8bBI4Mtws6LFmVJs0Lg3ce
|
||||
HIgUd3O14VNrQrlowY1nzImBBO6UBW/Pce/R6PW2rEK64DqzY/jy+qKp14N0zOVv
|
||||
4X7FLwE9Bf3XBxJ946VFf9t8ec+1pM7U42vCZNnrigikiYDLs8giBkDwOecf+jvf
|
||||
2Sn6n0UKEakjI0gd/Kt+uBbGRtJQUka4XnFquLnQd4Q2m3TZ36r74I/GFtskASa7
|
||||
5DvJpXWbAgMBAAECggEAdH3VEUGYquST9j1DLxZFv41opCw4JnZrL1Wi4HYYpfiu
|
||||
EYTebGTq45ipdN5yq2oDNQw3ZvKHwb8HMjAGeq8Y7xsK4LbSv9fnBMdM4Zx/9yWS
|
||||
SszmdOZUOB6DyEE6lX3fz6ga2SghmIejUiEZO3YLVwe3ctjbKfFPPZMxNOaFmCyP
|
||||
3LpVXvG0Nh5G1DRZXtJDCVv7O99cA8q+5EyUJ20XFjkY36MAzFN/SjN7teGW0RSq
|
||||
ASFubAEODPryCfwnCWZTCE3KzLJuwId4Yzfyqfd1q55glOmdTKdGsmPxJgxYv7WZ
|
||||
2JTlNsZIWuv/753XzSiJrMrAsgByIyB7tsehUSegaQKBgQDm2zplHGdUWRPoQsLj
|
||||
uCtLCF+WhWfQ+Jz6mt5CuT7Glp1mfAwgtjXg9EmHztNaFENswUuk1y69wlV+vBKk
|
||||
XGhb3gjZQsZHjFYinN8BLK3pjBte+IMnKkoyhLV9EMUKvXvCxdxZJ1cnWJR1FeKp
|
||||
/xCM37cNZkXekAAltKw3U2IxXQKBgQD7HsT+NEWYSP1/1U0B6PJVi8kNUBY/G7DP
|
||||
3A5Le/S8WjbBGVPkOw1lFOvlXVi6Hmdlgqb5nBk7QZCzc+Mk9Mc3dJ66c1/uEjU7
|
||||
67e1oHL7OoA/QJ9WXsi4CR+9f07taV/uUsnLVAmbodK94VNHeMgn16Z24Su0irCH
|
||||
ehVOh9t7VwKBgQDDzNL1aSbWqoqw5tbnT5AgnqR8RP/thL+X6fxzOSzeQGaVwsaC
|
||||
hCikeG1ZK3mlICSjvDpNQFkbhxT+XcOt9dZpfKOiqfkEPCneR5D5LQ0AVd3tKfgL
|
||||
Ito1iMtpnOySlG3AoBKo5y4LaBzaRcquhnBiG2jli4XdI+OMF3YtoqJY3QKBgQDk
|
||||
GGbGn6Q3VtUrsAtqmLTFj1rnhL8wQ26u3yr81XLPQwJJE0BoJltcXUyH4eod5E/2
|
||||
nF4ei/M/J6bP2YuQneX2MS+cHAAettszuj/78el+2Px0d7ZDNYUL5P23mlOOwhAo
|
||||
4Xn5/jNb8fkCEBEc8lCcH/1MLesM6oy+Ad4onq51sQKBgQCEjjSZ/J6QdlECjcRa
|
||||
EfmZI4gDdgcavbKPbyUM54OXsVH4JOO31Vr+GA0bdXIy+kfQ69P1mxAO6ZaS5iuz
|
||||
iW63LsDGCDtNybVcPap0BS0pfG7uVkw6Fn3rL5vxF8buKGfcJb6NRZh5VDQTUqyh
|
||||
+L9/5TWkjFcG9t+Aaj7/Pe3hBA==
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -1,25 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIENDCCApygAwIBAgIRAO6EUiZfVufPFe8Xmg2neeMwDQYJKoZIhvcNAQELBQAw
|
||||
TzEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMRIwEAYDVQQLDAlhbGV4
|
||||
QGFsZXgxGTAXBgNVBAMMEG1rY2VydCBhbGV4QGFsZXgwHhcNMjQwOTAyMDc0MzI0
|
||||
WhcNMjYxMjAyMDc0MzI0WjA9MScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQg
|
||||
Y2VydGlmaWNhdGUxEjAQBgNVBAsMCWFsZXhAYWxleDCCASIwDQYJKoZIhvcNAQEB
|
||||
BQADggEPADCCAQoCggEBAOJ0sZcQD0gnyAL8Z2VYsOHDirzjM0Tay/W1nZa/A/yz
|
||||
Bl9Z6hB5EMNFc11YppXbAlbZpgp6gPxHDVIWZ+o72WGF9PzQ6JgiIbxMdsy/J+LS
|
||||
fOK8b1WjUnYZjxsEjgy3CzosWZUmzQuDdx4ciBR3c7XhU2tCuWjBjWfMiYEE7pQF
|
||||
b89x79Ho9basQrrgOrNj+PL6oqnXg3TM5W/hfsUvAT0F/dcHEn3jpUV/23x5z7Wk
|
||||
ztTja8Jk2euKCKSJgMuzyCIGQPA55x/6O9/ZKfqfRQoRqSMjSB38q364FsZG0lBS
|
||||
RrhecWq4udB3hDabdNnfqvvgj8YW2yQBJrvkO8mldZsCAwEAAaOBnDCBmTAOBgNV
|
||||
HQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUwcxZ
|
||||
u77uAlfsP52FQ+10ocE8KqgwUQYDVR0RBEowSIIRYWxleC5lYXR2aW8ubG9jYWyC
|
||||
EGFsZXguZWF0dmlvLnRlc3SCCWxvY2FsaG9zdIcECjcFeYcQAAAAAAAAAAAAAAAA
|
||||
AAAAATANBgkqhkiG9w0BAQsFAAOCAYEArx+/xKh7gO2rbB6bisYr5oLm6FLsbBZG
|
||||
JWU7npue0LEiGvxy9jXwfF2subvX22wblHbuxUtKbWPMdAcMqcuQsFq8KeIcTZ9Z
|
||||
NJ27cqLFbjzXFJIR+jnsrBNyUKvGnJKjXBS2rN/D51bLfNf/lkYoyzBtKf9VUPjs
|
||||
mH94aByu3T8GoGDgOtBH7zc5GGzzAQ9i2Jgfpo//sxpiVPae5KX3r7cAdX50S/kN
|
||||
WId2TxejtgnZsmuFuWha3qWIT0Bc69osJUrLQRoEO1vVGQpVL3qSdBsloFQZtCBY
|
||||
hE3ZR/CnJqzm/iVR9x9OqAUdeKAA2EbAaBWOuJsyOQsWoJj4K4aFeFGoZ7OFU51f
|
||||
9zS02vytWrhqSLItHTFPoOI8aw8CuY7cr4mWPyCTwjpEcpfP1upDsFqPP7aCjQDP
|
||||
7HHsuiLaP1Wgr5LsO4WhDWjYzTvJnKbQWRX8AXeV2UUWJ3fMHDX3Sw0Jm0JoiNUO
|
||||
muKBI6FMLIbqVEs/cOQaIXka4KSx4oA1
|
||||
-----END CERTIFICATE-----
|
||||
@@ -94,4 +94,3 @@ server {
|
||||
error_log /dev/stdout info;
|
||||
access_log /dev/stdout;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDLhkQ7URIQtK2A
|
||||
E1xQazxdfzIW6r4mKAnQpBJWbmCylv2/rsjfIEFaNpDIq7uIiR2RqXPlsy9FTaYg
|
||||
yVLayzI4nDYgmpcoxQhOw9gX9P7O1UX/GS+vDvmsjq0H6Gg+Kb/Cxu7gstbLziXJ
|
||||
5rdii/INrUHSzbmzdSsUGQyasVz82ify9Wf/gtC/0l23qflK/Tkwj31fTfOMLDch
|
||||
4irue2HTHUdACKTiH3W9t1U4HMlyT6fOb3199hL3BNdN4s1+dg1nRqo9//lEuO8j
|
||||
yS8u/an1j+slOo+wuk0EolCJJ7VJos05cET6VRmMcub4g7RImLFUFr+PWV0mMEh6
|
||||
ekCDylnDAgMBAAECggEAPpjsUYYs1UCNAJBz2zQwW91sTYojs96qriZYkYbfbO5t
|
||||
20/p7l6gWxvfSikvw93QX2XMBMEo79rjFsB1IGBQ8QJyz3JcvahkVr17sFqlKH6G
|
||||
SeC4PtKPTliPtZfwv/XdSg4fmLLIx+R+0OuKSeAbMcOxNCIcVKrb9hGCQ+37WLVA
|
||||
G2zfKzEg0MDl9I3rA5rmR30rl0V2YDqMOsnQid9k+zG7yFGFmNLiu98VV3bVIgZ6
|
||||
7v/LSsjRMaldijn5PSSVvSjq69scJlTF9l+ZB0Mt3M9hF0jRxlFH3Tm304ZUXn1X
|
||||
M5yHi5paY8qCyxVgnOdkll3W5jowlZMtxTMuv+WDcQKBgQDiRqAhVo9/66SPZbZI
|
||||
b2Sn1GkaKBZX/FJl9K4DU2/lwXgRZLaa8G2mMiv0UckCTBtOid5ud4LiepJh6rja
|
||||
ypCtqge4womaBN15cJdDOyYO4vSlyll9bi9+mcpJy7p3NKLaj1Ki1Qrqb3L+GlkH
|
||||
5/j3uaT0JlmwJ9iCrn1Kq8oeeQKBgQDmQoo0DZ86GMbi6g1m2LOOs16zHtG69gNX
|
||||
XRvUWK/HEcami7yLbpiOMUKkJA+r26vb7CaM3Xo2gz9TFspY0woUUL0lKaWKecWJ
|
||||
CmnfxlJaQ19j50t8hYkdaCTczOtLWywzHoE25xKBiVJgw4tw2PjPt7NZo9aN+Dyt
|
||||
sxVbtj17GwKBgQDaBGR7WrSu8zO+OqkUR8f68O1Hl4JXyjT2KXeUmssA25U9ZQWQ
|
||||
acGsVUEGidqcDQpudOZNF3eTkbgDAi6UGIKn4WDJQx9jt/ZQ8Qu9ansz8rb4Gux4
|
||||
rzaxy6odyl7iRmP3JArh+1UmJrXsYSSROpAm18c4us7FrM6us0LjNHxtOQKBgQDb
|
||||
zAKe463tyD751k/Kr+reugwY0b+ER1gzKfbpwWqxjR9iVZs6Qe0wNoeVpbKr63pm
|
||||
6Up3RudlZ+2nw+aN2Y4SjGuxMMsLn2fXg/BCos5zyUIiXGRrThDv2Dzv5FBq03Ii
|
||||
rejMXtEEg+/13FOb+hGwPnvego3JYX+Sk5M8w352pwKBgFBQp6lwvC9fH4xKlfzR
|
||||
suWwt/uPb0uo0M6y5uosx1gDOmk86ucU6Ka34U+CLNywAIyaZem9wpRb1JyKCt3/
|
||||
SZt4Cs4zwOyr2Kw8QstqKkkSAs2RVfSN4YPM6fkDE59leg/7m5wTj0MW04Rn45mc
|
||||
Vw15ekSv133tUKximh0t5cvM
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -1,25 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEQjCCAqqgAwIBAgIRAK/w6zEhYEt/SZPQdtguFKYwDQYJKoZIhvcNAQELBQAw
|
||||
TzEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMRIwEAYDVQQLDAlhbGV4
|
||||
QGFsZXgxGTAXBgNVBAMMEG1rY2VydCBhbGV4QGFsZXgwHhcNMjQwOTAyMDc0MzM2
|
||||
WhcNMjYxMjAyMDc0MzM2WjA9MScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQg
|
||||
Y2VydGlmaWNhdGUxEjAQBgNVBAsMCWFsZXhAYWxleDCCASIwDQYJKoZIhvcNAQEB
|
||||
BQADggEPADCCAQoCggEBAMuGRDtREhC0rYATXFBrPF1/MhbqviYoCdCkElZuYLKW
|
||||
/b+uyN8gQVo2kMiru4iJHZGpc+WzL0VNpiDJUtrLMjicNiCalyjFCE7D2Bf0/s7V
|
||||
Rf8ZL68O+ayOrQfoaD4pv8LG7uCy1svOJcnmt2KL8g2tQdLNubN1KxQZDJqxXPza
|
||||
J/L1Z/+C0L/SXbep+Ur9OTCPfV9N84wsNyHiKu57YdMdR0AIpOIfdb23VTgcyXJP
|
||||
p85vfX32EvcE103izX52DWdGqj3/+US47yPJLy79qfWP6yU6j7C6TQSiUIkntUmi
|
||||
zTlwRPpVGYxy5viDtEiYsVQWv49ZXSYwSHp6QIPKWcMCAwEAAaOBqjCBpzAOBgNV
|
||||
HQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUwcxZ
|
||||
u77uAlfsP52FQ+10ocE8KqgwXwYDVR0RBFgwVoIYc29ja2V0LmFsZXguZWF0dmlv
|
||||
LmxvY2Fsghdzb2NrZXQuYWxleC5lYXR2aW8udGVzdIIJbG9jYWxob3N0hwQKNwV5
|
||||
hxAAAAAAAAAAAAAAAAAAAAABMA0GCSqGSIb3DQEBCwUAA4IBgQCR6GilrCsiKLp0
|
||||
0VVaRSktjjjdddnW9QkZ//4JTwWFhadc1HB5enLS6RFFDNoo9LnWeQatK39tiRaN
|
||||
9o4YPJlx6NcMgHDX0UnVPsyvVQkQ2+5U7nXkdR5XgQIAp8EexPK4g8Sj8pILYSE6
|
||||
+If+t6rpB0zCbcMHgInQPohRsCpMzl612G4/lzSjEc7NwAlyyPNXcT1n+YrfR28v
|
||||
uVRDdSKQkJ8n4XTAJwHN19HomNfrASFG6P02bdd8AZKuNxc+yeucpsTHyAzc6N3Z
|
||||
xXG2fTwfbTkQbie9guZQRmd7ZERA7usDwGhaAIW/CDNBUvdpFzvYNsp8mv9UhSZF
|
||||
I8WAOLvLosX+9yiE0SB9sEqIjS1cuZv6jek1wDlU78rOywBUJbeNIB4k8YyPXU3g
|
||||
MnXEm8qMW60zKWm0Z4ucP5AnbN/938mpJ4DFNH/wuA+bKLEI+cAkMF8BNhMcFZ0U
|
||||
Jq1l75URBrteimBYxmH4GK5y1l2ZW1I5fBz2PCGj7ZGTHz3J9NQ=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -19,4 +19,3 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
ENV PATH=node_modules/.bin:$PATH
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ stdout_logfile=/application/storage/logs/worker.log
|
||||
stopwaitsecs=3600
|
||||
|
||||
[program:php-fpm]
|
||||
command=php-fpm8.3 -F
|
||||
command=php-fpm8.2 -F
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
stdout_logfile=/dev/stdout
|
||||
stdout_logfile_maxbytes=0
|
||||
|
||||
3
phpdocker/typesense/Dockerfile
Executable file
3
phpdocker/typesense/Dockerfile
Executable file
@@ -0,0 +1,3 @@
|
||||
FROM typesense/typesense:29.0
|
||||
USER root
|
||||
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
|
||||
@@ -10,4 +10,3 @@ RUN apt-get update && \
|
||||
python3-pkg-resources supervisor && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user