Compare commits
10 Commits
1c4c9420f8
...
4ab0cd7be2
Author | SHA1 | Date | |
---|---|---|---|
4ab0cd7be2 | |||
6440dea859 | |||
35f7972cd4 | |||
7e12d32f9e | |||
984ae4dc27 | |||
33deefdd9e | |||
5eebaf8ec4 | |||
9d459e0ab7 | |||
47aaf3f3d6 | |||
17633c4005 |
@ -10,7 +10,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"esoko/soko-web": "0.13.1",
|
"esoko/soko-web": "0.14.1",
|
||||||
"firebase/php-jwt": "^6.4"
|
"firebase/php-jwt": "^6.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
10
composer.lock
generated
10
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "59130fbd82b1c81275666b16adb0c1a1",
|
"content-hash": "2fdc479615518ac79d67b0a3f72ea2cb",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "cocur/slugify",
|
"name": "cocur/slugify",
|
||||||
@ -82,11 +82,11 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "esoko/soko-web",
|
"name": "esoko/soko-web",
|
||||||
"version": "v0.13.1",
|
"version": "v0.14.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.esoko.eu/esoko/soko-web.git",
|
"url": "https://git.esoko.eu/esoko/soko-web.git",
|
||||||
"reference": "8bf495c89b4ce1456da1133adc285003e544dd48"
|
"reference": "7210b24aa31f47a55125a7c1f74267313f372559"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"cocur/slugify": "^4.3",
|
"cocur/slugify": "^4.3",
|
||||||
@ -108,7 +108,7 @@
|
|||||||
"GNU GPL 3.0"
|
"GNU GPL 3.0"
|
||||||
],
|
],
|
||||||
"description": "Lightweight web framework",
|
"description": "Lightweight web framework",
|
||||||
"time": "2023-07-08T12:38:40+00:00"
|
"time": "2023-09-26T22:26:55+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "firebase/php-jwt",
|
"name": "firebase/php-jwt",
|
||||||
@ -3152,5 +3152,5 @@
|
|||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": [],
|
"platform": [],
|
||||||
"platform-dev": [],
|
"platform-dev": [],
|
||||||
"plugin-api-version": "2.3.0"
|
"plugin-api-version": "2.6.0"
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,17 @@ version: '3'
|
|||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
build:
|
build:
|
||||||
context: ./docker
|
context: .
|
||||||
dockerfile: Dockerfile-app
|
dockerfile: docker/Dockerfile
|
||||||
|
target: rvr_dev
|
||||||
|
depends_on:
|
||||||
|
mariadb:
|
||||||
|
condition: service_healthy
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
volumes:
|
volumes:
|
||||||
- .:/var/www/rvr
|
- .:/var/www/rvr
|
||||||
|
working_dir: /var/www/rvr
|
||||||
mariadb:
|
mariadb:
|
||||||
image: mariadb:10.3
|
image: mariadb:10.3
|
||||||
ports:
|
ports:
|
||||||
@ -19,6 +24,13 @@ services:
|
|||||||
MYSQL_DATABASE: 'rvr'
|
MYSQL_DATABASE: 'rvr'
|
||||||
MYSQL_USER: 'rvr'
|
MYSQL_USER: 'rvr'
|
||||||
MYSQL_PASSWORD: 'rvr'
|
MYSQL_PASSWORD: 'rvr'
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "mysqladmin -u $$MYSQL_USER -p$$MYSQL_PASSWORD ping -h localhost || exit 1"]
|
||||||
|
start_period: 5s
|
||||||
|
start_interval: 1s
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
adminer:
|
adminer:
|
||||||
image: adminer:4.8.1-standalone
|
image: adminer:4.8.1-standalone
|
||||||
ports:
|
ports:
|
||||||
|
44
docker/Dockerfile
Normal file
44
docker/Dockerfile
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
FROM ubuntu:focal AS rvr_base
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
RUN apt update --fix-missing && apt install -y sudo curl git unzip mariadb-client nginx \
|
||||||
|
php-apcu php7.4-cli php7.4-curl php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-zip php7.4-xml
|
||||||
|
|
||||||
|
RUN mkdir -p /run/php
|
||||||
|
COPY docker/configs/nginx.conf /etc/nginx/sites-available/default
|
||||||
|
|
||||||
|
COPY docker/scripts/install-composer.sh install-composer.sh
|
||||||
|
RUN ./install-composer.sh
|
||||||
|
|
||||||
|
COPY docker/scripts/install-nodejs.sh install-nodejs.sh
|
||||||
|
RUN ./install-nodejs.sh
|
||||||
|
RUN npm install -g uglify-js clean-css-cli svgo yarn
|
||||||
|
|
||||||
|
|
||||||
|
FROM rvr_base AS rvr_dev
|
||||||
|
|
||||||
|
RUN apt update --fix-missing && apt install -y php-xdebug
|
||||||
|
|
||||||
|
RUN echo "xdebug.remote_enable = 1" >> /etc/php/7.4/mods-available/xdebug.ini &&\
|
||||||
|
echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/mods-available/xdebug.ini &&\
|
||||||
|
echo "xdebug.remote_connect_back = 1" >> /etc/php/7.4/mods-available/xdebug.ini
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
EXPOSE 5000
|
||||||
|
EXPOSE 8090
|
||||||
|
EXPOSE 9229
|
||||||
|
ENTRYPOINT docker/scripts/entry-point-dev.sh
|
||||||
|
|
||||||
|
|
||||||
|
FROM rvr_base AS rvr_release
|
||||||
|
|
||||||
|
RUN apt update --fix-missing && apt install -y cron
|
||||||
|
|
||||||
|
WORKDIR /var/www/rvr
|
||||||
|
COPY ./ /var/www/rvr
|
||||||
|
RUN rm -rf /var/www/rvr/.git
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
EXPOSE 8090
|
||||||
|
ENTRYPOINT docker/scripts/entry-point.sh
|
32
docker/scripts/entry-point-dev.sh
Executable file
32
docker/scripts/entry-point-dev.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Installing Composer packages..."
|
||||||
|
if [ -f .env ]; then
|
||||||
|
composer install
|
||||||
|
else
|
||||||
|
composer create-project
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Installing Yarn packages..."
|
||||||
|
(cd public/static && yarn install)
|
||||||
|
|
||||||
|
echo "Migrating DB..."
|
||||||
|
./rvr db:migrate
|
||||||
|
|
||||||
|
echo "Set runner user based on owner of .env..."
|
||||||
|
USER_UID=$(stat -c "%u" .env)
|
||||||
|
USER_GID=$(stat -c "%g" .env)
|
||||||
|
groupadd --gid $USER_GID rvr
|
||||||
|
useradd --uid $USER_UID --gid $USER_GID rvr
|
||||||
|
sed -i -e "s/^user = .*$/user = rvr/g" -e "s/^group = .*$/group = rvr/g" /etc/php/7.4/fpm/pool.d/www.conf
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
/usr/sbin/php-fpm7.4 -F &
|
||||||
|
/usr/sbin/nginx -g 'daemon off;' &
|
||||||
|
|
||||||
|
wait -n
|
||||||
|
|
||||||
|
exit $?
|
27
docker/scripts/entry-point.sh
Executable file
27
docker/scripts/entry-point.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Migrating DB..."
|
||||||
|
./rvr db:migrate
|
||||||
|
|
||||||
|
echo "Installing crontab..."
|
||||||
|
/usr/bin/crontab docker/scripts/cron
|
||||||
|
|
||||||
|
echo "Set runner user based on owner of .env..."
|
||||||
|
USER_UID=$(stat -c "%u" .env)
|
||||||
|
USER_GID=$(stat -c "%g" .env)
|
||||||
|
groupadd --gid $USER_GID rvr
|
||||||
|
useradd --uid $USER_UID --gid $USER_GID rvr
|
||||||
|
chown rvr:rvr cache
|
||||||
|
sed -i -e "s/^user = .*$/user = rvr/g" -e "s/^group = .*$/group = rvr/g" /etc/php/7.4/fpm/pool.d/www.conf
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
/usr/sbin/cron -f &
|
||||||
|
/usr/sbin/php-fpm7.4 -F &
|
||||||
|
/usr/sbin/nginx -g 'daemon off;' &
|
||||||
|
|
||||||
|
wait -n
|
||||||
|
|
||||||
|
exit $?
|
@ -76,7 +76,7 @@ class MigrateDatabaseCommand extends Command
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
\Container::$dbConnection->multiQuery(file_get_contents(ROOT . '/database/mapguesser.sql'));
|
\Container::$dbConnection->multiQuery(file_get_contents(ROOT . '/database/rvr.sql'));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function readDir(string $type): array
|
private function readDir(string $type): array
|
||||||
|
Loading…
Reference in New Issue
Block a user