Некоторые картинки не загружаются из РФ и РК, используйте VPN.
Показаны сообщения с ярлыком docker. Показать все сообщения
Показаны сообщения с ярлыком docker. Показать все сообщения

пятница, 20 февраля 2026 г.

Install docker and docker compose


user@mysrv:~# sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
user@mysrv:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
user@mysrv:~# sudo apt update
user@mysrv:~# sudo apt install -y docker-ce
user@mysrv:~# usermod -aG docker ${USER}

user@mysrv:~# mkdir -p ~/.docker/cli-plugins/
user@mysrv:~# curl -SL https://github.com/docker/compose/releases/download/v5.0.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
user@mysrv:~# chmod +x ~/.docker/cli-plugins/docker-compose
user@mysrv:~# docker compose version

суббота, 14 февраля 2026 г.

Docker compose certbot

This is a docker compose file to create a certbot container and issue a new cert using letsencrypt

services:
  certbot:
    image: certbot/certbot
    container_name: certbot
    volumes:
      - ./certbot/conf:/etc/letsencrypt
      - ./certbot/logs:/var/log/letsencrypt
    ports:
      - "80:80"
    command: certonly --standalone -d yourdomain.com --email your@email.com --agree-tos --no-eff-email

воскресенье, 21 апреля 2024 г.

Docker Nextcloud изменить BaseURL

Казалось бы, что может проще как изменить базовый URL?

А что такое базовый url? Классический базовый URL раньше выглядел так http://mydomen.ru/nextcloud
При этом nextcloud установлен по пути /var/www/html/nextcloud, а DocumentRoot в настройках веб-сервера  /var/www/html
Потом появился параметр RewriteBase, который позволял убрать из url nextcloud, тем самым сократив его и сделав красивым.

среда, 13 марта 2024 г.

PoSh Script Проверка web сервиса и перезапуск docker desktop

Сервис развернут контейнере (Docker desktop). Пожаловались, что иногда он вываливается и единственное решение - полный перезапуск wsl и "docker desktop". Пользователь в будуюшем будет переносить докеры в linux среду, а на текущий момент нужен костыль. Сразу оговорюсь, попытка создать службу docker провалилась, поэтому здесь решение совсем грязное. Но в самом скрипте есть пара интересных, для меня, моментов, поэтому кладу его здесь.

Скрипт проверяет ответ от web-сервиса (внешний адрес и порт), если его нету, то ждет N время, иначе выходит. По истечении N времени идет повторная проверка, если ответа нет, то идет проверка локальная, иначе выход. Если локальная проверка не прошла, то перезапускаем нужные службы и программы, иначе выходим.

Запускать я решил батником в task scheduller, чтобы не править каждый раз задачу. При этом задача должна выполнятся от имени администратора и БЕЗ привязки к пользователю, иначе Desktop manager не запустит контейнеры.


Два триггера


Для автозапуска Docker desktop при загрузке ПК настраиваем автовход пользователя  (control userpasswords2)  и автозапуск Docker desktop при входе в настройках программы. На данный момент это единственное рабочее решение из найденных :-(

Команда запуска в планировщике (окно скрипта скрыто)

%windir%\system32\cmd.exe
/c start /min C:\usr\WSLCheckStart.bat ^& exit

Будьте осторожны с таким методом скрытия окна. Этот метод открывает скрипт за пределами планировщика. Планировщик не может контролировать выполнение задачи, а значит возможно наложение нескольких задач. Для таких случаев рекомендуется проводить проверку в самом скрипте.

Батник:

@echo off
cd %~dp0
set "pathscript=%~dp0\WSLCheck.ps1"
set "pathlog=%~dp0\log"
mkdir %~dp0\log
IF EXIST %pathscript% (
  powershell.exe -NoProfile -ExecutionPolicy Bypass -File %pathscript% -Address "dev.site.com" -Port "443" -LocalPort "8080" -TimeOut 20 -TimeOutHTTP 10 -LogFile %pathlog%
) ELSE (
  echo "ERROR! %pathscript% not exist"
  echo "ERROR! %pathscript% not exist" >> WSLLogStart.log
)

Сам скрипт Powershell