uvdesk / community-skeleton

UVdesk Opensource Community Helpdesk Project built for all to make a Full Ticketing Support System along with many more other features.
https://www.uvdesk.com
MIT License
7.18k stars 448 forks source link

Cannot connect to database #624

Closed tperrindell closed 8 months ago

tperrindell commented 1 year ago

Bug report

Title

After deploying a docker-compose with uvdesk installed in Dockerfile custom image, the installer fails to connect to database

Issue Description

I created a Dockerfile to deploy uvdesk using composer :

FROM php:7-apache
# Let's use something already well documented

# User variables
## Proxy if needed
ARG HTTP_PROXY=http://myproxy:80
ARG HTTPS_PROXY=http://myproxy:80
# Composer Mem limit for the build
ARG COMPOSER_MEMORY_LIMIT=-1
# Timezone
ENV TZ=Europe/Paris

# Let's make sure we don't get prompted when installing packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

# Adding manual proxy to apt as variables are not used
RUN echo 'Acquire { \
  HTTP::proxy "http://myproxy:80";\
  HTTPS::proxy "http://myproxy:80";\
}' > /etc/apt/apt.conf.d/99-proxy.conf

# Add uvdesk user
RUN adduser uvdesk -q --disabled-password --gecos ""

# Install packages
RUN apt-get update && apt-get -y install apt-utils git unzip

# Use easy php extensions installer
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

# Setup yet another proxy
RUN pear config-set http_proxy ${HTTP_PROXY}

# Install php extensions
RUN chmod +x /usr/local/bin/install-php-extensions && install-php-extensions zip curl imap mailparse mysqli

WORKDIR /var/www
# Download & Install composer
ADD https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer /tmp/composer-installer.php
RUN     cd /var/www && \
        php /tmp/composer-installer.php

#Install uvdesk through composer
RUN ./composer.phar create-project uvdesk/community-skeleton /var/www/uvdesk

# Add your env file
ADD env /var/www/uvdesk/.env

# Let's copy the apache2 config
RUN cp /var/www/uvdesk/.docker/config/apache2/vhost.conf /etc/apache2/sites-available/000-default.conf && \
        cp /var/www/uvdesk/.docker/config/apache2/httpd.conf /etc/apache2/apache2.conf &&\
        cp /var/www/uvdesk/.docker/config/apache2/env /etc/apache2/envvars

# Make uvdesk owner of the folder
RUN chown -R uvdesk:uvdesk /var/www/uvdesk

# Enable rewrite mod
RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Which I then deploy using the following docker-compose (some info retracted of course):

version: '3.3'

services:
  uvdesk-app:
    build: build
    tty: true
    restart: always
    container_name: uvdesk-app
    networks:
      - traefik
      - uvdesk
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.uvdesk.rule=Host(`uvdesk.mydomain.com`)"
      - "traefik.http.routers.uvdesk.entrypoints=web,websecure"
      - "traefik.http.routers.uvdesk.tls=true"
      - "traefik.http.services.uvdesk.loadbalancer.server.port=80"

  uvdesk-db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: uvdesk-db
    environment:
      - TZ=Europe/Paris
      - PUID=1109
      - PGID=1110
      - MYSQL_ROOT_PASSWORD=xxx
      - MYSQL_PASSWORD=yyy
      - MYSQL_USER=uvdeskuser
      - MYSQL_DATABASE=uvdesk
    restart: unless-stopped
    volumes:
      - /opt/docker/data/uvdesk/uvdesk-db-data:/config
    networks:
      - uvdesk
networks:
  uvdesk:
  traefik:
    external: true

Steps to reproduce

  1. Copy docker file & compose as above
  2. Launch the environment using docker-compose up -d
  3. Run the wizard

Expected result

Connection to DB should work fine and setup should go through

Actual result

Connection to DB fails with the error : Details are incorrect ! Connection not established. https://i.imgur.com/5dIZuld.png I tried using uvdeskuser & root, both result as failed.

When trying to connect manually from the container, it works:

# docker exec -it uvdesk-app mysql -h uvdesk-db -u uvdeskuser -p -e "show databases;"
Enter password: yyy
+--------------------+
| Database           |
+--------------------+
| information_schema |
| uvdesk             |
+--------------------+

I don't know how to enable debug log.

Please advise :)

komal-sh-27 commented 1 year ago

@tperrindell Once we will review it and update you.

tperrindell commented 1 year ago

If you're not using a proxy, then remove the RUN echo acquire part and the proxy lines, otherwise it might not work :)

Firesphere commented 1 year ago

I just encountered exactly the same problem. No matter what, exposing the db through the host, using a custom IP assignment, nothing will make the connection "work", even though all manual attempts to connect to the database, even over an SSH tunnel, work just fine.

tperrindell commented 1 year ago

@tperrindell Once we will review it and update you.

Hello !

Any update?

Thanks

tperrindell commented 1 year ago

Hi, any ideas on what the problem could be?

tperrindell commented 1 year ago

Hello,

a quick update would be nice !

akshaywebkul commented 1 year ago

Hello @tperrindell & @Firesphere,

So I looked into the provided docker compose configurations to review these issues accordingly. There are a few things to note:

Following along, I made a few changes to the Dockerfile & docker-compose.yaml but you should be able to follow it along and adapt it to your specific use case:

Dockerfile:

# ./build/Dockerfile
FROM php:7-apache

ARG COMPOSER_MEMORY_LIMIT=-1

# Let's make sure we don't get prompted when installing packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

# Add uvdesk user
RUN adduser uvdesk -q --disabled-password --gecos ""

# Install packages
RUN apt-get update && apt-get -y install wget git unzip zip curl nano;

# Install PHP extensions installer
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions

# Install PHP extensions
RUN install-php-extensions imap mailparse mysqli pdo_mysql

# Copy necessary apache & php configuration files
COPY ./.docker/config/apache2/env /etc/apache2/envvars
COPY ./.docker/config/apache2/httpd.conf /etc/apache2/apache2.conf
COPY ./.docker/config/apache2/vhost.conf /etc/apache2/sites-available/000-default.conf
COPY ./.docker/config/php/php.ini /usr/local/etc/php/php.ini

RUN \
    # Update apache configurations
    a2enmod php7.4 rewrite; \
    # Download and verify composer installer signature
    wget -O /usr/local/bin/composer.php "https://getcomposer.org/installer"; \
    actualSig="$(wget -q -O - https://composer.github.io/installer.sig)"; \
    currentSig="$(shasum -a 384 /usr/local/bin/composer.php | awk '{print $1}')"; \
    if [ "$currentSig" != "$actualSig" ]; then \
        echo "Warning: Failed to verify composer signature."; \
        exit 1; \
    fi; \
    # Install composer
    php /usr/local/bin/composer.php --install-dir=/usr/local/bin --filename=composer \
    && chmod +x /usr/local/bin/composer;

# Clean up files
RUN \
    rm -rf \
        /var/www/html \
        /usr/local/bin/composer.php;

RUN usermod -aG uvdesk root && usermod -aG uvdesk www-data;
RUN chown -R uvdesk:uvdesk /var/www;

WORKDIR /var/www

docker-compose.yaml:

# ./docker-compose.yaml
version: '3.3'

services:
    uvdesk-app:
        build: build
        tty: true
        restart: always
        container_name: uvdesk-app
        ports:
            - '8082:80'
        networks:
            - uvdesk
        depends_on:
            - uvdesk_db
        links:
            - uvdesk_db

    uvdesk_db:
        image: mariadb
        restart: always
        environment:
            MARIADB_ROOT_PASSWORD: rootpassword
        container_name: uvdesk_db
        networks:
            - uvdesk

networks:
    uvdesk:
        external: true

Instructions:

  1. Re-build your images and initialize your docker containers using the following command:

    $ docker-compose up -d

  2. Once your containers are up & running, use the following command to interact with the shell interface of your container:

    $ docker exec -it uvdesk-app bash

  3. Once you're withing your container's shell, use the following command to switch to the uvdesk user instead of root:

    $ su uvdesk

  4. Create the helpdesk project using the following command:

    $ composer create-project uvdesk/community-skeleton:1.1.x-dev uvdesk

  5. Use the following command to download Adminer.php to interact with your database:

    $ wget https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php -O ./uvdesk/public/adminer.php

Navigate to http://localhost:8082 in your browser, where you'll be present with the installation wizard, follow along with the instructions provided and your helpdesk should be installed without any issues.

If you want to know which database version you're using, navigate to http://localhost:8082/adminer.php and login to your database using the configured credentials and you'll be able to see your exact database version. You can specify this version detail during the installation process.

Hope this helps resolves your issues!

Reference screenshots:

Screenshot from 2022-12-20 17-20-09 Screenshot from 2022-12-20 17-20-57 Screenshot from 2022-12-20 17-24-18

tperrindell commented 1 year ago

Thanks, I'll try it out.

FYI the reason I didn't use pdo is because mysqli was present and can be used to connect to mariadb, as it is a mysql fork.

I moved the db container to a mysql one to try it out, I will post the results after testing.

tperrindell commented 1 year ago

OK So it moves a step further, but I still have an issue : image

All checks are green, I can go past the SQL connection step, and then: image

If I check in the container :

uvdesk@eb44412b75bf:~$ ls -l /var/www/uvdesk/.env
-rwxrwxr-x. 1 uvdesk uvdesk 521 Dec 20 13:54 /var/www/uvdesk/.env

I'll let it run, but I'm not sure if it's doing anything. The last entry in the logs looks like this:

uvdesk-app  | 172.19.0.5 - - [20/Dec/2022:15:13:24 +0100] "POST /wizard/xhr/load/configurations HTTP/1.1" 500 355 "https://uvdesk.xxx/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
tperrindell commented 1 year ago

Docker compose is modified to use mysql:

version: '3.3'

services:
  uvdesk-app:
    build: build
    tty: true
    restart: always
    container_name: uvdesk-app
    networks:
      - traefik
      - uvdesk
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      - "traefik.http.routers.uvdesk.rule=Host(`uvdesk.mydomain.com`)"
      - "traefik.http.routers.uvdesk.entrypoints=web,websecure"
      - "traefik.http.routers.uvdesk.tls=true"
      - "traefik.http.services.uvdesk.loadbalancer.server.port=80"

  uvdesk-db:
    image: mysql:latest
    container_name: uvdesk-db
    environment:
      - TZ=Europe/Paris
      - PUID=1109
      - PGID=1110
      - MYSQL_ROOT_PASSWORD=xxx
      - MYSQL_PASSWORD=yyy
      - MYSQL_USER=uvdeskuser
      - MYSQL_DATABASE=uvdesk
    restart: unless-stopped
    volumes:
      - /opt/docker/data/uvdesk/uvdesk-db-data:/var/lib/mysql/
    networks:
      - uvdesk
networks:
  uvdesk:
  traefik:
    external: true

New dockerfile:

FROM php:7-apache
# Let's use something already well documented

# User variables
## Proxy if needed
ARG HTTP_PROXY=http://myproxy:80
ARG HTTPS_PROXY=http://myproxy:80
# Composer Mem limit for the build
ARG COMPOSER_MEMORY_LIMIT=-1
# Timezone
ENV TZ=Europe/Paris

# Let's make sure we don't get prompted when installing packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

# Adding manual proxy to apt as variables are not used
RUN echo 'Acquire { \
  HTTP::proxy "http://myproxy:80";\
  HTTPS::proxy "http://myproxy:80";\
}' > /etc/apt/apt.conf.d/99-proxy.conf

# Add uvdesk user
RUN adduser uvdesk -q --disabled-password --gecos ""

# Install packages
RUN apt-get update && apt-get -y install apt-utils git unzip curl

# Use easy php extensions installer
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

# Setup yet another proxy
RUN pear config-set http_proxy ${HTTP_PROXY}

# Install php extensions
RUN chmod +x /usr/local/bin/install-php-extensions && install-php-extensions zip curl imap mailparse mysqli pdo_mysql

WORKDIR /var/www
# Download & Install composer
ADD https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer /tmp/composer-installer.php
RUN     cd /var/www && \
        php /tmp/composer-installer.php

#Install uvdesk through composer
RUN ./composer.phar create-project uvdesk/community-skeleton /var/www/uvdesk
ADD https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1-en.php /var/www/uvdesk/public/adminer.php

# Add your env file
ADD env /var/www/uvdesk/.env
RUN chmod 775 /var/www/uvdesk/.env

# Let's copy the apache2 config
RUN cp /var/www/uvdesk/.docker/config/apache2/vhost.conf /etc/apache2/sites-available/000-default.conf && \
        cp /var/www/uvdesk/.docker/config/apache2/httpd.conf /etc/apache2/apache2.conf &&\
        cp /var/www/uvdesk/.docker/config/apache2/env /etc/apache2/envvars

# Make uvdesk owner of the folder
RUN chown -R uvdesk:uvdesk /var/www/uvdesk

# Enable rewrite mod
RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Adminer shows that I can login with my uvdeskuser & password : image

akshaywebkul commented 1 year ago

Hello @tperrindell,

I'll review the updated dockerfile and docker-compose.yml once I get some time. In the meantime, the issue you're encountering in your screenshot is due to permission related issues where the wizard is not able to make changes to the .env file located within the project. This is because although you've assigned the ownership of the project directory to the user/group uvdesk:uvdesk, the project was still created using root user with elevated privileges.

This in itself should not be that big of an issue to resolve, but we need to manage user permissions accordingly. If you notice in my Dockerfile, i had the following command which would add user uvdesk to both groups root & www-data:

RUN usermod -aG uvdesk root && usermod -aG uvdesk www-data;

I would suggest you to execute this command, restart your apache service and then retry going through the installation wizard again and notice if you still encounter this issue. Alternatively, before installing the project you could also step down from user root to uvdesk instead and the proceed with the installation in your Dockerfile.

akshaywebkul commented 1 year ago

I've also included a screenshot reference of what your directory structure and file permissions should look like. If you notice at the .env file, it has the following rules: -rw-r--r--

Screenshot from 2022-12-20 20-01-55

tperrindell commented 1 year ago

Thanks for the update.

I will try that modification, I have 2 remarks though:

1/ the file is owned by uvdesk:uvdesk, so I don't see why it couldn't be written or modified 2/ why does the pre-check says it's happily writable if it's not?

tperrindell commented 1 year ago

BTW the command

RUN usermod -aG uvdesk root && usermod -aG uvdesk www-data;

adds root and www-data to group uvdesk, not the other way around.

I think you are thinking about:

RUN usermod -aG root uvdesk && usermod -aG www-data uvdesk;
akshaywebkul commented 1 year ago

I'll have to debug the installation wizard as to why the check fails to determine whether the file is readable or not. In response to your other query, the directory might be owned by a particular user/group (uvdesk:uvdesk), but that does not mean that apache itself has write access to these resources. In your case, the directory is owned by uvdesk:uvdesk, but apache runs your php script through the user www-data:www-data, which is why it's important that these users share a common group.

tperrindell commented 1 year ago

Hmmmm apologies, but unless I missed something, it's not the case.

As we're copying envvars from the project to the apache2 folder, the user running apache IS uvdesk :

root@8632da17b1a4:/var/www/uvdesk# grep uvdesk /etc/apache2/envvars
export APACHE_RUN_USER=uvdesk
export APACHE_RUN_GROUP=uvdesk
root@8632da17b1a4:/var/www/uvdesk# ps -auxww | grep apache
root           1  0.0  0.0  79012 26224 pts/0    Ss+  16:02   0:00 apache2 -DFOREGROUND
uvdesk        18  0.5  0.1 106868 44832 pts/0    S+   16:02   0:01 apache2 -DFOREGROUND
uvdesk        19  0.0  0.0  87636 23412 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        20  0.0  0.0  87636 23404 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        21  0.0  0.0  87636 23412 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        22  0.0  0.0  87636 23412 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        26  0.0  0.0  87668 24204 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        27  0.2  0.1  96004 33672 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        28  0.0  0.0  79052  7376 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        29  0.0  0.0  79052  7376 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND
uvdesk        30  0.0  0.0  79052  7376 pts/0    S+   16:02   0:00 apache2 -DFOREGROUND

So I don't see a reason for that file to not be readable.

I probably think the error comes from elsewhere, and the wizard shows that error as a default, but the problem comes from the 500 ERROR that I have in the log:

uvdesk-app  | 172.19.0.5 - - [20/Dec/2022:16:03:11 +0100] "POST /wizard/xhr/load/configurations HTTP/1.1" 500 355 "https://uvdesk.mtp.supportlabs.dell/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"

Any file that I can look at that could give me the right direction maybe?

akshaywebkul commented 1 year ago

I see, I'll review further based on your feedback accordingly and get back to you as all of this is just from the top of my head. Judging from my past experience with this kind of issues, it's most likely definitely due to file permission related errors. But I'll be on the look out for any additional bugs during this process.

You could use the chrome network inspect tool to check for any errors reported in the api requests. Alternatively try setting up your helpdesk from the terminal itself using the following command:

$ php bin/console uvdesk:configure-helpdesk;

But since this is being run from the terminal, I don't think you'll encounter any file permission issues in this case.

tperrindell commented 1 year ago

I'm getting a

  Examining helpdesk setup for any configuration issues:

In ConfigureHelpdesk.php line 418:

  Notice: Undefined index: DATABASE_URL

uvdesk:configure-helpdesk
tperrindell commented 1 year ago

Happy new year !

Should I open a new issue for this one?

Thanks,

tperrindell commented 1 year ago

Hello,

any update?

tperrindell commented 1 year ago

@akshaywebkul Hello, Is there an update on this?

Tivin-i commented 1 year ago

I have built the docker images here: https://hub.docker.com/r/tivini/uvdesk/tags

Try the following docker build, I switched it to download the latest stable zip and unpack it instead of the previous method which had missing files in folders.

define your env file as follows (build references "env", not ".env"), make sure to define DATABASE_URL and set APP_ENV to "prod" in your docker compose after initializing the DB.

env file:

# In all environments, the following files are loaded if they exist,
# the later taking precedence over the former:
#
#  * .env                contains default values for the environment variables needed by the app
#  * .env.local          uncommitted file with local overrides
#  * .env.$APP_ENV       committed environment-specific defaults
#  * .env.$APP_ENV.local uncommitted environment-specific overrides
#
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration

###> symfony/framework-bundle ###
#APP_ENV=dev
APP_SECRET=

#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
#TRUSTED_HOSTS='^localhost|example\.com$'
###< symfony/framework-bundle ###

APP_NAME=UVDesk
APP_ENV=dev
APP_VERSION=1.1.1
APP_KEY=
APP_DEBUG=true
APP_URL=http://127.0.0.1
APP_TIMEZONE='Asia/Singapore'
LOG_CHANNEL=stack
APP_CURRENCY=SGD

DB_CONNECTION=mysql
DB_HOST=
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_PREFIX=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=20
QUEUE_DRIVER=sync

DATABASE_URL=mysql://user:pass@dbhost:3306/dbname

Here is the docker build file:

# ./build/Dockerfile
FROM php:8.1-apache
# An Updated image with all dependancies we need

# Let's make sure we don't get prompted when installing packages
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

# Add uvdesk user
RUN adduser uvdesk -q --disabled-password --gecos ""

# Install packages
RUN apt-get update && apt-get -y install wget git unzip zip curl nano;

# Install PHP extensions installer
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions

# Install PHP extensions
RUN install-php-extensions imap mailparse mysqli pdo_mysql

# Download the latest stable build
RUN wget "https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zip" -P /var/www/ 

# Unzip contents
RUN unzip -q /var/www/uvdesk-community-current-stable.zip -d /var/www/

# Move to working directory
RUN mv /var/www/uvdesk-community-v1.1.1/ /var/www/uvdesk

# Copy configuration files for Apache
COPY ./.docker/config/apache2/env /etc/apache2/envvars
COPY ./.docker/config/apache2/httpd.conf /etc/apache2/apache2.conf
COPY ./.docker/config/apache2/vhost.conf /etc/apache2/sites-available/000-default.conf

# Run composer to build dependancies
RUN \
    # Update apache configurations
    a2enmod rewrite; \
    # Download and verify composer installer signature
    wget -O /usr/local/bin/composer.php "https://getcomposer.org/installer"; \
    actualSig="$(wget -q -O - https://composer.github.io/installer.sig)"; \
    currentSig="$(shasum -a 384 /usr/local/bin/composer.php | awk '{print $1}')"; \
    if [ "$currentSig" != "$actualSig" ]; then \
        echo "Warning: Failed to verify composer signature."; \
        exit 1; \
    fi; \
    # Install composer
    php /usr/local/bin/composer.php --install-dir=/usr/local/bin --filename=composer \ && chmod +x /usr/local/bin/composer;

#Add environment file

ADD env /var/www/uvdesk/.env
RUN chmod 775 /var/www/uvdesk/.env

# Start Apache Service
RUN service apache2 restart

# Clean up files
RUN rm -rf \
    /var/www/html \
    /usr/local/bin/composer.php \
    /var/www/uvdesk-community-current-stable.zip;

RUN usermod -aG uvdesk root && usermod -aG uvdesk www-data;
RUN chown -R uvdesk:uvdesk /var/www;

WORKDIR /var/www
komal-sh-27 commented 8 months ago

@Tivin-i ,

We are suggesting to you once you try with the our official uvdesk docker image: https://hub.docker.com/r/webkul/uvdesk

At this moment we are closing this issue. If you have further any query then you can reply on the same thread.

Thanks and Regards, Uvdesk Team

tperrindell commented 8 months ago

I have built the docker images here: https://hub.docker.com/r/tivini/uvdesk/tags

Hey,

Thanks for taking the time to do this. I'm trying a similar approach by not putting the uvdesk folder inside the build, but rather build a php8 apache image that contains everything, but that way I don't require composer or anything.

I will keep you posted to see how that works.

@Komal-sharma-2712 this issue is not really closed, considering I don't want to use official uvdesk image which includes everything in a single image, which is not really docker's philosophy of doing things.