Compare commits

..

97 Commits

Author SHA1 Message Date
Ronald A. Richardson
6980b44239 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa
Some checks failed
Fleetbase CI/CD / Build and Deploy the Service (push) Has been cancelled
Fleetbase CI/CD / Build and Deploy the Console (push) Has been cancelled
2025-01-11 17:52:03 +08:00
Ronald A. Richardson
a349f20298 hotfix console lockfile 2024-12-24 16:21:04 +08:00
Ronald A. Richardson
2b0735efbd Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-12-24 15:37:54 +08:00
Ronald A. Richardson
fdabe55ce2 Upgraded billing extension 2024-11-16 19:29:45 +08:00
Ronald A. Richardson
369fe0e66f Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-11-09 14:38:22 +08:00
Ronald A. Richardson
2ee81c5c26 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-11-07 18:59:14 +08:00
Ronald A. Richardson
6951ee7003 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-11-07 18:57:59 +08:00
Ronald A. Richardson
a824e7da85 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-11-07 18:50:23 +08:00
Ronald A. Richardson
c85b761c28 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-17 17:29:31 +08:00
Ronald A. Richardson
9080265806 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-15 20:26:29 +08:00
Ronald A. Richardson
5a40d964fe Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-10 11:07:39 +08:00
Ronald A. Richardson
2bcd29363c Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-08 21:56:59 +08:00
Ronald A. Richardson
5894500121 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-04 17:40:54 +08:00
Ronald A. Richardson
fee801c38f Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-10-02 19:34:52 +08:00
Ronald A. Richardson
151ce5d82d Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-08-31 16:28:53 +08:00
Ronald A. Richardson
533f175de0 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-08-31 16:24:15 +08:00
Ronald A. Richardson
0d6b8edcc8 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-08-30 18:24:11 +08:00
Ronald A. Richardson
3f848fd9d8 Fix composer.lock 2024-08-30 16:20:39 +08:00
Ronald A. Richardson
182a5e5d45 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-08-30 15:53:16 +08:00
Ronald A. Richardson
253c68e0ac Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-08-06 13:57:44 +08:00
Ronald A. Richardson
54bee62335 added flespi extension 2024-07-31 18:36:41 +08:00
Ronald A. Richardson
23a8c8596e Merge branch 'main' of github.com:fleetbase/fleetbase into cloud-qa 2024-07-31 18:03:55 +08:00
Ronald A. Richardson
18596450ee qa environment setup with qa registry 2024-07-31 17:52:39 +08:00
Ronald A. Richardson
3c013a3817 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-30 22:54:57 +08:00
Ronald A. Richardson
4392c7e3ff Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-25 19:06:03 +08:00
Ronald A. Richardson
97dfbedd1a Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-25 18:43:36 +08:00
Ronald A. Richardson
6d13f22a98 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-23 13:32:42 +08:00
Ronald A. Richardson
2c09c87bb6 fix console depn install in cd 2024-07-23 12:31:29 +08:00
Ronald A. Richardson
f7f6991ef3 bump pnpm version in cd workflow 2024-07-23 11:46:44 +08:00
Ronald A. Richardson
73acd4833c fix cd workflow 2024-07-23 11:30:14 +08:00
Ronald A. Richardson
1c3c4c16a5 use node 18 in cd 2024-07-23 11:11:43 +08:00
Ronald A. Richardson
5d01438dc9 fix env set in workflow 2024-07-23 10:59:16 +08:00
Ronald A. Richardson
9d004410ee Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-23 10:46:47 +08:00
Ronald A. Richardson
3a396f3b54 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-23 10:34:32 +08:00
Ronald A. Richardson
e86b970fc8 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-06 13:18:22 +08:00
Ronald A. Richardson
122a0d186a Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-05 17:09:56 +08:00
Ronald A. Richardson
7e258f698f Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-02 17:53:20 +08:00
Ronald A. Richardson
65ef642315 fixed composer.lock 2024-07-02 16:00:17 +08:00
Ronald A. Richardson
d79f034dbd Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-02 15:41:58 +08:00
Ronald A. Richardson
05b7d5e112 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-07-02 15:40:58 +08:00
Ronald A. Richardson
61779ab102 Trigger Deploy 2024-07-01 16:42:55 +08:00
Ronald A. Richardson
a287c05380 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-05-30 19:57:16 +08:00
Ronald A. Richardson
ecc41e587e Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-05-17 16:58:14 +08:00
Ronald A. Richardson
166529f9b4 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-05-15 14:39:54 +08:00
Ronald A. Richardson
189547f9de Upgrade fleetbase/billing#^0.0.9 with hotfix for getSytemResourceModels utility function 2024-05-04 13:56:59 +08:00
Ronald A. Richardson
90a42e8a93 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-05-04 13:19:13 +08:00
Ronald A. Richardson
d28b1d41fb Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-04-30 19:40:08 +08:00
Ronald A. Richardson
b056ef62b0 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-04-30 18:11:33 +08:00
Ronald A. Richardson
e70cbacbc2 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-04-17 16:58:07 +08:00
Ronald A. Richardson
fbd4a7490a Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-04-13 20:28:50 +08:00
Ronald A. Richardson
b9b0eb308b Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-04-02 18:06:15 +08:00
Ronald A. Richardson
48e1b89ec8 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-27 21:09:51 +08:00
Ronald A. Richardson
5e02c95b66 Upgrade extension 'fleetops' to version v0.4.22 2024-03-19 19:25:51 +08:00
Ronald A. Richardson
db8b5c4d6a Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-17 12:32:42 +08:00
Ronald A. Richardson
aa214ccad7 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-15 17:33:37 +08:00
Ronald A. Richardson
cdd5524cf3 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-13 15:31:47 +08:00
Ronald A. Richardson
d99cefd2a4 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-12 18:25:56 +08:00
Ronald A. Richardson
1c58fd43c3 v0.4.10l fixed console lockfile 2024-03-11 21:56:26 +08:00
Ronald A. Richardson
9226394159 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-03-11 21:19:32 +08:00
Ronald A. Richardson
9b23b39f32 upgraded to v0.4.9 2024-02-24 17:07:49 +08:00
Ronald A. Richardson
5310fc3ff3 upgraded to v0.4.8 2024-02-23 13:52:21 +08:00
Ronald A. Richardson
9569053f50 upgraded to v0.4.7 2024-02-22 18:16:12 +08:00
Ronald A. Richardson
b08c054b99 upgraded to v0.4.6 2024-02-21 18:59:10 +08:00
Ronald A. Richardson
2e517f2f95 hotfix core-api w/ composer lock 2024-02-17 19:53:53 +08:00
Ronald A. Richardson
7038d375b0 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-02-17 19:31:14 +08:00
Ronald A. Richardson
d5ea7f7790 Upgraded fleetops-api v0.4.11 - Fixes deprecation error/warning which occurs in some environments Implicit conversion from float x to int loses precision when creating a DistanceMatrix object 2024-02-16 03:04:16 +07:00
Ronald A. Richardson
4eb4b04121 use fixed fleetbase/laravel-mysql-spatial v1.0.2 2024-02-16 01:34:01 +07:00
Ronald A. Richardson
24c5b93005 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-02-16 00:16:49 +07:00
Ronald A. Richardson
80610b9a48 Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-02-15 23:52:27 +07:00
Ronald A. Richardson
9e5551972e upgraded to v0.4.3 2024-02-13 17:02:37 +08:00
Ronald A. Richardson
b784f890f3 upgraded to v0.4.2 2024-02-13 14:45:20 +08:00
Ronald A. Richardson
797a3d61fe fix router 2024-02-13 13:55:57 +08:00
Ronald A. Richardson
d2f0bfe83e upgraded to v0.4.1 2024-02-13 13:54:46 +08:00
Ronald A. Richardson
f28ad85c1a Upgraded fleetops to v0.4.8 for LocationService minifcation hotfix 2024-02-09 19:07:32 +08:00
Ronald A. Richardson
d7b0826f3f upgrade core-api to v1.4.1 2024-02-08 19:07:10 +08:00
Ronald A. Richardson
dd6008a8aa dont copy auth.json 2024-02-08 17:44:52 +08:00
Ronald A. Richardson
6671fefaaa Upgraded to v0.4.0 2024-02-08 17:41:02 +08:00
Ronald A. Richardson
7136f6195c v0.3.10 upgraded lockfile 2024-02-01 20:19:52 +08:00
Ronald A. Richardson
2384887620 Upgraded to v0.3.10 2024-02-01 20:14:31 +08:00
Ronald A. Richardson
a2778f1552 Upgraded to v0.3.9 2024-01-25 20:10:39 +08:00
Ronald A. Richardson
acfda5ed1a Merge branch 'main' of github.com:fleetbase/fleetbase into cloud 2024-01-24 18:32:51 +08:00
Ronald A. Richardson
e08255007a remove later hook from extensions initializer 2024-01-23 21:37:22 +08:00
Ronald A. Richardson
41761ea50e add delay to extensions initialization step 2024-01-23 21:20:51 +08:00
Ronald A. Richardson
5c623819ed use node:18.15.0-alpine for console build 2024-01-23 20:13:23 +08:00
Ronald A. Richardson
2bd885b1a2 Upgraded fleetbase/core-api to v1.3.11 2024-01-19 20:16:06 +08:00
Ronald A. Richardson
88c3842441 Upgraded to v0.3.7 2024-01-19 19:55:47 +08:00
Ronald A. Richardson
2c2a4121a8 Upgraded fleetbase/core-api to v1.3.9 with critical patches 2024-01-19 17:02:47 +08:00
Ronald A. Richardson
aadd03f14b upgrade fleetbase/core-api to v1.3.8 2024-01-18 20:00:32 +08:00
Ronald A. Richardson
706e94270d upgraded to v0.3.6 2024-01-18 19:18:52 +08:00
Ronald A. Richardson
1dabc375f9 upgraded to v0.3.5 2024-01-12 18:44:52 +08:00
Ronald A. Richardson
0efec46155 updated production env backend vars 2024-01-08 14:42:58 +08:00
Ronald A. Richardson
8bb2c6b65d fix socketcluster port for environments 2024-01-03 17:37:35 +08:00
Ronald A. Richardson
1c0af1a119 set correct values in .env files for console 2024-01-03 13:27:10 +08:00
Ronald A. Richardson
dd65ee619b upgraded to v0.3.4 2023-12-27 12:01:39 +08:00
Ronald A. Richardson
e790a0e123 upgraded to v0.3.3 2023-12-27 11:07:33 +08:00
Ronald A. Richardson
723e3ca3d1 fix composer file 2023-11-27 10:23:44 +08:00
Ronald A. Richardson
4eb706d33e upgraded to v0.3.1 / cloud version 2023-11-27 10:19:56 +08:00
31 changed files with 3450 additions and 3855 deletions

View File

@@ -9,11 +9,13 @@
"license": "AGPL-3.0-or-later",
"require": {
"php": "^8.0",
"appstract/laravel-opcache": "^4.0",
"fleetbase/core-api": "^1.6.2",
"fleetbase/fleetops-api": "^0.6.5",
"fleetbase/core-api": "^1.5.22",
"fleetbase/fleetops-api": "^0.5.16",
"fleetbase/registry-bridge": "^0.0.18",
"fleetbase/storefront-api": "^0.3.30",
"fleetbase/billing-api": "^0.1.6",
"fleetbase/internals-api": "^0.0.9",
"fleetbase/flespi-integration": "^0.1.13",
"fleetbase/storefront-api": "^0.3.20",
"guzzlehttp/guzzle": "^7.0.1",
"laravel/framework": "^10.0",
"laravel/octane": "^2.3",
@@ -38,9 +40,17 @@
"phpunit/phpunit": "^10.0"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/fleetbase/billing"
},
{
"type": "vcs",
"url": "https://github.com/fleetbase/internals"
},
{
"type": "composer",
"url": "https://registry.fleetbase.io"
"url": "https://registry.qa.fleetbase.io"
}
],
"autoload": {

2085
api/composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +0,0 @@
<?php
return [
'url' => env('OPCACHE_URL', config('app.url')),
'prefix' => 'opcache-api',
'verify' => true,
'headers' => [],
'directories' => [
base_path('app'),
base_path('bootstrap'),
base_path('public'),
base_path('resources'),
base_path('routes'),
base_path('storage'),
base_path('vendor'),
],
'exclude' => [
'test',
'Test',
'tests',
'Tests',
'stub',
'Stub',
'stubs',
'Stubs',
'dumper',
'Dumper',
'Autoload',
],
];

View File

@@ -26,14 +26,10 @@ php artisan schedule-monitor:sync
# Clear cache
php artisan cache:clear
php artisan route:clear
# Optimize
php artisan config:cache
php artisan route:cache
# php artisan config:cache
# php artisan route:cache
# Initialize registry
php artisan registry:init
# Restart octane
# php artisan octane:reload

View File

@@ -16,7 +16,7 @@
{{/if}}
</InputGroup>
<InputGroup @wrapperClass="mb-0i">
<Checkbox @label="APN Production" @value={{this.apn.production}} @onToggle={{this.toggleApnProduction}} />
<Checkbox @label="APN Production" @value={{this.apn.production}} @onToggle={{fn (mut this.apn.production)}} @disabled={{this.isLoading}} />
</InputGroup>
</ContentPanel>

View File

@@ -32,13 +32,6 @@ export default class ConfigureNotificationChannelsComponent extends Component {
this.loadConfigValues();
}
@action toggleApnProduction(checked) {
this.apn = {
...this.apn,
production: checked,
};
}
@action removeApnFile() {
const apnConfig = this.apn;
apnConfig.private_key_file = null;

View File

@@ -22,12 +22,7 @@
</head>
<body>
{{content-for "body"}}
<div id="boot-loader" class="overloader">
<div class="loader-container">
<span class="fleetbase-loader" width="16" height="16"></span>
<div class="loading-message">Starting up...</div>
</div>
</div>
<script src="{{rootURL}}assets/vendor.js"></script>
<script src="{{rootURL}}assets/@fleetbase/console.js"></script>

View File

@@ -55,9 +55,12 @@ Router.map(function () {
this.route('index', { path: '/' }, function () {
this.route('users', { path: '/:public_id/users' });
});
<<<<<<< HEAD
=======
});
this.route('schedule-monitor', function () {
this.route('logs', { path: '/:id/logs' });
>>>>>>> 23d5ecfdb856aac664f6124188de619f036d825b
});
});
});

View File

@@ -4,7 +4,6 @@ import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import isElectron from '@fleetbase/ember-core/utils/is-electron';
import pathToRoute from '@fleetbase/ember-core/utils/path-to-route';
import removeBootLoader from '../utils/remove-boot-loader';
export default class ApplicationRoute extends Route {
@service session;
@@ -89,17 +88,6 @@ export default class ApplicationRoute extends Route {
}
}
/**
* Remove boot loader if not authenticated.
*
* @memberof ApplicationRoute
*/
afterModel() {
if (!this.session.isAuthenticated) {
removeBootLoader();
}
}
/**
* Initializes the application's theme settings, applying necessary class names and default theme configurations.
*

View File

@@ -1,7 +1,6 @@
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';
import removeBootLoader from '../utils/remove-boot-loader';
import '@fleetbase/leaflet-routing-machine';
export default class ConsoleRoute extends Route {
@@ -38,7 +37,6 @@ export default class ConsoleRoute extends Route {
*/
async afterModel(model, transition) {
this.universe.callHooks('console:after-model', this.session, this.router, model, transition);
removeBootLoader();
}
/**

View File

@@ -38,32 +38,3 @@ body[data-theme='dark'] .two-fa-enforcement-alert button#two-fa-setup-button.btn
body.console-admin-organizations-index-index .next-table-wrapper > table {
table-layout: auto;
}
#boot-loader {
position: absolute;
z-index: 9999999999;
inset: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
#boot-loader > .loader-container {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
#boot-loader > .loader-container > .loading-message {
margin-left: 0.5rem;
font-weight: 600;
font-size: 0.875rem;
}
body[data-theme='dark'] #boot-loader > .loader-container > .loading-message {
color: #fff;
}

View File

@@ -1,6 +0,0 @@
export default function removeBootLoader() {
const bootLoaderElement = document.getElementById('boot-loader');
if (bootLoaderElement && typeof bootLoaderElement.remove === 'function') {
bootLoaderElement.remove();
}
}

View File

@@ -1,8 +1,8 @@
API_HOST=
API_HOST=https://api.fleetbase.io
API_NAMESPACE=int/v1
API_SECURE=true
SOCKETCLUSTER_PATH=/socketcluster/
SOCKETCLUSTER_HOST=
SOCKETCLUSTER_HOST=socket.fleetbase.io
SOCKETCLUSTER_SECURE=true
SOCKETCLUSTER_PORT=38000
OSRM_HOST=https://router.project-osrm.org
SOCKETCLUSTER_PORT=8000
OSRM_HOST=https://router.project-osrm.org

View File

@@ -0,0 +1,9 @@
API_HOST=https://api.qa.fleetbase.io
API_NAMESPACE=int/v1
API_SECURE=true
SOCKETCLUSTER_PATH=/socketcluster/
SOCKETCLUSTER_HOST=socket.qa.fleetbase.io
SOCKETCLUSTER_SECURE=true
SOCKETCLUSTER_PORT=8000
OSRM_HOST=https://bundle.routing.fleetbase.io
OSRM_SERVERS=https://canada.routing.fleetbase.io,https://us.routing.fleetbase.io

View File

@@ -1,6 +1,6 @@
{
"name": "@fleetbase/console",
"version": "0.6.8",
"version": "0.5.20",
"private": true,
"description": "Modular logistics and supply chain operating system (LSOS)",
"repository": "https://github.com/fleetbase/fleetbase",
@@ -29,18 +29,21 @@
},
"dependencies": {
"@ember/legacy-built-in-components": "^0.4.2",
"@fleetbase/dev-engine": "^0.2.9",
"@fleetbase/ember-core": "latest",
"@fleetbase/ember-ui": "latest",
"@fleetbase/fleetops-data": "latest",
"@fleetbase/fleetops-engine": "^0.6.5",
"@fleetbase/fleetops-engine": "^0.5.16",
"@fleetbase/iam-engine": "^0.1.3",
"@fleetbase/dev-engine": "^0.2.9",
"@fleetbase/leaflet-routing-machine": "^3.2.16",
"@fleetbase/registry-bridge-engine": "^0.0.18",
"@fleetbase/storefront-engine": "^0.3.30",
"@fleetbase/storefront-engine": "^0.3.20",
"@fleetbase/billing-engine": "^0.1.6",
"@fleetbase/internals-engine": "^0.0.9",
"@fleetbase/flespi-engine": "^0.1.13",
"@fortawesome/ember-fontawesome": "^2.0.0",
"ember-changeset": "4.1.2",
"ember-changeset-validations": "4.1.2",
"ember-changeset": "^4.1.2",
"ember-changeset-validations": "^4.1.1",
"ember-composable-helpers": "^5.0.0",
"ember-concurrency": "^3.1.1",
"ember-concurrency-decorators": "^2.0.3",
@@ -56,7 +59,6 @@
"postcss-nth-list": "^1.0.2"
},
"devDependencies": {
"@embroider/macros": "1.16.12",
"@babel/core": "^7.25.2",
"@babel/eslint-parser": "^7.25.1",
"@babel/plugin-proposal-decorators": "^7.24.7",
@@ -128,7 +130,7 @@
"stylelint-prettier": "^4.1.0",
"tailwindcss": "^3.4.10",
"tracked-built-ins": "^3.3.0",
"webpack": "^5.98.0"
"webpack": "^5.94.0"
},
"engines": {
"node": ">= 18"

4780
console/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +0,0 @@
import removeBootLoader from '@fleetbase/console/utils/remove-boot-loader';
import { module, test } from 'qunit';
module('Unit | Utility | remove-boot-loader', function () {
// TODO: Replace this with your real tests.
test('it works', function (assert) {
let result = removeBootLoader();
assert.ok(result);
});
});

View File

@@ -1,11 +1,6 @@
services:
cache:
image: redis:4-alpine
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
database:
image: mysql:8.0-oracle
@@ -17,11 +12,6 @@ services:
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
MYSQL_DATABASE: "fleetbase"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
socket:
image: socketcluster/socketcluster:v17.4.0
@@ -38,11 +28,6 @@ services:
target: events-dev
args:
ENVIRONMENT: development
healthcheck:
test: ["CMD", "php", "artisan", "queue:status"]
interval: 30s
timeout: 10s
retries: 3
environment:
DATABASE_URL: "mysql://root@database/fleetbase"
QUEUE_CONNECTION: redis

View File

@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.2
# Base stage
FROM dunglas/frankenphp:1.5.0-php8.2-bookworm as base
FROM dunglas/frankenphp:1.2.3-php8.2-bookworm as base
# Install packages
RUN apt-get update && apt-get install -y git bind9-utils mycli nodejs npm nano \
@@ -20,35 +20,11 @@ RUN install-php-extensions \
opcache \
memcached \
imagick \
# geos \
geos \
sockets \
pcntl \
@composer
# Install build dependencies for GEOS
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
pkg-config \
libgeos-dev \
libgeos++-dev \
autoconf \
build-essential \
unzip \
&& rm -rf /var/lib/apt/lists/*
# Download, extract, compile, and enable the php-geos extension
RUN curl -fsSL -o php-geos.zip \
https://github.com/libgeos/php-geos/archive/dfe1ab17b0f155cc315bc13c75689371676e02e1.zip \
&& unzip php-geos.zip \
&& rm php-geos.zip \
&& cd php-geos-* \
&& ./autogen.sh \
&& ./configure \
&& make -j"$(nproc)" install \
&& docker-php-ext-enable geos \
&& cd .. \
&& rm -rf php-geos-*
# 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/' \
@@ -153,9 +129,10 @@ CMD ["php", "artisan", "queue:work"]
# Application dev stage
FROM base as app-dev
ENTRYPOINT ["docker-php-entrypoint"]
CMD ["sh", "-c", "php artisan octane:frankenphp --max-requests=250 --port=8000 --host=0.0.0.0 --watch"]
# Add --watch flag later
CMD ["sh", "-c", "php artisan octane:frankenphp --workers=6 --max-requests=250 --port=8000 --host=0.0.0.0 --caddyfile $CADDYFILE_PATH"]
# Application stage
FROM base as app
ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--", "docker-php-entrypoint"]
CMD ["sh", "-c", "php artisan octane:frankenphp --max-requests=250 --port=8000 --host=0.0.0.0"]
CMD ["sh", "-c", "php artisan octane:frankenphp --workers=6 --max-requests=250 --port=8000 --host=0.0.0.0 --https --http-redirect --caddyfile $CADDYFILE_PATH"]

View File

@@ -1,154 +0,0 @@
# syntax = docker/dockerfile:1.2
# Base stage
FROM dunglas/frankenphp:1.5.0-php8.2-bookworm AS base
# Install packages
RUN apt-get update && apt-get install -y git bind9-utils mycli nodejs npm nano mariadb-server redis-server \
&& mkdir -p /root/.ssh \
&& ssh-keyscan github.com >> /root/.ssh/known_hosts
# Install PHP Extensions
RUN install-php-extensions \
pdo_mysql \
gd \
bcmath \
redis \
intl \
zip \
gmp \
apcu \
opcache \
memcached \
imagick \
# geos \
sockets \
pcntl \
@composer
# Install build dependencies for GEOS
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
pkg-config \
libgeos-dev \
libgeos++-dev \
autoconf \
build-essential \
unzip \
&& rm -rf /var/lib/apt/lists/*
# Download, extract, compile, and enable the php-geos extension
RUN curl -fsSL -o php-geos.zip \
https://github.com/libgeos/php-geos/archive/dfe1ab17b0f155cc315bc13c75689371676e02e1.zip \
&& unzip php-geos.zip \
&& rm php-geos.zip \
&& cd php-geos-* \
&& ./autogen.sh \
&& ./configure \
&& make -j"$(nproc)" install \
&& docker-php-ext-enable geos \
&& cd .. \
&& rm -rf php-geos-*
# 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"
# Install global node modules
RUN npm install -g chokidar pnpm socketcluster ember-cli npm-cli-login
# Create application directory
RUN mkdir -p /fleetbase
# Setup Console
COPY --chown=www-data:www-data ./console /fleetbase/console
WORKDIR /fleetbase/console
RUN pnpm install && pnpm build
# Setup SocketCluster
RUN socketcluster create /fleetbase/socketcluster
# Install ssm-parent
COPY --from=ghcr.io/springload/ssm-parent:1.8 /usr/bin/ssm-parent /sbin/ssm-parent
# Create the pnpm directory and set the PNPM_HOME environment variable
RUN mkdir -p ~/.pnpm
ENV PNPM_HOME=/root/.pnpm
# Add the pnpm global bin to the PATH
ENV PATH=/root/.pnpm/bin:$PATH
# Set some build ENV variables
ENV LOG_CHANNEL=stdout
ENV CACHE_DRIVER=null
ENV BROADCAST_DRIVER=socketcluster
ENV QUEUE_CONNECTION=redis
ENV CADDYFILE_PATH=/fleetbase/Caddyfile
ENV CONSOLE_PATH=/fleetbase/console
ENV OCTANE_SERVER=frankenphp
ENV DB_CONNECTION=mysql
ENV DB_HOST=127.0.0.1
ENV DB_PORT=3306
ENV DB_DATABASE=fleetbase
ENV DB_USERNAME=root
ENV DB_PASSWORD=secret
ENV REDIS_HOST=127.0.0.1
ENV REDIS_PORT=6379
ENV REDIS_CLIENT=phpredis
# Set environment
ARG ENVIRONMENT=production
ENV APP_ENV=$ENVIRONMENT
# Setup github auth
ARG GITHUB_AUTH_KEY
# Copy Caddyfile
COPY --chown=www-data:www-data ./Caddyfile $CADDYFILE_PATH
# Create /fleetbase directory and set correct permissions
RUN mkdir -p /fleetbase/api && mkdir -p /fleetbase/console && chown -R www-data:www-data /fleetbase
# Set working directory
WORKDIR /fleetbase/api
# Prepare composer cache directory
RUN mkdir -p /var/www/.cache/composer && chown -R www-data:www-data /var/www/.cache/composer
# Optimize Composer Dependency Installation
COPY --chown=www-data:www-data ./api/composer.json ./api/composer.lock /fleetbase/api/
# Pre-install Composer dependencies
RUN su www-data -s /bin/sh -c "composer install --no-scripts --optimize-autoloader --no-dev --no-cache"
# Setup application
COPY --chown=www-data:www-data ./api /fleetbase/api
# Dump autoload
RUN su www-data -s /bin/sh -c "composer dumpautoload"
# Setup composer root directory
RUN mkdir -p /root/.composer
RUN mkdir -p /fleetbase/api/.composer && chown www-data:www-data /fleetbase/api/.composer
# Setup logging
RUN mkdir -p /fleetbase/api/storage/logs/ && touch /fleetbase/api/storage/logs/laravel-$(date +'%Y-%m-%d').log
RUN chown -R www-data:www-data /fleetbase/api/storage
RUN chmod -R 755 /fleetbase/api/storage
# Set permissions and run deploy script
RUN chmod +x /fleetbase/api/deploy.sh
# RUN sh ./fleetbase/api/deploy.sh
# Install go-crond
RUN curl -L https://github.com/webdevops/go-crond/releases/download/23.12.0/go-crond.linux.amd64 > /usr/local/bin/go-crond && chmod +x /usr/local/bin/go-crond
COPY docker/crontab ./crontab
RUN chmod 0600 ./crontab
# Expose ports
EXPOSE 8000 4200 3800 3306 6379
# Execute
COPY ./docker/fullstack-entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -1,47 +0,0 @@
#!/usr/bin/env bash
set -e
echo "🚀 Fleetbase Fullstack Container Starting..."
# Graceful shutdown handler
trap 'echo "🛑 Caught termination signal, shutting down..."; kill $(jobs -p); wait' SIGTERM SIGINT
echo "🔧 Starting MySQL service..."
service mysql start
echo "🗄️ Configuring MySQL database and user..."
mysql --user=root <<-EOSQL
CREATE DATABASE IF NOT EXISTS fleetbase;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'secret';
FLUSH PRIVILEGES;
EOSQL
echo "🧠 Waiting for MySQL to become ready..."
until mysqladmin ping --silent; do
echo "⏳ Waiting for MySQL..."
sleep 1
done
echo "✅ MySQL is ready."
echo "🔧 Starting Redis service..."
service redis-server start
echo "🧠 Waiting for Redis to become ready..."
until redis-cli ping | grep -q PONG; do
echo "⏳ Waiting for Redis..."
sleep 1
done
echo "✅ Redis is ready."
echo "📡 Launching SocketCluster on port 3800..."
node /fleetbase/socketcluster/index.js &
echo "🖥️ Serving Ember frontend on port 4200..."
npx serve -l 4200 /fleetbase/console/dist &
echo "📦 Running Fleetbase deploy script..."
sh /fleetbase/api/deploy.sh
echo "🧬 Starting Laravel API (FrankenPHP Octane) on port 8000..."
cd /fleetbase/api
exec php artisan octane:frankenphp --port=8000 --host=0.0.0.0