Skip to content
Snippets Groups Projects
Commit fa964cf7 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

db connection is now working for docker-compose

parent f3573b5c
No related branches found
No related tags found
2 merge requests!1502Development,!1500Resolve "Fix Admin Interface"
...@@ -4,6 +4,13 @@ APP_LOG_LEVEL=debug ...@@ -4,6 +4,13 @@ APP_LOG_LEVEL=debug
APP_KEY= APP_KEY=
APP_URL=http://localhost APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=mgdb
DB_PORT=3306
DB_DATABASE=metager
DB_USERNAME=metager
DB_PASSWORD="metager"
REDIS_RESULT_CONNECTION=default REDIS_RESULT_CONNECTION=default
REDIS_RESULT_CACHE_DURATION=60 REDIS_RESULT_CACHE_DURATION=60
......
...@@ -34,7 +34,6 @@ EXPOSE 80 ...@@ -34,7 +34,6 @@ EXPOSE 80
COPY config/nginx.conf /etc/nginx/nginx.conf COPY config/nginx.conf /etc/nginx/nginx.conf
COPY config/nginx-default.conf /etc/nginx/conf.d/default.conf COPY config/nginx-default.conf /etc/nginx/conf.d/default.conf
COPY --chown=root:nginx . /html COPY --chown=root:nginx . /html
RUN chmod -R g+w storage bootstrap/cache
CMD chown -R root:nginx storage/logs/metager bootstrap/cache && \ CMD chown -R root:nginx storage/logs/metager bootstrap/cache && \
chmod -R g+w storage/logs/metager bootstrap/cache && \ chmod -R g+w storage/logs/metager bootstrap/cache && \
......
<?php
namespace App\Console\Commands;
use DB;
use Illuminate\Console\Command;
class WaitDB extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'wait:db';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Waits until default DB connection is available. ';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$starttime = microtime(true);
while (microtime(true) - $starttime < 60) {
try {
$connection = DB::connection('mysql')->getPdo();
$this->line("Connection to database successfull");
return 0;
} catch (\Exception $e) {
$this->error($e->getMessage());
sleep(1);
}
}
return 1;
}
}
...@@ -12,17 +12,29 @@ services: ...@@ -12,17 +12,29 @@ services:
working_dir: /usr/src/app working_dir: /usr/src/app
command: bash -c "npm install && npm run watch" command: bash -c "npm install && npm run watch"
dependencies: dependencies:
image: alpine:latest depends_on:
- "mgdb"
image: php:7.3-cli
volumes: volumes:
- .:/data - .:/data
working_dir: /data working_dir: /data
command: /data/init.sh command: /data/init.sh
mgdb:
restart: unless-stopped
image: mariadb:latest
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_USER=metager
- MYSQL_PASSWORD=metager
- MYSQL_DATABASE=metager
web: web:
depends_on: depends_on:
- "mgdb"
- "dependencies" - "dependencies"
- "phpdeps" - "phpdeps"
- "assets" - "assets"
restart: on-failure restart: unless-stopped
build: . build: .
working_dir: /html working_dir: /html
volumes: volumes:
......
#!/bin/sh #!/bin/sh
# This commands will help initialize data for docker-compose setup
# Its supposed to run in a php docker image
docker-php-ext-install pdo pdo_mysql
if [ ! -f "/data/.env" ]; then if [ ! -f "/data/.env" ]; then
cp /data/.env.example /data/.env cp /data/.env.example /data/.env
fi fi
...@@ -7,6 +11,11 @@ fi ...@@ -7,6 +11,11 @@ fi
if [ -f "/data/database/useragents.sqlite" ]; then if [ -f "/data/database/useragents.sqlite" ]; then
rm /data/database/useragents.sqlite rm /data/database/useragents.sqlite
fi fi
cp /data/database/useragents.sqlite.example /data/database/useragents.sqlite
chmod -R go+w storage bootstrap/cache touch /data/database/useragents.sqlite
\ No newline at end of file
chmod -R go+w storage bootstrap/cache
php artisan wait:db
php artisan migrate
php artisan db:seed
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment