working version beta

This commit is contained in:
ark
2026-01-29 00:28:27 +03:00
parent 13865d2513
commit 11bea35f68
4 changed files with 58 additions and 49 deletions
+24 -25
View File
@@ -5,17 +5,17 @@ ARG S6_OVERLAY_VERSION=3.2.1.0
ARG SERVER_VERSION 8.3.24.1586
# Variables For Container
ENV LANG ru_RU.UTF8
ENV LC_ALL ru_RU.UTF8
ENV TZ Europe/Moscow
ENV SERVER_VERSION ${SERVER_VERSION}
ENV USER usr1cv8
ENV SERVER_DATA /home/${USER}
ENV BASE_DIR /bases
ENV WORKDIR /opt/1cv8/x86_64/${SERVER_VERSION}/
# Common
ENV LANG=ru_RU.UTF8
ENV LC_ALL=ru_RU.UTF8
ENV TZ=Europe/Moscow
# Server
ENV SERVER_VERSION=${SERVER_VERSION}
ENV BASES_DIR=/bases
ENV WORKDIR=/opt/1cv8/x86_64/${SERVER_VERSION}/
ENV LIC_DIR=/var/1C/licenses
ENV JAVA_HOME=/opt/1cv8/x86_64/${SERVER_VERSION}/jre/
# add repo for debian 11
#RUN sed -r -i 's/^deb(.*)$/deb\1 contrib/g' /etc/apt/sources.list
# add contrib repo for debian 13 and install requiments
RUN sed -i '/Components:/s/$/ contrib/' /etc/apt/sources.list.d/debian.sources
RUN apt-get -qq update \
@@ -36,6 +36,7 @@ RUN apt-get -qq update \
libwebkit2gtk-4.0-37 \
&& apt-get clean && apt-get autoremove
# Set locale
RUN locale-gen ${LANG} \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
@@ -44,22 +45,21 @@ ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLA
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp
RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz
# explicitly set user/group IDs
RUN set -eux; \
groupadd -r ${USER} --gid=1001; \
useradd -m -r -g ${USER} --uid=1001 --home-dir=/home/${USER} --shell=/bin/bash ${USER};
# Install 1C Server
ADD ./distr/setup-full-${SERVER_VERSION}-x86_64.run /tmp/distr/
RUN /tmp/distr/setup-full-${SERVER_VERSION}-x86_64.run \
ADD ./distr/setup-full-${SERVER_VERSION}-x86_64.run /tmp/distr/1c/
ADD ./distr/1c_enterprise_license_tools_0.15.0_2_linux_x86_64.tar.gz /tmp/distr/license/
RUN /tmp/distr/1c/setup-full-${SERVER_VERSION}-x86_64.run \
--mode unattended \
--enable-components \
server,ws,server_admin,config_storage_server,additional_admin_functions,liberica_jre,integrity_monitoring,v8_install_deps \
&& rm /tmp/distr/*
#Install license tool
ADD ./distr/1c_enterprise_license_tools_0.15.0_2_linux_x86_64.tar.gz /tmp/
#RUN /tmp/1ce-installer-cli install --ignore-signature-warnings
ws,liberica_jre,v8_install_deps,client_thin_fib \
--disable-components \
client_full
# RUN rm /tmp/distr/*
RUN /tmp/distr/license/1ce-installer-cli install --ignore-signature-warnings
#COPY ./services.d /etc/services.d
COPY ./entrypoint.sh /entrypoint.sh
@@ -71,6 +71,5 @@ ENTRYPOINT [ "/entrypoint.sh" ]
EXPOSE 1540-1541 1545 1560-1591
EXPOSE 80 443
VOLUME ${SERVER_DATA}
VOLUME ${BASE_DIR}
VOLUME ${BASES_DIR}
VOLUME ${LIC_DIR}
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/bash
docker build --tag srv1c:8.3.27.1859 --build-arg SERVER_VERSION=8.3.27.1859 .
docker build --tag srv1c-web:8.3.27.1859 --build-arg SERVER_VERSION=8.3.27.1859 .
+30 -20
View File
@@ -7,37 +7,48 @@ log() {
}
check() {
log "пути к java"
export JAVA_HOME="/opt/1cv8/x86_64/$SERVER_VERSION/jre/"
export PATH="/opt/1cv8/x86_64/$SERVER_VERSION/jre/bin:$PATH"
}
setup() {
if [ ! -d "/opt/1cv8/x86_64/${SERVER_VERSION}" ]; then
log "Проверка наличия сервера"
if [ ! -d "/opt/1cv8/x86_64/${SERVER_VERSION}/" ]; then
log "Нужная версия 1С $SERVER_VERSION не установленна в $WORKDIR "
log "Установка компонентов 1С версии ${SERVER_VERSION}"
/tmp/distr/setup-full-${SERVER_VERSION}-x86_64.run \
--enable-components ws,v8_install_deps,server_admin \
--mode unattended
return 1
else
echo "Платформа 1С $SERVER_VERSION уже установлена. Путь: $WORKDIR"
log "Платформа 1С $SERVER_VERSION уже установлена. Путь: $WORKDIR"
fi
if [ ! -f "/etc/apache2/mods-enabled/wsap24.load" ]; then
log "Проверка установленного модуля поддержки веб сервисов"
if [ ! -e "/etc/apache2/mods-enabled/wsap24.load" ]; then
log "Подключаю модуль wsap24"
echo "LoadModule _1cws_module /opt/1cv8/x86_64/${SERVER_VERSION}/wsap24.so" > /etc/apache2/mods-available/wsap24.load
ln -s /etc/apache2/mods-available/wsap24.load /etc/apache2/mods-enabled/wsap24.load
else
log "Модуль уже wsap24.load подключен"
fi
log "Проверка баз в $BASES_DIR"
if [ -d $BASES_DIR ]; then
log "Каталог баз данных $BASES_DIR обнаружен"
for dir in "$BASES_DIR"/*; do
if [ ! -d $dir ]; then
return 1
fi
log "$dir"
if [ -f $dir/1Cv8.1CD ]; then
log "$dir - каталог базы даннх"
log "Назначаю права на каталог $dir "
chown -R www-data:www-data $dir
local base_name=$(basename "$dir")
publish "$base_name"
fi
done
fi
}
log "Публикация Баз на вебсервере"
/opt/1cv8/x86_64/${SERVER_VERSION}/webinst \
publish() {
log "Публикация $base_name"
$WORKDIR/webinst \
-publish \
-apache24 \
-wsdir test \
-dir /var/www/1c/test \
-connstr "File=/bases/test;" \
-wsdir $base_name \
-dir /var/www/1c/$base_name \
-connstr "File=/bases/$base_name;" \
-confpath /etc/apache2/apache2.conf
}
@@ -47,7 +58,6 @@ start() {
main() {
log "=== Запуск Web Сервера ==="
check
setup
log "=== Все готово, запускаем сервер ==="
start
}
+3 -3
View File
@@ -2,15 +2,15 @@
docker run -d \
--restart always \
-h srv1c \
-h srv1c-web \
-p 1540-1545:1540-1545 \
-p 1560-1591:1560-1591 \
-p 888:80 \
--name srv1c \
--name srv1c-web \
-v /srv/fdata/srv1c/data:/home/usr1cv8 \
-v /srv/fdata/srv1c/licenses:/var/1C/licenses \
-v /srv/sdata/srv1c/backup:/backup \
-v /etc/localtime:/etc/localtime:ro \
-v /srv/bases:/bases \
srv1c:8.3.27.1859
srv1c-web:8.3.27.1859