Files
sugar-crm/Dockerfile
root 1c4a366409
Some checks failed
Docker Build & Push SugarCRM 6.5 CE / build-and-push (push) Has been cancelled
feat: SugarCRM 6.5.26 CE - Docker + compose + CI/CD
- PHP 5.6 Apache Dockerfile (Debian Jessie, archive repos)
- Source from bklein01/sugarcrm GitHub mirror
- MySQL 5.7 database with healthcheck
- Silent install via init.sh (AdminWizard disabled)
- REST v4.1 API test script (test_api.py)
- Gitea Actions CI/CD for registry push
- Full README with API docs and pitfall notes
2026-05-24 14:33:08 +02:00

53 lines
1.8 KiB
Docker

FROM php:5.6-apache-jessie
ENV MAJOR_VERSION=6.5
ENV MINOR_VERSION=26
ENV WWW_FOLDER=/var/www/html
ENV DEBIAN_FRONTEND=noninteractive
ENV SUGARCRM_REPO=https://github.com/bklein01/sugarcrm
ENV SUGARCRM_COMMIT=71125a3
# Jessie is EOL - switch to archive.debian.org
RUN echo "deb http://archive.debian.org/debian/ jessie main contrib non-free" > /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free" >> /etc/apt/sources.list && \
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid-until && \
apt-get update -o Acquire::Check-Valid-Until=false && apt-get upgrade -y --force-yes && \
apt-get install -y --force-yes \
libcurl4-gnutls-dev \
libpng-dev \
unzip \
cron \
re2c \
python \
curl \
libc-client-dev \
libkrb5-dev \
git \
&& rm -r /var/lib/apt/lists/*
# Clone SugarCRM 6.5.26 CE from GitHub mirror
RUN git clone --depth 1 ${SUGARCRM_REPO} ${WWW_FOLDER} \
&& cd ${WWW_FOLDER} && git checkout ${SUGARCRM_COMMIT} 2>/dev/null || true \
&& rm -rf ${WWW_FOLDER}/.git \
&& chown -R www-data:www-data ${WWW_FOLDER}
# PHP upload limits
COPY docker-php-ext-filesize.ini /usr/local/etc/php/conf.d/docker-php-ext-filesize.ini
# PHP extensions
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install imap mysql zip gd
# Copy entrypoint and templates
COPY config_override.php.pyt /usr/local/src/config_override.php.pyt
COPY envtemplate.py /usr/local/bin/envtemplate.py
COPY init.sh /usr/local/bin/init.sh
RUN chmod u+x /usr/local/bin/init.sh
# Cron
COPY crons.conf /root/crons.conf
RUN crontab /root/crons.conf
EXPOSE 80
ENTRYPOINT ["/usr/local/bin/init.sh"]