diff --git a/backend/docker/Dockerfile b/backend/Dockerfile similarity index 93% rename from backend/docker/Dockerfile rename to backend/Dockerfile index 6952415..370ffa8 100644 --- a/backend/docker/Dockerfile +++ b/backend/Dockerfile @@ -21,7 +21,7 @@ RUN apt-get update \ php8.2-memcached php8.2-pcov php8.2-xdebug \ && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer -EXPOSE 8080 -CMD ["php", "artisan", "serve", "--host=0.0.0.0", "--port=8080"] +EXPOSE 8080 +CMD ["/bin/bash", "-c", "php artisan migrate && php artisan serve --host=0.0.0.0"] diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml deleted file mode 100644 index 3392222..0000000 --- a/backend/docker-compose.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -version: 3.4 -services: - web: - container_name: twitter_clone_laravel - build: - context: ./docker - dockerfile: Dockerfile - volumes: [.:/var/www/html:Z] - ports: [8080:8080] - networks: [sail] - depends_on: [mysql] - mysql: - container_name: twitter_clone_mysql - image: mysql - restart: always - environment: - MYSQL_DATABASE: twitter - MYSQL_ALLOW_EMPTY_PASSWORD: 1 - ports: [3306:3306] - volumes: [dbdata:/var/lib/mysql, ./docker/mysqld.conf:/etc/mysql/my.cnf] - networks: [sail] -networks: - sail: - driver: bridge -volumes: - dbdata: - driver: local diff --git a/backend/docker/mysqld.conf b/backend/mysqld.conf similarity index 100% rename from backend/docker/mysqld.conf rename to backend/mysqld.conf diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..193896a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +--- +version: 1.0 +services: + nuxt: + container_name: twitter_clone_nuxt + build: + context: ./frontend + dockerfile: Dockerfile + volumes: [./frontend:/twitter:Z] + ports: [3000:3000, 24678:24678] + networks: [twitter] + laravel: + container_name: twitter_clone_laravel + build: + context: ./backend + dockerfile: Dockerfile + volumes: [./backend:/var/www/html:Z] + ports: [8080:8080] + networks: [twitter] + depends_on: [mysql] + mysql: + container_name: twitter_clone_mysql + image: mysql + environment: + MYSQL_DATABASE: twitter + MYSQL_ALLOW_EMPTY_PASSWORD: 1 + ports: [3306:3306] + volumes: + - dbdata:/var/lib/mysql + - ./backend/mysqld.conf:/etc/mysql/my.cnf + networks: [twitter] +networks: + twitter: + driver: bridge +volumes: + dbdata: + driver: local diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..41e806b --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,8 @@ +FROM node:18 + +RUN mkdir /twitter +WORKDIR /twitter + +EXPOSE 3000 24678 + +CMD [ "npm", "run", "dev" ]