简介
和 zammad 齐名的工单处理软件,官网地址 https://github.com/uvdesk/community-skeleton
配置步骤
下载必要的组件
这里自定义的容器镜像中会涉及较多的组件,对于网络环境不够稳定的场所建议先下载下来直接引用
1、下载对应的代码内容
在 github 的项目说明文档中有对应的版本下载地址 https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zip
2、下载相关的文件
这里的文件主要是 Dockerfile 中需要下载的内容
3、这些文件放到 deps 目录中
其中 sources.list 是镜像源文件系统的国内更新源
Dockerfile-官网
官网的 Dockerfile 存在 PHP 版本兼容性问题,建议考虑下面的 Dockerfile 版本
FROM ubuntu:22.04 LABEL maintainer="waringid@gmail.com" ENV GOSU_VERSION 1.11 #RUN adduser uvdesk -q --disabled-password --gecos "" RUN apt-get update && apt-get -y install ca-certificates RUN mv /etc/apt/sources.list /etc/apt/sources.list.orig COPY ./deps/sources.list /etc/apt/sources.list COPY ./deps/* /tmp/ # Install base supplimentary packages RUN apt-get update && apt-get -y upgrade \ && apt-get update && apt-get install -y software-properties-common && add-apt-repository -y ppa:ondrej/php \ && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install \ adduser curl \ wget libdigest-sha-perl \ git \ unzip \ apache2 \ mysql-server \ php7.4 \ libapache2-mod-php7.4 \ php7.4-common \ php7.4-xml \ php7.4-imap \ php7.4-mysql \ php7.4-mailparse \ ca-certificates; \ if ! command -v gpg; then \ apt-get install -y --no-install-recommends gnupg2 dirmngr; \ elif gpg --version | grep -q '^gpg (GnuPG) 1\.'; then \ apt-get install -y --no-install-recommends gnupg-curl; \ fi; RUN adduser uvdesk -q --disabled-password --gecos "" 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/bash/uvdesk-entrypoint.sh /usr/local/bin/ COPY . /var/www/uvdesk/ RUN \ a2enmod php7.4 rewrite; \ chmod a+x /usr/local/bin/uvdesk-entrypoint.sh; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ mv /tmp/gosu-amd64 /usr/local/bin/gosu && mv /tmp/gosu-amd64.asc /usr/local/bin/gosu.asc; \ export GNUPGHOME="$(mktemp -d)" \ && gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ && gpgconf --kill all \ && chmod +x /usr/local/bin/gosu \ && gosu nobody true; \ \ mv /tmp/installer /usr/local/bin/composer.php; \ actualSig="$(cat /tmp/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; \ php /usr/local/bin/composer.php --quiet --filename=/usr/local/bin/composer \ && chmod +x /usr/local/bin/composer; \ chown -R uvdesk:uvdesk /var/www; \ rm -rf \ # "$GNUPGHOME" \ /var/lib/apt/lists/* \ /usr/local/bin/gosu.asc \ /usr/local/bin/composer.php \ /var/www/bin \ /var/www/html \ /tmp/* \ /var/www/uvdesk/.docker; # Change working directory to uvdesk source WORKDIR /var/www ENTRYPOINT ["uvdesk-entrypoint.sh"] CMD ["/bin/bash"]
Dockerfile-更新版本
FROM thecodingmachine/php:8.3-v4-apache ENV PHP_EXTENSION_MAILPARSE=1 \ PHP_EXTENSION_IMAP=1 \ APACHE_DOCUMENT_ROOT=/var/www/html/public \ PHP_INI_MEMORY_LIMIT=1g RUN composer create-project uvdesk/community-skeleton /var/www/html RUN a2enmod rewrite \ && cd /var/www/html/ \ && chmod 777 .env var config \ && php bin/console c:c
uvdesk.yml
services: uvdesk: image: dietermartens/uvdesk environment: # installation in dev, change it after installation to prod - APP_ENV=prod - APP_SECRET= - TZ=Asia/Shanghai - APP_TIMEZONE=Asia/Shanghai - APP_CURRENCY=CHN - CRON_USER1=root # - CRON_SCHEDULE1=*/5 * * * * # - CRON_COMMAND1=cd /var/www/html && php bin/console uvdesk:refresh-mailbox info@domain.tld support@domain.tld restart: always extra_hosts: - "{uvdesk.domain.tld}:127.0.0.1" ports: - 8080:80 networks: - public volumes: - /data/uvdesk/data:/var/www/html links: - db db: image: mariadb:10.11.6 restart: always environment: MYSQL_ROOT_PASSWORD: rootPassword networks: - public volumes: - /data/uvdesk/db:/var/lib/mysql networks: public: name: proxy external: false
0 评论