diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2a63fc7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +/docker/ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.env.production +.phpunit.result.cache +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode + +*~ +.\#* +\#*\# +.*.~undo-tree~ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..98e2fa2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM laradock/workspace:latest-8.2 + +ENV COMPOSER_ALLOW_SUPERUSER=1 + +WORKDIR /code +COPY . /code + +RUN composer install --prefer-dist + +COPY ./entrypoint.sh / +ENTRYPOINT ["sh", "/entrypoint.sh"] + diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..1bff5f7 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,32 @@ +version: '3' + +services: + postgres: + image: postgres:15-alpine + restart: always + volumes: + - ./docker/postgres/data:/var/lib/postgresql/data + env_file: + - ./docker/postgres/.env + + dots-bot-api: + container_name: dots-bot-api + build: . + volumes: + - ./.env:/code/.env + depends_on: + - postgres + networks: + - dots-bot-api + + nginx: + build: ./docker/nginx + ports: + - 80:80 + depends_on: + - dots-bot-api + networks: + - dots-bot-api + +networks: + dots-bot-api: diff --git a/docker/postgres/.env b/docker/postgres/.env new file mode 100644 index 0000000..3d68d9e --- /dev/null +++ b/docker/postgres/.env @@ -0,0 +1,3 @@ +POSTGRES_USER=laravel +POSTGRES_PASSWORD=laravel +POSTGRES_DB=testpassword diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..831af1e --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +#sleep 120 +# comment those commands, after the first run: +php artisan key:generate +php artisan migrate + +php artisan serve --host 0.0.0.0 + +