fixed event seeder

This commit is contained in:
blacksnowman
2026-06-14 00:05:16 +03:00
parent 6721186340
commit c59993a746
6 changed files with 206 additions and 39 deletions
+32
View File
@@ -0,0 +1,32 @@
FROM php:8.2-fpm-alpine
# Системные зависимости для Laravel
RUN apk add --no-cache \
bash \
curl \
libpng-dev \
libxml2-dev \
zip \
unzip \
git
# PHP расширения
RUN docker-php-ext-install pdo pdo_mysql bcmath gd
# Копирование исполняемого файла Composer из официального образа
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Аргументы для ID пользователя (по умолчанию 1000)
ARG USER_ID=1000
ARG GROUP_ID=1000
# Создаем пользователя с теми же ID, что на вашем компьютере
RUN addgroup -g ${GROUP_ID} www && \
adduser -u ${USER_ID} -G www -s /bin/sh -D www
# Настройка Git для этого пользователя
RUN git config --global --add safe.directory /var/www/html
WORKDIR /var/www/html
USER www
+33
View File
@@ -0,0 +1,33 @@
# Переменные для удобства изменения имён контейнеров
DOCKER_COMPOSE = docker compose
PHP_CONTAINER = laravel-app
.PHONY: up down install migrate fresh fresh-seed shell
# Запуск контейнеров в фоновом режиме со сборкой
up:
$(DOCKER_COMPOSE) up -d --build
# Остановка и удаление контейнеров
down:
$(DOCKER_COMPOSE) down
# Установка зависимостей Composer внутри контейнера app
install:
$(DOCKER_COMPOSE) exec app composer install
# Запуск миграций базы данных внутри контейнера app
migrate:
$(DOCKER_COMPOSE) exec app php artisan migrate
# Полный сброс и перезапуск всех миграций (очистка БД)
fresh:
$(DOCKER_COMPOSE) exec app php artisan migrate:fresh
# Полный сброс миграций с последующим наполнением базы сидами (seed)
fresh-seed:
$(DOCKER_COMPOSE) exec app php artisan migrate:fresh --seed
# Интерактивный вход внутрь контейнера (в bash) сразу в рабочую папку
shell:
$(DOCKER_COMPOSE) exec -it app bash
+16 -39
View File
@@ -4,52 +4,29 @@ namespace Database\Seeders;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class PlaceSeeder extends Seeder class PlaceSeeder extends Seeder
{ {
public function run(): void public function run(): void
{ {
$tableName = 'places'; // Путь к вашему SQL файлу
$path = database_path('seeders/scripts/places.sql');
// Очищаем таблицу перед вставкой if (!File::exists($path)) {
DB::table($tableName)->truncate(); $this->command->error("Файл не найден: {$path}");
return;
}
$data = [ // Читаем содержимое файла
['id' => 1, 'name' => 'Ресторан "Мой Двор"', 'address' => 'г. Москва, м. Новогиреево, ул. Сталеваров, вл. 3л.', 'phone' => '+7 (495) 778-52-29', 'gps' => '55.758533|37.841869', 'url' => 'http://www.restoranmoydvor.ru/', 'updated_at' => now(), 'created' => now()], $sql = File::get($path);
['id' => 2, 'name' => 'Бар Дефакто', 'address' => 'г. Москва, Большая Лубянка д.30/2', 'phone' => '+7 (495) 624-44-97', 'gps' => '55.766182|37.631424', 'url' => 'http://defaqto.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 3, 'name' => 'Ресторан "Serafina"', 'address' => 'г. Москва, Родчельская ул, 15/1', 'phone' => '+7 (495) 653-83-73', 'gps' => '55.756402|37.566715', 'url' => 'http://serafinarestaurant.ru', 'updated_at' => now(), 'created' => now()],
['id' => 4, 'name' => 'клуб MUSIC TOWN', 'address' => 'г. Москва, ул.Каланчевская 33, м.Комсомольская', 'phone' => '+7 (495) 937-54-19', 'gps' => '55.776271|37.64892', 'url' => 'http://www.musictownclub.com/', 'updated_at' => now(), 'created' => now()],
['id' => 5, 'name' => 'Клуб "Релакс"', 'address' => 'г. Москва, ул.Мельникова, д.7', 'phone' => '+7 (495) 287-40-90', 'gps' => '55.725926|37.67351', 'url' => 'http://sevenclub7.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 6, 'name' => 'Клуб "Байконур"', 'address' => 'г. Москва, ул. Декабристов, д. 17 ', 'phone' => '+7 (925) 099 10-11', 'gps' => '55.865008|37.604784', 'url' => 'http://baikonur-club.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 7, 'name' => 'АНТРЕ бар', 'address' => 'г. Москва, ул.Мельникова д.7, метро: Пролетарская', 'phone' => '+7 (967) 297-26-97', 'gps' => '55.725926|37.67351', 'url' => 'http://vk.com/barantre', 'updated_at' => now(), 'created' => now()],
['id' => 8, 'name' => 'FM-CLUB', 'address' => 'г. Москва, Земляной Вал д.60/28 или Николоямская д.28/60', 'phone' => '+7 (495) 502-99-21', 'gps' => '55.746907|37.654807', 'url' => 'http://afisha.yandex.ru/msk/places/2794/', 'updated_at' => now(), 'created' => now()],
['id' => 9, 'name' => 'Blur Cafe', 'address' => 'г. Москва, Большой Дровяной пер., д. 8 стр. 1', 'phone' => '+7 (495) 915-76-05', 'gps' => '55.744153|37.656924', 'url' => 'http://blurcafe.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 10, 'name' => 'Glastonberry Pub', 'address' => 'г. Москва, 1-ая Дубровская 13А, стр.1', 'phone' => '+7 (915) 217-96-89', 'gps' => '55.722856|37.675101', 'url' => 'http://www.glastonberrypub.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 11, 'name' => 'WHITE FOX Pub', 'address' => 'г. Истра, ул.Адасько, д.7к1', 'phone' => '+7 (916) 684-54-20', 'gps' => '55.912044|36.860026', 'url' => 'http://vk.com/irishpub_whitefox', 'updated_at' => now(), 'created' => now()],
['id' => 12, 'name' => 'Doolin House', 'address' => 'г. Москва, Арбат 20', 'phone' => '+7 (495) 695-92-06', 'gps' => '55.750485|37.593378', 'url' => 'http://doolin-house.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 13, 'name' => 'Гранд Бурбон Стрит', 'address' => 'г. Москва, Потаповский пер., 5', 'phone' => '+7 (495) 625-94-24', 'gps' => '55.761692|37.640528', 'url' => 'http://www.grand-bourbon.ru', 'updated_at' => now(), 'created' => now()],
['id' => 14, 'name' => 'Night Train', 'address' => 'г. Москва, 1-ый Угрешский проезд д. 7а, стр. 2 ', 'phone' => '+7 (925) 001-26-18 ', 'gps' => '55.716112|37.68881', 'url' => 'http://www.nighttrain.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 15, 'name' => 'Ресторан Бюрократ', 'address' => 'г. Москва, ул. Мневники, д. 13', 'phone' => '+7 (499) 191-16-08', 'gps' => '55.773334|37.484951', 'url' => 'http://www.burocratbeer.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 16, 'name' => 'Little Rock', 'address' => 'г. Москва, ул. Сельскохозяйственная, 15к4', 'phone' => '+7 (968) 845-74-63', 'gps' => '55.836729|37.638116', 'url' => 'http://vk.com/littlerockclub', 'updated_at' => now(), 'created' => now()],
['id' => 17, 'name' => 'China Town', 'address' => 'г. Москва, Лубянский проезд, 25, стр. 1', 'phone' => '+7 (495) 623-61-63', 'gps' => '55.754873|37.634554', 'url' => 'http://chinatowncafe.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 18, 'name' => "Harat's Pub", 'address' => 'г. Калуга, ул. Достоевского, 25', 'phone' => '+7 (4842) 56-11-05', 'gps' => '54.512209|36.252153', 'url' => 'http://www.harats.ru/pubs/kaluga', 'updated_at' => now(), 'created' => now()],
['id' => 19, 'name' => 'Швайн', 'address' => 'г. Москва, Лефортовский пер. 12/50', 'phone' => '+7 (499) 267-45-04', 'gps' => '55.769782|37.678713', 'url' => 'http://schwein.ru', 'updated_at' => now(), 'created' => now()],
['id' => 20, 'name' => 'Jimi', 'address' => 'Москва, Спартаковская площадь, 16/15, стр. 17', 'phone' => '+7 (495) 053-18-88', 'gps' => '55.780664|37.634364', 'url' => 'http://jimiclub.ru', 'updated' => '2017-10-21 09:59:24', 'created' => now()],
['id' => 21, 'name' => 'Travel Cafe', 'address' => 'г. Москва, ул. Верхняя Радищевская, д.7, стр.1', 'phone' => '+7 (495) 915-73-76', 'gps' => '55.744487|37.649539', 'url' => 'https://vk.com/club76897606', 'updated_at' => now(), 'created' => now()],
['id' => 22, 'name' => 'Monaclub', 'address' => 'г. Москва, ул. Павла Корчагина, д.2А', 'phone' => '+7 (495) 776-09-93', 'gps' => '55.810836|37.655371', 'url' => 'http://monaclub.ru/', 'updated_at' => now(), 'created' => now()],
['id' => 23, 'name' => 'Клуб Театр', 'address' => 'г. Москва, ул. Барклая, 6, строение 2', 'phone' => '8 (965) 446-60-26', 'gps' => '55.766581|37.663911', 'url' => 'https://vk.com/teatrmoscow', 'updated' => '2018-01-17 09:20:57', 'created' => now()],
['id' => 24, 'name' => '#ММ77', 'address' => 'г. Москва, Волгоградский пр. 32к8', 'phone' => 'N/A', 'gps' => '55.722700|37.690685', 'url' => 'https://vk.com/motobarmm77', 'updated_at' => now(), 'created' => now()],
['id' => 25, 'name' => 'Rock House', 'address' => 'г. Москва, Измайловское шоссе 71 корпус 5 (Е)', 'phone' => '+7 (495) 728-04-66', 'gps' => '55.789859|37.749280', 'url' => 'http://www.rock-house.ru', 'updated_at' => now(), 'created' => now()],
['id' => 26, 'name' => 'Клуб ЛЕС', 'address' => 'Москва, Лесная, 30А', 'phone' => '+7 (965) 446-60-26', 'gps' => '55.783358|37.5963319', 'url' => 'http://www.lesmoscow.com', 'updated' => '2017-05-23 12:31:13', 'created' => '2017-05-23 12:31:13'],
['id' => 27, 'name' => 'LiveStars', 'address' => 'Берсеневский пер. 5а ,стр.2', 'phone' => '8-968-884-71-60', 'gps' => '55.7414009|37.6101654', 'url' => 'http://www.livestarsclub.ru', 'updated' => '2017-09-03 16:37:42', 'created' => '2017-09-03 16:37:42'],
['id' => 28, 'name' => 'Клуб Контора', 'address' => 'Москва, Варсонофьевский пер., д.1', 'phone' => '8 (499) 707-22-69', 'gps' => '55.752180|37.617985', 'url' => 'https://vk.com', 'updated' => '2018-01-17 09:10:22', 'created' => '2018-01-17 09:10:22'],
['id' => 29, 'name' => 'Bar For Bikers', 'address' => 'Москва, Нижегородская, 32с5', 'phone' => '8 (499) 226-40-50', 'gps' => '55.737161|37.689490', 'url' => 'http://barforbikers.ru', 'updated' => '2018-11-05 13:29:51', 'created' => '2018-05-26 18:12:04'],
['id' => 30, 'name' => 'Долина-Иволга', 'address' => 'Тверская область, Конаковский район, п/о «Энергетик»', 'phone' => '8 (499) 703 31 88', 'gps' => '56.6711037|36.6879069', 'url' => 'http://dolina-ivolga.ru', 'updated' => '2018-09-09 08:56:05', 'created' => '2018-09-09 08:56:05'],
['id' => 31, 'name' => 'Бар мажор', 'address' => 'г. Калуга ул. Кирова 50', 'phone' => '8 (4842) 56-21-33', 'gps' => '54.513898|36.258700', 'url' => 'https://vk.com/bar_major', 'updated' => '2019-04-08 12:08:19', 'created' => '2019-04-08 12:05:09'],
['id' => 32, 'name' => 'Б.О. Галактика', 'address' => 'База отдыха Галактика', 'phone' => '+7 (484) 396-72-83', 'gps' => '55.752180|37.617985', 'url' => 'https://www.galakticka.ru', 'updated' => '2019-04-17 21:02:37', 'created' => '2019-04-17 20:59:00'],
];
// Массовая вставка одним запросом // Выполняем SQL запрос (unprepared позволяет выполнять множественные INSERT)
DB::table($tableName)->insert($data); try {
DB::unprepared($sql);
//$this->command->info('Данные из SQL файла успешно загружены!');
} catch (\Exception $e) {
$this->command->error("Ошибка при выполнении SQL: " . $e->getMessage());
}
} }
} }
+36
View File
@@ -0,0 +1,36 @@
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (1,'Ресторан \"Мой Двор\"','г. Москва, м. Новогиреево, ул. Сталеваров, вл. 3л.','+7 (495) 778-52-29','55.758533|37.841869','http://www.restoranmoydvor.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (2,'Бар Дефакто','г. Москва, Большая Лубянка д.30/2','+7 (495) 624-44-97','55.766182|37.631424','http://defaqto.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (3,'Ресторан \"Serafina\"','г. Москва, Родчельская ул, 15/1','+7 (495) 653-83-73','55.756402|37.566715','http://serafinarestaurant.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (4,'клуб MUSIC TOWN','г. Москва, ул.Каланчевская 33, м.Комсомольская','+7 (495) 937-54-19','55.776271|37.64892','http://www.musictownclub.com/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (5,'Клуб \"Релакс\"','г. Москва, ул.Мельникова, д.7','+7 (495) 287-40-90','55.725926|37.67351','http://sevenclub7.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (6,'Клуб \"Байконур\"','г. Москва, ул. Декабристов, д. 17 ','+7 (925) 099 10-11','55.865008|37.604784','http://baikonur-club.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (7,'АНТРЕ бар','г. Москва, ул.Мельникова д.7, метро: Пролетарская','+7 (967) 297-26-97','55.725926|37.67351','http://vk.com/barantre',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (8,'FM-CLUB','г. Москва, Земляной Вал д.60/28 или Николоямская д.28/60','+7 (495) 502-99-21','55.746907|37.654807','http://afisha.yandex.ru/msk/places/2794/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (9,'Blur Cafe','г. Москва, Большой Дровяной пер., д. 8 стр. 1','+7 (495) 915-76-05','55.744153|37.656924','http://blurcafe.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (10,'Glastonberry Pub','г. Москва, 1-ая Дубровская 13А, стр.1','+7 (915) 217-96-89','55.722856|37.675101','http://www.glastonberrypub.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (11,'WHITE FOX Pub','г. Истра, ул.Адасько, д.7к1','+7 (916) 684-54-20','55.912044|36.860026','http://vk.com/irishpub_whitefox',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (12,'Doolin House','г. Москва, Арбат 20','+7 (495) 695-92-06','55.750485|37.593378','http://doolin-house.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (13,'Гранд Бурбон Стрит','г. Москва, Потаповский пер., 5','+7 (495) 625-94-24','55.761692|37.640528','http://www.grand-bourbon.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (14,'Night Train','г. Москва, 1-ый Угрешский проезд д. 7а, стр. 2 ','+7 (925) 001-26-18 ','55.716112|37.68881','http://www.nighttrain.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (15,'Ресторан Бюрократ','г. Москва, ул. Мневники, д. 13','+7 (499) 191-16-08','55.773334|37.484951','http://www.burocratbeer.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (16,'Little Rock','г. Москва, ул. Сельскохозяйственная, 15к4','+7 (968) 845-74-63','55.836729|37.638116','http://vk.com/littlerockclub',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (17,'China Town','г. Москва, Лубянский проезд, 25, стр. 1','+7 (495) 623-61-63 ','55.754873|37.634554','http://chinatowncafe.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (18,'Harat\'s Pub','г. Калуга, ул. Достоевского, 25','+7 (4842) 56-11-05 ','54.512209|36.252153','http://www.harats.ru/pubs/kaluga',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (19,'Швайн','г. Москва, Лефортовский пер. 12/50','+7 (499) 267-45-04','55.769782|37.678713','http://schwein.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (20,'Jimi','Москва, Спартаковская площадь, 16/15, стр. 17','+7 (495) 053-18-88','55.780664|37.634364','http://jimiclub.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (21,'Travel Cafe','г. Москва, ул. Верхняя Радищевская, д.7, стр.1','+7 (495) 915-73-76','55.744487|37.649539','https://vk.com/club76897606',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (22,'Monaclub','г. Москва, ул. Павла Корчагина, д.2А','+7 (495) 776-09-93','55.810836|37.655371','http://monaclub.ru/',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (23,'Клуб Театр','г. Москва, ул. Барклая, 6, строение 2','8 (965) 446-60-26','55.766581|37.663911','https://vk.com/teatrmoscow',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (24,'#ММ77','г. Москва, Волгоградский пр. 32к8','N/A','55.722700|37.690685','https://vk.com/motobarmm77',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (25,'Rock House','г. Москва, Измайловское шоссе 71 корпус 5 (Е)','+7 (495) 728-04-66','55.789859|37.749280','http://www.rock-house.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (26,'Клуб ЛЕС','Москва, Лесная, 30А','+7 (965) 446-60-26','55.783358|37.5963319','http://www.lesmoscow.com',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (27,'LiveStars','Берсеневский пер. 5а ,стр.2','8-968-884-71-60','55.7414009|37.6101654','http://www.livestarsclub.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (28,'Клуб Контора','Москва, Варсонофьевский пер., д.1','8 (499) 707-22-69','55.752180|37.617985','https://vk.com/kontora.club',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (29,'Bar For Bikers','Москва, Нижегородская, 32с5','8 (499) 226-40-50','55.737161|37.689490','http://barforbikers.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (30,'Долина-Иволга','Тверская область, Конаковский район, п/о «Энергетик»','8 (499) 703 31 88','56.6711037|36.6879069','http://dolina-ivolga.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (31,'Бар мажор','г. Калуга ул. Кирова 50','8 (4842) 56-21-33','54.513898|36.258700','https://vk.com/bar_major',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (32,'Б.О. Галактика','База отдыха Галактика','+7 (484) 396-72-83','55.752180|37.617985','https://www.galakticka.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (34,'Главный офис','Москва, Новолесная, 3','79261112233','55.754|37.789','https://major.ru',NULL);
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (35,'Клуб Б','Москва, Севастопольский проспект, 14','79203243411','55.724,37.721','http://vk.com','Новый объект');
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (36,'Офис компании','Москва, Севастопольский проспект, 14','79203243411','55.724|37.721','https://major.ru','test');
INSERT INTO `places` (`id`,`name`,`address`,`phone`,`gps`,`url`,`description`) VALUES (37,'Lenta.ru','Москва, Куусинена, 11','79208971142','55.724,37.721','http://lenta.ru','Самый ужасный в Москве клуб!');
+51
View File
@@ -0,0 +1,51 @@
services:
app:
build:
context: .
dockerfile: Dockerfile
args:
- USER_ID=1000
- GROUP_ID=1000
container_name: laravel-app
restart: unless-stopped
volumes:
- .:/var/www/html
depends_on:
- db
nginx:
image: nginx:alpine
container_name: laravel-nginx
restart: unless-stopped
ports:
- "127.0.0.1:8080:80"
volumes:
- .:/var/www/html
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app
db:
image: mariadb:10.11
container_name: laravel-db
restart: unless-stopped
# Оптимизация: отключаем лишние проверки и DNS, чтобы не тупило внутри докера
command: [
"mysqld",
"--skip-name-resolve",
"--innodb-buffer-pool-size=128M", # Отрегулируй под свою RAM (256M-512M обычно за глаза)
"--character-set-server=utf8mb4",
"--collation-server=utf8mb4_unicode_ci"
]
environment:
MARIADB_DATABASE: ledstarband
MARIADB_ROOT_PASSWORD: ShowMeYouRoot
MARIADB_USER: ledstarband
MARIADB_PASSWORD: AnotherOneBitesTheDust
ports:
- "33060:3306" # Внешний порт 33060, внутренний 3306
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
+38
View File
@@ -0,0 +1,38 @@
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /var/www/html/public;
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
# Пересылка PHP-запросов в контейнер 'app' на порт 9000
location ~ \.php$ {
fastcgi_pass app:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
}