diff --git a/local-dev/.env b/local-dev/.env new file mode 100644 index 0000000..6f6a661 --- /dev/null +++ b/local-dev/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=mobmash \ No newline at end of file diff --git a/local-dev/Dockerfile b/local-dev/Dockerfile new file mode 100644 index 0000000..f3b6c28 --- /dev/null +++ b/local-dev/Dockerfile @@ -0,0 +1,13 @@ +FROM php:8.2-cli + +RUN apt -y update && apt -y upgrade +RUN apt -y install npm git libpq-dev +RUN docker-php-ext-install pdo_pgsql pgsql + +WORKDIR /var/www/ + +COPY ./entrypoint.sh ./entrypoint.sh + +EXPOSE 1337 + +ENTRYPOINT ["./entrypoint.sh"] diff --git a/local-dev/docker-compose.yml b/local-dev/docker-compose.yml new file mode 100644 index 0000000..9a56a69 --- /dev/null +++ b/local-dev/docker-compose.yml @@ -0,0 +1,36 @@ +version: '3.8' + +services: + postgres: + image: postgres:latest + environment: + POSTGRES_USER: myuser + POSTGRES_PASSWORD: mypassword + POSTGRES_DB: mydatabase + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + + mobmash: + build: + context: . + dockerfile: Dockerfile + environment: + POSTGRES_HOST: postgres + POSTGRES_USER: myuser + POSTGRES_PASSWORD: mypassword + POSTGRES_DBNAME: mydatabase + UPDATER_CONTACT_EMAIL: dev@localhost + GENERAL_CONTACT_EMAIL: dev@localhost + PRIVACY_CONTACT: John Doe + PRIVACY_CONTACT_EMAIL: dev@localhost + depends_on: + - postgres + volumes: + - ../:/var/www/mobmash:Z + ports: + - "8080:8080" + +volumes: + postgres_data: \ No newline at end of file diff --git a/local-dev/entrypoint.sh b/local-dev/entrypoint.sh new file mode 100755 index 0000000..41c58d9 --- /dev/null +++ b/local-dev/entrypoint.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +cd /var/www/mobmash + +# Build JS +cd resources/js/ +npm install +npm run build +cd /var/www/mobmash + +# Fetch Emoji +./bin/setup/fetch-emoji.sh + +# Prepare Config +cp config.templ.php config.php +sed -i -E 's/%DBHOST%/'"$POSTGRES_HOST"'/g' config.php +sed -i -E 's/%DBNAME%/'"$POSTGRES_DBNAME"'/g' config.php +sed -i -E 's/%DBUSER%/'"$POSTGRES_USER"'/g' config.php +sed -i -E 's/%DBPASSWORD%/'"$POSTGRES_PASSWORD"'/g' config.php +sed -i -E 's/%UPDATER_EMAIL%/'"$UPDATER_CONTACT_EMAIL"'/g' config.php +sed -i -E 's/%GENERAL_EMAIL%/'"$GENERAL_CONTACT_EMAIL"'/g' config.php +sed -i -E 's/%PRIVACY_CONTACT%/'"$PRIVACY_CONTACT"'/g' config.php +sed -i -E 's/%PRIVACY_EMAIL%/'"$PRIVACY_CONTACT_EMAIL"'/g' config.php + +# Fetch MC Wiki data (if necessary) +test -f ./html/images/mobs/cow.png || php ./bin/cron/updateData.php + +# Start dev server +php -S 0.0.0.0:8080 -t /var/www/mobmash/html \ No newline at end of file