mirror of
https://github.com/fleetbase/fleetbase.git
synced 2026-01-08 07:16:49 +00:00
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,6 +2,7 @@
|
||||
.env
|
||||
.env.backup
|
||||
.phpunit.result.cache
|
||||
.pnpm-store
|
||||
docker-compose.override.yml
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
|
||||
5
.gitmodules
vendored
5
.gitmodules
vendored
@@ -27,6 +27,7 @@
|
||||
[submodule "packages/dev-engine"]
|
||||
path = packages/dev-engine
|
||||
url = git@github.com:fleetbase/dev-engine.git
|
||||
branch = dev-main
|
||||
[submodule "packages/fleetbase-extensions-indexer"]
|
||||
path = packages/fleetbase-extensions-indexer
|
||||
url = git@github.com:fleetbase/fleetbase-extensions-indexer.git
|
||||
@@ -48,3 +49,7 @@
|
||||
path = packages/fleetops-data
|
||||
url = git@github.com:fleetbase/fleetops-data.git
|
||||
branch = dev-main
|
||||
[submodule "socket"]
|
||||
path = socket
|
||||
url = git@github.com:fleetbase/socket.git
|
||||
branch = dev-main
|
||||
|
||||
@@ -6,38 +6,28 @@
|
||||
"license": "MIT",
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"fleetbase/core-api": "1.0.0-dev",
|
||||
"fleetbase/fleetops-api": "1.0.0-dev",
|
||||
"fleetbase/storefront-api": "1.0.0-dev",
|
||||
"fleetbase/core-api": "1.0.0-alpha",
|
||||
"fleetbase/fleetops-api": "1.0.0-alpha",
|
||||
"fleetbase/storefront-api": "1.0.0-alpha",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"laravel/framework": "^8.75",
|
||||
"laravel/sanctum": "^2.11",
|
||||
"laravel/tinker": "^2.5",
|
||||
"psr/http-factory-implementation": "*"
|
||||
"maatwebsite/excel": "^3.1",
|
||||
"phpoffice/phpspreadsheet": "^1.28",
|
||||
"psr/http-factory-implementation": "*",
|
||||
"textalk/websocket": "^1.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"facade/ignition": "^2.5",
|
||||
"fakerphp/faker": "^1.9.1",
|
||||
"kitloong/laravel-migrations-generator": "^6.10",
|
||||
"laravel/sail": "^1.0.1",
|
||||
"mockery/mockery": "^1.4.4",
|
||||
"nunomaduro/collision": "^5.10",
|
||||
"phpunit/phpunit": "^9.5.10"
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "path",
|
||||
"url": "../packages/core-api"
|
||||
},
|
||||
{
|
||||
"type": "path",
|
||||
"url": "../packages/fleetops-api"
|
||||
},
|
||||
{
|
||||
"type": "path",
|
||||
"url": "../packages/storefront-api"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"App\\": "app/",
|
||||
|
||||
3166
api/composer.lock
generated
3166
api/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -2,22 +2,6 @@
|
||||
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
$host = env('DB_HOST', '127.0.0.1');
|
||||
$database = env('DB_DATABASE', 'fleetbase');
|
||||
$username = env('DB_USERNAME', 'fleetbase');
|
||||
$password = env('DB_PASSWORD', '');
|
||||
|
||||
if ($databaseUrl = getenv('DATABASE_URL')) {
|
||||
$url = parse_url($databaseUrl);
|
||||
|
||||
$host = $url['host'];
|
||||
$username = $url['user'];
|
||||
if (isset($url['pass'])) {
|
||||
$password = $url['pass'];
|
||||
}
|
||||
$database = substr($url['path'], 1);
|
||||
}
|
||||
|
||||
$redis_host = env('REDIS_HOST', '127.0.0.1');
|
||||
$redis_database = env('REDIS_DATABASE', '0');
|
||||
$redis_password = env('REDIS_PASSWORD', null);
|
||||
@@ -32,13 +16,9 @@ if ($cacheUrl = getenv('CACHE_URL')) {
|
||||
$redis_database = isset($url['path']) ? substr($url['path'], 1) : 'cache';
|
||||
}
|
||||
|
||||
$mysql_options = [];
|
||||
|
||||
if (env('APP_ENV') === 'local') {
|
||||
$mysql_options[PDO::ATTR_EMULATE_PREPARES] = true;
|
||||
}
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default Database Connection Name
|
||||
@@ -68,118 +48,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
'sqlite' => [
|
||||
'driver' => 'sqlite',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||
'prefix' => '',
|
||||
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||
],
|
||||
|
||||
'mysql' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => $host,
|
||||
'port' => env('DB_PORT', '3306'),
|
||||
'database' => $database,
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => $mysql_options,
|
||||
],
|
||||
|
||||
'sandbox' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => $host,
|
||||
'port' => env('SANDBOX_DB_PORT', '3306'),
|
||||
'database' => $database . '_sandbox',
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => $mysql_options,
|
||||
],
|
||||
|
||||
'frontend' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => $host,
|
||||
'port' => env('FRONTEND_DB_PORT', '3306'),
|
||||
'database' => $database . '_frontend',
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => $mysql_options,
|
||||
],
|
||||
|
||||
'greenfreight' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => $host,
|
||||
'port' => env('GREENFREIGHT_DB_PORT', '3306'),
|
||||
'database' => $database . '_greenfreight',
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => $mysql_options,
|
||||
],
|
||||
|
||||
'storefront' => [
|
||||
'driver' => 'mysql',
|
||||
'host' => $host,
|
||||
'port' => env('STOREFRONT_DB_PORT', '3306'),
|
||||
'database' => $database . '_storefront',
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'charset' => 'utf8mb4',
|
||||
'collation' => 'utf8mb4_unicode_ci',
|
||||
'prefix' => '',
|
||||
'strict' => true,
|
||||
'engine' => null,
|
||||
'options' => $mysql_options,
|
||||
],
|
||||
|
||||
'pgsql' => [
|
||||
'driver' => 'pgsql',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', '127.0.0.1'),
|
||||
'port' => env('DB_PORT', '5432'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
'schema' => 'public',
|
||||
'sslmode' => 'prefer',
|
||||
],
|
||||
|
||||
'sqlsrv' => [
|
||||
'driver' => 'sqlsrv',
|
||||
'url' => env('DATABASE_URL'),
|
||||
'host' => env('DB_HOST', 'localhost'),
|
||||
'port' => env('DB_PORT', '1433'),
|
||||
'database' => env('DB_DATABASE', 'forge'),
|
||||
'username' => env('DB_USERNAME', 'forge'),
|
||||
'password' => env('DB_PASSWORD', ''),
|
||||
'charset' => 'utf8mb4',
|
||||
'prefix' => '',
|
||||
'prefix_indexes' => true,
|
||||
],
|
||||
],
|
||||
'connections' => [],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -241,4 +110,5 @@ return [
|
||||
'database' => $redis_database . '_geocode_cache',
|
||||
],
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
@@ -13,7 +13,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('MAIL_MAILER', 'smtp'),
|
||||
'default' => env('MAIL_MAILER', 'ses'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -47,6 +47,10 @@ return [
|
||||
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||
'region' => env('AWS_DEFAULT_REGION'),
|
||||
'version' => '2010-12-01'
|
||||
],
|
||||
|
||||
'mailgun' => [
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateUsersTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('users', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('email')->unique();
|
||||
$table->timestamp('email_verified_at')->nullable();
|
||||
$table->string('password');
|
||||
$table->rememberToken();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('users');
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreatePasswordResetsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('password_resets', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('password_resets');
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateFailedJobsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uuid')->unique();
|
||||
$table->text('connection');
|
||||
$table->text('queue');
|
||||
$table->longText('payload');
|
||||
$table->longText('exception');
|
||||
$table->timestamp('failed_at')->useCurrent();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('failed_jobs');
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreatePersonalAccessTokensTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->morphs('tokenable');
|
||||
$table->string('name');
|
||||
$table->string('token', 64)->unique();
|
||||
$table->text('abilities')->nullable();
|
||||
$table->timestamp('last_used_at')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('personal_access_tokens');
|
||||
}
|
||||
}
|
||||
2
console
2
console
Submodule console updated: 7a27f92554...f5c881c3b6
@@ -1,5 +1,5 @@
|
||||
version: "3.4"
|
||||
|
||||
name: "fleetbase"
|
||||
services:
|
||||
cache:
|
||||
image: redis:4-alpine
|
||||
@@ -12,7 +12,30 @@ services:
|
||||
- "./docker/database/:/docker-entrypoint-initdb.d/"
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
|
||||
MYSQL_DATABASE: "fleetbase_os"
|
||||
MYSQL_DATABASE: "fleetbase"
|
||||
|
||||
socket:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: socket/Dockerfile
|
||||
args:
|
||||
ENVIRONMENT: dev
|
||||
ports:
|
||||
- "38000:8000"
|
||||
environment:
|
||||
SOCKETCLUSTER_WORKERS: 10
|
||||
SOCKETCLUSTER_BROKERS: 10
|
||||
|
||||
console:
|
||||
ports:
|
||||
- "4200:4200"
|
||||
volumes:
|
||||
- ./console:/app/console
|
||||
build:
|
||||
context: .
|
||||
dockerfile: console/Dockerfile
|
||||
args:
|
||||
ENVIRONMENT: development
|
||||
|
||||
application:
|
||||
volumes:
|
||||
@@ -24,12 +47,14 @@ services:
|
||||
args:
|
||||
ENVIRONMENT: development
|
||||
environment:
|
||||
DATABASE_URL: "mysql://root@database/fleetbase_os"
|
||||
DATABASE_URL: "mysql://root@database/fleetbase"
|
||||
CACHE_DRIVER: redis
|
||||
CACHE_PATH: /var/www/html/api/storage/framework/cache
|
||||
CACHE_URL: tcp://cache
|
||||
REDIS_URL: tcp://cache
|
||||
SESSION_DOMAIN: localhost
|
||||
BROADCAST_DRIVER: socketcluster
|
||||
MAIL_FROM_NAME: Fleetbase
|
||||
depends_on:
|
||||
- database
|
||||
- cache
|
||||
|
||||
@@ -1,78 +1,106 @@
|
||||
# Base stage
|
||||
FROM php:7.4-fpm-bullseye as base
|
||||
|
||||
# download and install geos php bindings
|
||||
# need to run docker-php-ext-configure to create /usr/src/php/ext dir
|
||||
RUN mkdir -p /usr/src/php/ext && curl -L https://git.osgeo.org/gitea/geos/php-geos/archive/1.0.0.tar.gz > /tmp/php-geos.tar.gz && tar -C /usr/src/php/ext -xzvf /tmp/php-geos.tar.gz
|
||||
# Download and install GEOS PHP bindings
|
||||
RUN mkdir -p /usr/src/php/ext \
|
||||
&& curl -L https://git.osgeo.org/gitea/geos/php-geos/archive/1.0.0.tar.gz > /tmp/php-geos.tar.gz \
|
||||
&& tar -C /usr/src/php/ext -xzvf /tmp/php-geos.tar.gz
|
||||
|
||||
RUN apt-get update && apt-get install -y git unzip libzip-dev \
|
||||
libgd-dev \
|
||||
libfreetype6-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libpng-dev \
|
||||
imagemagick libmagickwand-dev --no-install-recommends \
|
||||
libmemcached-dev \
|
||||
libgeos-dev \
|
||||
libgmp-dev \
|
||||
default-mysql-client \
|
||||
libicu-dev \
|
||||
tmux \
|
||||
# Install required packages and PHP extensions
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y git unzip libzip-dev libgd-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
|
||||
imagemagick libmagickwand-dev --no-install-recommends libmemcached-dev libgeos-dev libgmp-dev \
|
||||
default-mysql-client libicu-dev tmux \
|
||||
&& pecl install imagick \
|
||||
&& docker-php-ext-enable imagick \
|
||||
&& docker-php-ext-configure gd --with-external-gd && docker-php-ext-configure php-geos \
|
||||
&& docker-php-ext-install -j$(nproc) gmp php-geos gd zip pdo_mysql sockets intl && pecl install redis-4.3.0 memcached-3.1.3 && docker-php-ext-enable redis memcached opcache
|
||||
&& docker-php-ext-configure gd --with-external-gd \
|
||||
&& docker-php-ext-configure php-geos \
|
||||
&& docker-php-ext-install -j$(nproc) gmp php-geos gd zip pdo_mysql sockets intl bcmath \
|
||||
&& pecl install redis-4.3.0 memcached-3.1.3 \
|
||||
&& docker-php-ext-enable redis memcached opcache bcmath
|
||||
|
||||
RUN sed -e 's/^expose_php.*/expose_php = Off/' "$PHP_INI_DIR/php.ini-production" > "$PHP_INI_DIR/php.ini"
|
||||
RUN sed -i -e 's/^upload_max_filesize.*/upload_max_filesize = 600M/' -e 's/^post_max_size.*/post_max_size = 0/' -e 's/^memory_limit.*/memory_limit = 600M/' "$PHP_INI_DIR/php.ini"
|
||||
# Update PHP configurations
|
||||
RUN sed -e 's/^expose_php.*/expose_php = Off/' "$PHP_INI_DIR/php.ini-production" > "$PHP_INI_DIR/php.ini" \
|
||||
&& sed -i -e 's/^upload_max_filesize.*/upload_max_filesize = 600M/' -e 's/^post_max_size.*/post_max_size = 0/' \
|
||||
-e 's/^memory_limit.*/memory_limit = 600M/' "$PHP_INI_DIR/php.ini"
|
||||
|
||||
RUN curl -L https://github.com/springload/ssm-parent/releases/download/v1.4.3/ssm-parent_1.4.3_linux_amd64.tar.gz > /tmp/ssm-parent.tar.gz && tar -C /sbin -xvf /tmp/ssm-parent.tar.gz ssm-parent && rm /tmp/ssm-parent.tar.gz
|
||||
# Install ssm-parent
|
||||
RUN curl -L https://github.com/springload/ssm-parent/releases/download/v1.4.3/ssm-parent_1.4.3_linux_amd64.tar.gz > /tmp/ssm-parent.tar.gz \
|
||||
&& tar -C /sbin -xvf /tmp/ssm-parent.tar.gz ssm-parent \
|
||||
&& rm /tmp/ssm-parent.tar.gz
|
||||
|
||||
# Install Composer
|
||||
WORKDIR /var/www
|
||||
COPY docker/composer-install.sh ./
|
||||
RUN chmod +x ./composer-install.sh && ./composer-install.sh
|
||||
RUN chmod +x ./composer-install.sh \
|
||||
&& ./composer-install.sh
|
||||
|
||||
# Copy packages
|
||||
COPY packages /var/www/html/packages
|
||||
WORKDIR /var/www/html/api
|
||||
RUN chown www-data:www-data /var/www/html
|
||||
RUN chown www-data:www-data /var/www/html/api
|
||||
|
||||
# Set ownership and permissions
|
||||
RUN chown www-data:www-data /var/www/html \
|
||||
&& chown www-data:www-data /var/www/html/api
|
||||
USER www-data
|
||||
RUN mkdir -p ./storage/logs/ && ln -sf /dev/stdout ./storage/logs/laravel.log
|
||||
# copy these first to not reinstall everything on a random file change
|
||||
RUN mkdir -p ./storage/logs/ \
|
||||
&& ln -sf /dev/stdout ./storage/logs/laravel.log
|
||||
|
||||
# Install Composer dependencies
|
||||
COPY api/composer.json api/composer.lock ./
|
||||
RUN composer install --no-dev --no-scripts --no-autoloader
|
||||
|
||||
# Copy application files
|
||||
COPY --chown=www-data:nogroup . ./
|
||||
# RUN composer dumpautoload
|
||||
|
||||
USER root
|
||||
|
||||
# Copy entrypoint.sh
|
||||
COPY docker/entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
# Copy entrypoint-app.sh
|
||||
COPY docker/entrypoint-app.sh /entrypoint-app.sh
|
||||
RUN chmod +x /entrypoint-app.sh
|
||||
|
||||
# Set environment
|
||||
ARG ENVIRONMENT=production
|
||||
ENV APP_ENV=$ENVIRONMENT
|
||||
|
||||
#### Scheduler stages
|
||||
# Scheduler base stage
|
||||
FROM base as scheduler-base
|
||||
RUN curl -L https://github.com/webdevops/go-crond/releases/download/0.6.1/go-crond-64-linux-dynamic > /usr/local/bin/go-crond && chmod +x /usr/local/bin/go-crond
|
||||
|
||||
# Install go-crond
|
||||
RUN curl -L https://github.com/webdevops/go-crond/releases/download/0.6.1/go-crond-64-linux-dynamic > / usr/local/bin/go-crond && chmod +x /usr/local/bin/go-crond
|
||||
COPY docker/crontab ./crontab
|
||||
RUN chmod 0600 ./crontab
|
||||
|
||||
# Scheduler dev stage
|
||||
FROM scheduler-base as scheduler-dev
|
||||
ENTRYPOINT []
|
||||
CMD ["go-crond", "--verbose", "--no-auto", "root:./crontab"]
|
||||
|
||||
# Scheduler stage
|
||||
FROM scheduler-base as scheduler
|
||||
ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--"]
|
||||
CMD ["go-crond", "--verbose", "--no-auto", "root:./crontab"]
|
||||
|
||||
#### Application stages
|
||||
# Application dev stage
|
||||
FROM base as app-dev
|
||||
ENTRYPOINT ["docker-php-entrypoint"] # the default
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["php-fpm"]
|
||||
|
||||
# Events stage
|
||||
FROM base as events
|
||||
ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--", "docker-php-entrypoint"]
|
||||
CMD ["php", "api/artisan", "queue:work", "events"]
|
||||
CMD ["php", "artisan", "queue:work", "events"]
|
||||
|
||||
# Jobs stage
|
||||
FROM base as jobs
|
||||
ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--", "docker-php-entrypoint"]
|
||||
CMD ["php", "api/artisan", "queue:work", "sqs"]
|
||||
CMD ["php", "artisan", "queue:work", "sqs"]
|
||||
|
||||
# Application stage
|
||||
FROM base as app
|
||||
ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--", "docker-php-entrypoint"]
|
||||
CMD ["php-fpm"]
|
||||
ENTRYPOINT ["/entrypoint-app.sh"]
|
||||
CMD ["php-fpm"]
|
||||
10
docker/entrypoint-app.sh
Normal file
10
docker/entrypoint-app.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Run migrations
|
||||
php artisan mysql:createdb
|
||||
php artisan migrate
|
||||
php artisan sandbox:migrate
|
||||
|
||||
# Call the original entrypoint
|
||||
exec /sbin/ssm-parent -c .ssm-parent.yaml run -- docker-php-entrypoint "$@"
|
||||
10
docker/entrypoint.sh
Normal file
10
docker/entrypoint.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Run migrations
|
||||
php artisan mysql:createdb
|
||||
php artisan migrate
|
||||
php artisan sandbox:migrate
|
||||
|
||||
# Call the original entrypoint
|
||||
exec docker-php-entrypoint "$@"
|
||||
Submodule packages/core-api updated: 7e181373da...babb1b6d62
Submodule packages/dev-engine updated: cd93f10554...b3b2ad94cf
Submodule packages/ember-core updated: 99506b41fb...34a1b98908
Submodule packages/ember-ui updated: 78ab3ac360...e20745ce81
Submodule packages/fleetbase-extensions-indexer updated: 03d9d53713...b5395d84b5
Submodule packages/fleetops-api updated: 50171be6c7...bda490a595
Submodule packages/fleetops-data updated: 0fb1f31968...f8532527ec
Submodule packages/fleetops-engine updated: d75d9c14aa...1207c0a84e
Submodule packages/iam-engine updated: 8175e86bd8...fde9774826
Submodule packages/storefront-api updated: fb643b89b9...f189e4f19d
Submodule packages/storefront-engine updated: 63b72cfe61...46f23b9b1a
25
scripts/autoupdate.sh
Normal file
25
scripts/autoupdate.sh
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
git submodule update --init --recursive
|
||||
git submodule update --recursive --remote
|
||||
cd console
|
||||
git checkout dev-main
|
||||
git pull
|
||||
cd ../packages/ember-core
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
cd ../ember-ui
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
cd ../fleetops-engine
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
cd ../dev-engine
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
cd ../storefront-engine
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
cd ../../console
|
||||
git checkout dev-main
|
||||
pnpm install
|
||||
@@ -4,8 +4,7 @@ set -ev
|
||||
|
||||
php /var/www/html/api/artisan mysql:createdb
|
||||
php /var/www/html/api/artisan migrate --force
|
||||
php /var/www/html/api/artisan migrate:sandbox --force
|
||||
php /var/www/html/api/artisan init:key-column
|
||||
php /var/www/html/api/artisan fix:data
|
||||
php /var/www/html/api/artisan sandbox:migrate --force
|
||||
php /var/www/html/api/artisan sandbox:init-key
|
||||
php /var/www/html/api/artisan db:seed --force
|
||||
php /var/www/html/api/artisan queue:restart
|
||||
@@ -2,3 +2,4 @@
|
||||
composer dump-autoload --working-dir /var/www/html/api
|
||||
composer dump-autoload --working-dir /var/www/html/packages/core-api
|
||||
composer dump-autoload --working-dir /var/www/html/packages/fleetops-api
|
||||
composer dump-autoload --working-dir /var/www/html/packages/storefront-api
|
||||
|
||||
46
scripts/pushpackages.sh
Normal file
46
scripts/pushpackages.sh
Normal file
@@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
|
||||
cd packages/core-api
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../dev-engine
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../ember-core
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../ember-ui
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../fleetops-api
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../fleetops-data
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../fleetops-engine
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../storefront-api
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../storefront-engine
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../iam-engine
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin dev-main
|
||||
cd ../fleetbase-extensions-indexer
|
||||
git add .
|
||||
git commit -m 'latest'
|
||||
git push origin main
|
||||
1
socket
Submodule
1
socket
Submodule
Submodule socket added at ff0c984058
Reference in New Issue
Block a user