67 lines
2.7 KiB
Markdown
67 lines
2.7 KiB
Markdown
|
# Games Shop
|
||
|
This is the repository for the free games shop hosted on [shop.iedsoftworks.com](https://shop.iedsoftworks.com).
|
||
|
|
||
|
## Developers and local testers
|
||
|
To start a local variant of the site, you **need** Docker (with docker compose).
|
||
|
|
||
|
### 1 Cloning the repo
|
||
|
Start with cloning the repository
|
||
|
|
||
|
`git clone https://git.php.fail/neintonine/gamesshop.git`
|
||
|
|
||
|
and entering the folder for it
|
||
|
|
||
|
`cd gamesshop`
|
||
|
|
||
|
### 2 Installing dependencies
|
||
|
Then you need to install/build the NPM and composer portion.
|
||
|
There are two ways of doing it.
|
||
|
|
||
|
#### 2.1 Local NPM & Composer
|
||
|
If you have NodeJS and PHP8.3 with composer installed, you can simply run:
|
||
|
|
||
|
`npm install && npm run build && composer install`
|
||
|
|
||
|
#### 2.2 Docker
|
||
|
If you don't have those installed, and are unwilling to install them, you can use docker to install and build the required packages.
|
||
|
|
||
|
JS: `docker run --rm --volume "$PWD":/app -w /app node npm install && npm run build`
|
||
|
|
||
|
PHP: `docker run --rm --volume "$PWD":/app -w /app composer composer install --ignore-platform-req=ext-gd`
|
||
|
|
||
|
### 3 Creating the environment file
|
||
|
To run the site, you need a valid environment file.
|
||
|
#### 3.1 Copy the example
|
||
|
Under the folder 'config', you can find a `.env.example`-file, which you can use to create your enviroment file.
|
||
|
Start of by coping the file, and rename it to `.env`
|
||
|
|
||
|
`cp config/.env.example config/.env`
|
||
|
|
||
|
The example already includes settings for the database and logs.
|
||
|
|
||
|
#### 3.2 Adding your Discord-App
|
||
|
One thing, that the example doesn't contain is the discord app. Thats something you need to add.
|
||
|
Simply create an app in the [Discord Developer Portal](https://discord.com/developers/applications) and add the required values in the environment file
|
||
|
|
||
|
### 4 Creating the Database
|
||
|
Now after ensuring you have the dependencies and a valid environment file, we can create the database.
|
||
|
|
||
|
Again, if you have PHP installed you can just do: `php ./src/php/bin/doctrine.php orm:schema-tool:create`
|
||
|
|
||
|
If you don't want to do this, just let docker to do it:
|
||
|
|
||
|
```bash
|
||
|
docker run -v .:/app --rm -it php:8.3-cli php /app/src/php/bin/doctrine.php orm:schema-tool:create
|
||
|
```
|
||
|
|
||
|
### 5 Running the containers
|
||
|
Now finally, after creating the database, just go into the deploy folder (`cd deploy`) and start the compose file.
|
||
|
|
||
|
You may see, that there are two file (`docker-compose.yaml` and `docker-compose-dev.yml`). As you may expect the second is for local development so probably the one you should use.
|
||
|
The first does effectively the same thing, but for the production environment.
|
||
|
|
||
|
```bash
|
||
|
docker compose -f ./docker-compose-dev.yml up
|
||
|
```
|
||
|
|
||
|
Congratulations! The website should now boot up and after docker is done downloading, you should be able to use http://localhost:8080 to open the page.
|