refactor(ServicesGenerate): update command signature from 'services:generate' to 'generate:services' for consistency; update Dockerfile to run service generation during build; update Odoo image version to 18 and add extra addons volume in compose configuration
This commit is contained in:
@@ -11,7 +11,7 @@ class ServicesGenerate extends Command
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
protected $signature = 'services:generate';
|
protected $signature = 'generate:services';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
|
@@ -22,7 +22,7 @@ USER root
|
|||||||
ARG USER_ID
|
ARG USER_ID
|
||||||
ARG GROUP_ID
|
ARG GROUP_ID
|
||||||
|
|
||||||
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID &&
|
||||||
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
WORKDIR /var/www/html
|
WORKDIR /var/www/html
|
||||||
@@ -30,6 +30,7 @@ COPY --chown=www-data:www-data composer.json composer.lock ./
|
|||||||
RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist
|
RUN composer install --no-dev --no-interaction --no-plugins --no-scripts --prefer-dist
|
||||||
|
|
||||||
USER www-data
|
USER www-data
|
||||||
|
RUN php artisan generate:services
|
||||||
|
|
||||||
# =================================================================
|
# =================================================================
|
||||||
# Stage 2: Frontend assets compilation
|
# Stage 2: Frontend assets compilation
|
||||||
@@ -63,13 +64,13 @@ WORKDIR /var/www/html
|
|||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID && \
|
RUN docker-php-serversideup-set-id www-data $USER_ID:$GROUP_ID &&
|
||||||
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
docker-php-serversideup-set-file-permissions --owner $USER_ID:$GROUP_ID --service nginx
|
||||||
|
|
||||||
# Install PostgreSQL repository and keys
|
# Install PostgreSQL repository and keys
|
||||||
RUN apk add --no-cache gnupg && \
|
RUN apk add --no-cache gnupg &&
|
||||||
mkdir -p /usr/share/keyrings && \
|
mkdir -p /usr/share/keyrings &&
|
||||||
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg
|
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor >/usr/share/keyrings/postgresql.gpg
|
||||||
|
|
||||||
# Install system dependencies
|
# Install system dependencies
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
@@ -82,17 +83,17 @@ RUN apk add --no-cache \
|
|||||||
vim
|
vim
|
||||||
|
|
||||||
# Configure shell aliases
|
# Configure shell aliases
|
||||||
RUN echo "alias ll='ls -al'" >> /etc/profile && \
|
RUN echo "alias ll='ls -al'" >>/etc/profile &&
|
||||||
echo "alias a='php artisan'" >> /etc/profile && \
|
echo "alias a='php artisan'" >>/etc/profile &&
|
||||||
echo "alias logs='tail -f storage/logs/laravel.log'" >> /etc/profile
|
echo "alias logs='tail -f storage/logs/laravel.log'" >>/etc/profile
|
||||||
|
|
||||||
# Install Cloudflared based on architecture
|
# Install Cloudflared based on architecture
|
||||||
RUN mkdir -p /usr/local/bin && \
|
RUN mkdir -p /usr/local/bin &&
|
||||||
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \
|
if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then
|
||||||
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared
|
||||||
elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \
|
elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then
|
||||||
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared; \
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared
|
||||||
fi && \
|
fi &&
|
||||||
chmod +x /usr/local/bin/cloudflared
|
chmod +x /usr/local/bin/cloudflared
|
||||||
|
|
||||||
# Configure PHP
|
# Configure PHP
|
||||||
@@ -128,8 +129,8 @@ COPY docker/production/etc/nginx/conf.d/custom.conf /etc/nginx/conf.d/custom.con
|
|||||||
COPY docker/production/etc/nginx/site-opts.d/http.conf /etc/nginx/site-opts.d/http.conf
|
COPY docker/production/etc/nginx/site-opts.d/http.conf /etc/nginx/site-opts.d/http.conf
|
||||||
COPY --chmod=755 docker/production/etc/s6-overlay/ /etc/s6-overlay/
|
COPY --chmod=755 docker/production/etc/s6-overlay/ /etc/s6-overlay/
|
||||||
|
|
||||||
RUN mkdir -p /etc/nginx/conf.d && \
|
RUN mkdir -p /etc/nginx/conf.d &&
|
||||||
chown -R www-data:www-data /etc/nginx && \
|
chown -R www-data:www-data /etc/nginx &&
|
||||||
chmod -R 755 /etc/nginx
|
chmod -R 755 /etc/nginx
|
||||||
|
|
||||||
# Install MinIO client
|
# Install MinIO client
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
odoo:
|
odoo:
|
||||||
image: odoo:17
|
image: odoo:18
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_FQDN_ODOO_8069
|
- SERVICE_FQDN_ODOO_8069
|
||||||
- HOST=postgresql
|
- HOST=postgresql
|
||||||
@@ -14,6 +14,7 @@ services:
|
|||||||
- PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||||
volumes:
|
volumes:
|
||||||
- odoo-web-data:/var/lib/odoo
|
- odoo-web-data:/var/lib/odoo
|
||||||
|
- odoo-extra-addons:/mnt/extra-addons
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8069"]
|
test: ["CMD", "curl", "-f", "http://127.0.0.1:8069"]
|
||||||
interval: 2s
|
interval: 2s
|
||||||
|
@@ -2274,7 +2274,7 @@
|
|||||||
"odoo": {
|
"odoo": {
|
||||||
"documentation": "https://www.odoo.com/?utm_source=coolify.io",
|
"documentation": "https://www.odoo.com/?utm_source=coolify.io",
|
||||||
"slogan": "Odoo is a suite of open-source business apps that cover all your company needs.",
|
"slogan": "Odoo is a suite of open-source business apps that cover all your company needs.",
|
||||||
"compose": "c2VydmljZXM6CiAgb2RvbzoKICAgIGltYWdlOiAnb2RvbzoxNycKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9PRE9PXzgwNjkKICAgICAgLSBIT1NUPXBvc3RncmVzcWwKICAgICAgLSBVU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBQQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgdm9sdW1lczoKICAgICAgLSAnb2Rvby13ZWItZGF0YTovdmFyL2xpYi9vZG9vJwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQKICAgICAgICAtIGN1cmwKICAgICAgICAtICctZicKICAgICAgICAtICdodHRwOi8vMTI3LjAuMC4xOjgwNjknCiAgICAgIGludGVydmFsOiAycwogICAgICB0aW1lb3V0OiAxMHMKICAgICAgcmV0cmllczogMzAKICBwb3N0Z3Jlc3FsOgogICAgaW1hZ2U6ICdwb3N0Z3JlczoxNi1hbHBpbmUnCiAgICB2b2x1bWVzOgogICAgICAtICdwb3N0Z3Jlc3FsLWRhdGE6L3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhJwogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gUE9TVEdSRVNfVVNFUj0kU0VSVklDRV9VU0VSX1BPU1RHUkVTCiAgICAgIC0gUE9TVEdSRVNfUEFTU1dPUkQ9JFNFUlZJQ0VfUEFTU1dPUkRfUE9TVEdSRVMKICAgICAgLSBQT1NUR1JFU19EQj1wb3N0Z3JlcwogICAgaGVhbHRoY2hlY2s6CiAgICAgIHRlc3Q6CiAgICAgICAgLSBDTUQtU0hFTEwKICAgICAgICAtICdwZ19pc3JlYWR5IC1VICQke1BPU1RHUkVTX1VTRVJ9IC1kIHBvc3RncmVzJwogICAgICBpbnRlcnZhbDogNXMKICAgICAgdGltZW91dDogMjBzCiAgICAgIHJldHJpZXM6IDEwCg==",
|
"compose": "c2VydmljZXM6CiAgb2RvbzoKICAgIGltYWdlOiAnb2RvbzoxOCcKICAgIGVudmlyb25tZW50OgogICAgICAtIFNFUlZJQ0VfRlFETl9PRE9PXzgwNjkKICAgICAgLSBIT1NUPXBvc3RncmVzcWwKICAgICAgLSBVU0VSPSRTRVJWSUNFX1VTRVJfUE9TVEdSRVMKICAgICAgLSBQQVNTV09SRD0kU0VSVklDRV9QQVNTV09SRF9QT1NUR1JFUwogICAgdm9sdW1lczoKICAgICAgLSAnb2Rvby13ZWItZGF0YTovdmFyL2xpYi9vZG9vJwogICAgICAtICdvZG9vLWV4dHJhLWFkZG9uczovbW50L2V4dHJhLWFkZG9ucycKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ECiAgICAgICAgLSBjdXJsCiAgICAgICAgLSAnLWYnCiAgICAgICAgLSAnaHR0cDovLzEyNy4wLjAuMTo4MDY5JwogICAgICBpbnRlcnZhbDogMnMKICAgICAgdGltZW91dDogMTBzCiAgICAgIHJldHJpZXM6IDMwCiAgcG9zdGdyZXNxbDoKICAgIGltYWdlOiAncG9zdGdyZXM6MTYtYWxwaW5lJwogICAgdm9sdW1lczoKICAgICAgLSAncG9zdGdyZXNxbC1kYXRhOi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YScKICAgIGVudmlyb25tZW50OgogICAgICAtIFBPU1RHUkVTX1VTRVI9JFNFUlZJQ0VfVVNFUl9QT1NUR1JFUwogICAgICAtIFBPU1RHUkVTX1BBU1NXT1JEPSRTRVJWSUNFX1BBU1NXT1JEX1BPU1RHUkVTCiAgICAgIC0gUE9TVEdSRVNfREI9cG9zdGdyZXMKICAgIGhlYWx0aGNoZWNrOgogICAgICB0ZXN0OgogICAgICAgIC0gQ01ELVNIRUxMCiAgICAgICAgLSAncGdfaXNyZWFkeSAtVSAkJHtQT1NUR1JFU19VU0VSfSAtZCBwb3N0Z3JlcycKICAgICAgaW50ZXJ2YWw6IDVzCiAgICAgIHRpbWVvdXQ6IDIwcwogICAgICByZXRyaWVzOiAxMAo=",
|
||||||
"tags": [
|
"tags": [
|
||||||
"business",
|
"business",
|
||||||
"apps",
|
"apps",
|
||||||
|
Reference in New Issue
Block a user