FROM nginx:alpine # Установка зависимостей RUN apk add --no-cache bash openssl # Создание директории для сертификатов RUN mkdir -p /etc/nginx/ssl # Генерация самоподписанных сертификатов (действительны 365 дней) RUN openssl req -x509 -nodes -days 365 \ -newkey rsa:2048 \ -keyout /etc/nginx/ssl/dummy.key \ -out /etc/nginx/ssl/dummy.crt \ -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost" # Копируем обе конфигурации COPY nginx-http.conf /etc/nginx/nginx-http.conf COPY nginx-ssl.conf /etc/nginx/nginx-ssl.conf # Создаем симлинк по умолчанию на HTTP конфиг RUN ln -sf /etc/nginx/nginx-http.conf /etc/nginx/conf.d/default.conf # Скрипт для проверки сертификатов и переключения конфига COPY switch-config.sh /docker-entrypoint.d/switch-config.sh RUN chmod +x /docker-entrypoint.d/switch-config.sh # Создаем необходимые директории RUN mkdir -p /var/www/certbot