FROM httpd:2.4
# Базовый образ Debian + Apache 2.4: https://hub.docker.com/_/httpd

LABEL maintainer="DFV24"
LABEL based_on="https://github.com/petrmyazin/docker-apache-1c-example by Petr Myazin <petr.myazin@gmail.com>"

# Дистрибутив сервера 1С:Предприятие 8 (64-bit) для DEB-based Linux-систем.
# Файл нужно скачать самостоятельно с https://releases.1c.ru и положить рядом с Dockerfile
# под именем deb64.tar.gz (см. README.md в этой же директории).
COPY deb64.tar.gz /dist/deb64.tar.gz

# Распаковываем дистрибутив, ставим только пакеты, нужные для веб-расширения,
# и зачищаем deb-файлы, чтобы не раздувать слой образа.
RUN tar -xzf /dist/deb64.tar.gz -C /dist \
  && dpkg -i /dist/*.deb \
  && version="$(find /opt/1cv8/x86_64 -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort -V | tail -n 1)" \
  && ln -sfn "/opt/1cv8/x86_64/${version}" /opt/1cv8/current \
  && test -f /opt/1cv8/current/wsap24.so \
  && rm -rf /dist

# Преднастроенный конфиг Apache с подключением модуля 1С (wsap24.so) и публикацией базы по пути /BuhBase.
COPY httpd.conf /usr/local/apache2/conf/httpd.conf

# Дефолтный файл подключения к информационной базе 1С.
# В DFWebOS этот файл смонтирован томом из ${APP_DATA_DIR}/data/vrd/default.vrd
# и переопределяется без пересборки образа.
COPY default.vrd /usr/local/apache2/htdocs/BuhBase/default.vrd

# Заглушка на корне: реверс-прокси DFWebOS открывает приложение по адресу /app-<id>/,
# Apache внутри контейнера видит запрос на /. Этот index.html делает относительный
# редирект на BuhBase/, чтобы пользователь попадал сразу в публикацию 1С.
COPY index.html /usr/local/apache2/htdocs/index.html
