Reduce docker api image size, fix issues
This commit is contained in:
parent
79d3dd7888
commit
2503595786
|
|
@ -40,13 +40,11 @@ class ProfileController extends Controller
|
||||||
'password.not_in' => "Please another password other than 'password'."
|
'password.not_in' => "Please another password other than 'password'."
|
||||||
]);
|
]);
|
||||||
|
|
||||||
ray('in', $request->password);
|
|
||||||
$user = $request->user();
|
$user = $request->user();
|
||||||
$user->update([
|
$user->update([
|
||||||
'email' => $request->email,
|
'email' => $request->email,
|
||||||
'password' => bcrypt($request->password),
|
'password' => bcrypt($request->password),
|
||||||
]);
|
]);
|
||||||
ray($user);
|
|
||||||
|
|
||||||
Cache::forget('initial_user_setup_complete');
|
Cache::forget('initial_user_setup_complete');
|
||||||
Cache::forget('max_user_id');
|
Cache::forget('max_user_id');
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,8 @@
|
||||||
"stevebauman/purify": "*",
|
"stevebauman/purify": "*",
|
||||||
"tymon/jwt-auth": "*",
|
"tymon/jwt-auth": "*",
|
||||||
"vinkla/hashids": "*",
|
"vinkla/hashids": "*",
|
||||||
"fakerphp/faker": "^1.23"
|
"fakerphp/faker": "^1.23",
|
||||||
|
"spatie/laravel-ray": "*"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"barryvdh/laravel-ide-helper": "^3.0.0",
|
"barryvdh/laravel-ide-helper": "^3.0.0",
|
||||||
|
|
@ -50,8 +51,7 @@
|
||||||
"nunomaduro/collision": "*",
|
"nunomaduro/collision": "*",
|
||||||
"pestphp/pest": "^2.0",
|
"pestphp/pest": "^2.0",
|
||||||
"pestphp/pest-plugin-laravel": "^2.4",
|
"pestphp/pest-plugin-laravel": "^2.4",
|
||||||
"spatie/laravel-ignition": "*",
|
"spatie/laravel-ignition": "*"
|
||||||
"spatie/laravel-ray": "*"
|
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -236,9 +236,6 @@ test('make up a submission when polling without any submission', function () {
|
||||||
// Decode the response data
|
// Decode the response data
|
||||||
$responseData = $response->json()[0];
|
$responseData = $response->json()[0];
|
||||||
|
|
||||||
ray($responseData);
|
|
||||||
|
|
||||||
ray($responseData);
|
|
||||||
$this->assertNotEmpty($responseData['data']);
|
$this->assertNotEmpty($responseData['data']);
|
||||||
$this->assertTrue(count($responseData['data']) == 2);
|
$this->assertTrue(count($responseData['data']) == 2);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,27 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="flex flex-grow mt-6 mb-10">
|
<div class="flex flex-grow mt-6 mb-10">
|
||||||
<div class="w-full md:w-2/3 md:mx-auto md:max-w-md px-4">
|
<div class="w-full md:w-2/3 md:mx-auto md:max-w-md px-4">
|
||||||
<div class="m-10" v-if="loading">
|
<div
|
||||||
|
v-if="loading"
|
||||||
|
class="m-10"
|
||||||
|
>
|
||||||
<h3 class="my-6 text-center">
|
<h3 class="my-6 text-center">
|
||||||
Please wait...
|
Please wait...
|
||||||
</h3>
|
</h3>
|
||||||
<Loader class="h-6 w-6 mx-auto m-10" />
|
<Loader class="h-6 w-6 mx-auto m-10" />
|
||||||
</div>
|
</div>
|
||||||
<div class="m-6 flex flex-col items-center space-y-4" v-else>
|
<div
|
||||||
<p class="text-center"> Unable to sign it at the moment. </p>
|
v-else
|
||||||
|
class="m-6 flex flex-col items-center space-y-4"
|
||||||
|
>
|
||||||
|
<p class="text-center">
|
||||||
|
Unable to sign it at the moment.
|
||||||
|
</p>
|
||||||
<v-button
|
<v-button
|
||||||
:to="{ name: 'login' }"
|
:to="{ name: 'login' }"
|
||||||
>Back to login</v-button>
|
>
|
||||||
|
Back to login
|
||||||
|
</v-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -26,12 +36,10 @@ const authStore = useAuthStore()
|
||||||
const workspacesStore = useWorkspacesStore()
|
const workspacesStore = useWorkspacesStore()
|
||||||
const formsStore = useFormsStore()
|
const formsStore = useFormsStore()
|
||||||
const logEvent = useAmplitude().logEvent
|
const logEvent = useAmplitude().logEvent
|
||||||
const loading = ref(true);
|
const loading = ref(true)
|
||||||
|
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
alias: [
|
alias: '/oauth/:provider/callback'
|
||||||
'/oauth/:provider/callback'
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function handleCallback() {
|
function handleCallback() {
|
||||||
|
|
@ -82,7 +90,7 @@ function handleCallback() {
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
useAlert().error(error.response._data.message)
|
useAlert().error(error.response._data.message)
|
||||||
loading.value = false;
|
loading.value = false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,7 @@ useOpnSeoMeta({
|
||||||
|
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
middleware: "auth",
|
middleware: "auth",
|
||||||
alias: [
|
alias: '/settings/connections/callback/:service'
|
||||||
'/settings/connections/callback/:service'
|
|
||||||
]
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ export const useFeatureFlagsStore = defineStore('feature_flags', () => {
|
||||||
|
|
||||||
async function fetchFlags() {
|
async function fetchFlags() {
|
||||||
try {
|
try {
|
||||||
const { data } = await useOpnApi('/content/feature-flags')
|
const { data } = await useOpnApi('content/feature-flags')
|
||||||
flags.value = data.value
|
flags.value = data.value
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to fetch feature flags:', error)
|
console.error('Failed to fetch feature flags:', error)
|
||||||
|
|
|
||||||
|
|
@ -2,50 +2,46 @@ FROM php:8.3-fpm
|
||||||
|
|
||||||
# syntax=docker/dockerfile:1.3-labs
|
# syntax=docker/dockerfile:1.3-labs
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y libzip-dev libpng-dev postgresql-client libpq-dev && apt-get clean
|
RUN apt-get update && apt-get install -y \
|
||||||
|
libzip-dev \
|
||||||
|
libpng-dev \
|
||||||
|
postgresql-client \
|
||||||
|
libpq-dev \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
|
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
|
||||||
ENV COMPOSER_ALLOW_SUPERUSER=1
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
||||||
RUN docker-php-ext-install pdo pgsql pdo_pgsql gd bcmath zip && pecl install redis && docker-php-ext-enable redis
|
RUN docker-php-ext-install pdo pgsql pdo_pgsql gd bcmath zip \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis
|
||||||
|
|
||||||
WORKDIR /usr/share/nginx/html/
|
WORKDIR /usr/share/nginx/html/
|
||||||
ADD api/composer.json api/composer.lock api/artisan ./
|
|
||||||
|
|
||||||
# NOTE: The project would build more reliably if all php files were added before running
|
# Combine multiple ADD commands into one
|
||||||
# composer install. This would though introduce a dependency which would cause every
|
COPY api/composer.json api/composer.lock api/artisan ./
|
||||||
# dependency to be re-installed each time any php file is edited. It may be necessary in
|
COPY api/app ./app
|
||||||
# future to remove this 'optimisation' by moving the `RUN composer install` line after all
|
COPY api/bootstrap ./bootstrap
|
||||||
# the following ADD commands.
|
COPY api/config ./config
|
||||||
|
COPY api/database ./database
|
||||||
|
COPY api/public ./public
|
||||||
|
COPY api/routes ./routes
|
||||||
|
COPY api/tests ./tests
|
||||||
|
COPY api/resources ./resources
|
||||||
|
COPY api/storage ./storage
|
||||||
|
|
||||||
# Running artisan requires the full php app to be installed so we need to remove the
|
RUN sed 's_@php artisan package:discover_/bin/true_;' -i composer.json \
|
||||||
# post-autoload command from the composer file if we want to run composer without
|
&& composer install --ignore-platform-req=php --no-dev --optimize-autoloader \
|
||||||
# adding a dependency to all the php files.
|
&& composer clear-cache \
|
||||||
RUN sed 's_@php artisan package:discover_/bin/true_;' -i composer.json
|
&& php artisan package:discover --ansi \
|
||||||
ADD api/app/helpers.php app/helpers.php
|
&& chmod -R 775 storage \
|
||||||
RUN composer install --ignore-platform-req=php
|
&& chown -R www-data:www-data storage \
|
||||||
|
&& mkdir -p storage/framework/sessions storage/framework/views storage/framework/cache \
|
||||||
ADD api/app ./app
|
|
||||||
ADD api/bootstrap ./bootstrap
|
|
||||||
ADD api/config ./config
|
|
||||||
ADD api/database ./database
|
|
||||||
ADD api/public public
|
|
||||||
ADD api/routes routes
|
|
||||||
ADD api/tests tests
|
|
||||||
ADD api/resources resources
|
|
||||||
ADD api/storage ./storage
|
|
||||||
RUN chmod -R 775 storage && chown -R www-data:www-data storage
|
|
||||||
|
|
||||||
# Manually run the command we deleted from composer.json earlier
|
|
||||||
RUN php artisan package:discover --ansi
|
|
||||||
|
|
||||||
COPY docker/php-fpm-entrypoint /usr/local/bin/opnform-entrypoint
|
|
||||||
|
|
||||||
RUN chmod a+x /usr/local/bin/*
|
|
||||||
|
|
||||||
# Create necessary directories and set permissions
|
|
||||||
RUN mkdir -p storage/framework/sessions storage/framework/views storage/framework/cache \
|
|
||||||
&& chown -R www-data:www-data storage \
|
&& chown -R www-data:www-data storage \
|
||||||
&& chmod -R 775 storage
|
&& chmod -R 775 storage
|
||||||
|
|
||||||
|
COPY docker/php-fpm-entrypoint /usr/local/bin/opnform-entrypoint
|
||||||
|
RUN chmod a+x /usr/local/bin/*
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/opnform-entrypoint"]
|
ENTRYPOINT ["/usr/local/bin/opnform-entrypoint"]
|
||||||
CMD php-fpm
|
CMD ["php-fpm"]
|
||||||
Loading…
Reference in New Issue