О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
Dokploy
us.content
Направляем домен и поддомены: site.ru dokploy.site.ru pg.site.ru registry.site.ru minio.site.ru aws.site.ru https://github.com/dokploy/dokploy Команды: apt update apt upgrade -f curl -fsSL https://gist.githubusercontent.com/Traineratwot/71f1bb25fbfa5831edfebe812b34f105/raw/my-zsh.sh | bash Слева меню Settings выбираем Web Server: - Domain: dokploy.site.ru - Let's Encrypt Email: email@site.ru - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Daily Docker Cleanup включаем для автоматической очитки Docker После установки переходим по ссылки из терминала, создаём пользователя, заходим в панель управления. Создаём проект. Создаём базу данных, например PostgreSQL, называем pg. Далее сверху во вкладке General нажимаем Deploy, смотрим ошибки во вкладке Logs и если есть правим до тех пор пока не будет. Создаём pPostgreSQL Admin panel, называем pgAdmin: Для этого в Provider выбирем вкладку Raw и заполняем Compose File: services: pgadmin: image: dpage/pgadmin4:latest restart: unless-stopped environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD} - PGADMIN_CONFIG_SERVER_MODE=False - PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED=False volumes: - pgadmin-data:/var/lib/pgadmin healthcheck: test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://127.0.0.1/misc/ping || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 30s volumes: pgadmin-data: Далее сверху во вкладке Environment заполняем: PGADMIN_DEFAULT_EMAIL=email@site.ru PGADMIN_DEFAULT_PASSWORD=password Далее сверху во вкладке General нажимаем Deploy, смотрим ошибки во вкладке Logs и если есть правим до тех пор пока не будет. Далее сверху во вкладке Domains создаём: - Выбираем сервис pgAdmin - Назначаем поддомен pg.site.ru - Порт 80 - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Нажимаем Validate DNS для проверки - Переходим на поддомен pg.site.ru Создаём redis, называем redis. Создаём registry для бэкапирования. Для этого в Provider выбирем вкладку Raw и заполняем Compose File: services: registry: image: registry:2 restart: unless-stopped environment: REGISTRY_HTTP_ADDR: 0.0.0.0:5000 REGISTRY_HTTP_SECRET: ${REGISTRY_HTTP_SECRET} REGISTRY_HTTP_RELATIVEURLS: "true" REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_HEALTH_STORAGEDRIVER_ENABLED: "false" REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password volumes: - ../files/auth/registry.password:/auth/registry.password:ro - registry-data:/var/lib/registry healthcheck: test: - CMD-SHELL - 'wget -S --spider http://127.0.0.1:5000/v2/ 2>&1 | grep -E "HTTP/1.1 200|HTTP/1.1 401" || exit 1' interval: 30s timeout: 15s retries: 5 start_period: 3s registry-ui: image: joxit/docker-registry-ui:main restart: unless-stopped environment: SINGLE_REGISTRY: "true" DELETE_IMAGES: "true" SHOW_CONTENT_DIGEST: "true" REGISTRY_TITLE: "Local Docker Registry" NGINX_PROXY_PASS_URL: "http://registry:5000" depends_on: registry: condition: service_healthy healthcheck: test: - CMD-SHELL - wget -q --spider http://127.0.0.1/ || exit 1 interval: 30s timeout: 15s retries: 5 start_period: 3s volumes: registry-data: Создаём ссылку для compose, чтобы не писать весь путь /etc/dokploy/compose, команда в терминале: ln -s /etc/dokploy/compose compose Получаем логин-пароль в терминале командой: docker run --rm --entrypoint htpasswd httpd:2 -Bbn registry iJJWPp3PNLgA получаем например такое registry:$2y$10$qWZoWev/u5PV7WneFoRAMuoGpRcAQOgUuIIdLnU7pJXogrBSY23/2 Далее сверху во вкладке Advanced создаём volume: - Находим Volumes - Нажимаем Add Volume - В него добавляем полученное выше, например registry:$2y$10$qWZoWev/u5PV7WneFoRAMuoGpRcAQOgUuIIdLnU7pJXogrBSY23/2 Далее сверху во вкладке General нажимаем Deploy, смотрим ошибки во вкладке Logs и если есть правим до тех пор пока не будет. Далее сверху во вкладке Domains создаём: - Выбираем сервис registry - Назначаем поддомен registry.site.ru - Порт 80 - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Нажимаем Validate DNS для проверки - Переходим на поддомен registry.site.ru Далее слева меню Settings выбираем Registry: - Добавляем новый - Registry Name: registry - Username: registry - Registry URL: registry.site.ru - Нажимаем Test Registry, должно быть сообщение Registry Tested Successfully - Сохраняем Создаём minio, называем minio. Для этого в Provider выбирем вкладку Raw и заполняем Compose File: services: minio: image: minio/minio:RELEASE.2025-04-22T22-12-26Z restart: unless-stopped volumes: - minio-data:/data environment: - MINIO_ROOT_USER=${MINIO_ROOT_USER} - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD} - MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL} command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 30s timeout: 5s retries: 10 ports: - 9000:9000 expose: - 9001 volumes: minio-data: Далее сверху во вкладке Environment заполняем: MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=password MINIO_BROWSER_REDIRECT_URL=http://minio.site.ru MINIO_BROWSER_REDIRECT=false Далее сверху во вкладке General нажимаем Deploy, смотрим ошибки во вкладке Logs и если есть правим до тех пор пока не будет. Далее сверху во вкладке Domains создаём домен панели управления: - Выбираем сервис minio - Назначаем поддомен minio.site.ru - Порт 9001 - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Нажимаем Validate DNS для проверки - Переходим на поддомен minio.site.ru - Создаём бакет dokploy, можно назвать как угодно и далее будем это имя использовать, назначаем квоту, т. е. сколько места Создаём второй домен, через который получаем доступ к файлам: - Выбираем сервис minio - Назначаем поддомен aws.site.ru - Порт 9000 - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Нажимаем Validate DNS для проверки - Переходим на поддомен aws.site.ru Далее слева меню Settings выбираем S3 Destinations: - Добавляем новый - Name: minio - Provider: выбираем Minio Object Storage - Access Key Id: логин от minio - Secret Access Key: пароль от minio - Bucket: dokploy - Region: ru - Endpoint: aws.site.ru - Нажимаем Test connection, должно быть сообщение Connection Success - Сохраняем Далее идём в проект выбираем сервис pg Далее сверху во Backups нажимаем Create Backup: - Destination: minio - Database: название базы данных - Schedule: как часто делать бэкап (0 0 * * 0 - раз в неделю) - Keep the latest: сколько бэкапов делать - Enabled: включаем - Сохраняем Слева меню Settings снова выбираем Web Server: - Переходим в Backups - Создаём - Destination: выбираем minio - Schedule: как часто делать бэкап (0 0 * * 0 - раз в неделю) - Keep the latest: сколько бэкапов делать - Enabled: включаем - Сохраняем Создаём сервис Application называем app. Dockerfile поменщаем в корень вашего проекта. В Provider выбираем какой git использует ваш проект: - Создаём подключение к аккаунту - Repository: выбираем свой репозиторий - Branch: выбираем ветку из репозитория - Trigger Type: выбираем On Push чтобы при пуше в нашу ветку автоматом пересобирался наш проект на Dokploy - Build Type: Dockerfile - Docker Build Stage: prod Далее сверху во вкладке Environment заполняем из файл .env проекта: - Environment Settings - Build-time Arguments Далее сверху во вкладке General нажимаем Deploy, смотрим ошибки во вкладке Logs и если есть правим до тех пор пока не будет. Например так правим ошибку прав: Под root команды для проекта Laravel chmod 0777 -R ./storage chmod 0777 -R ./public Далее сверху во вкладке Domains создаём: - Назначаем host site.ru - Порт 80 - HTTPS включаем для автоматического обновления сертификата - Certificate Provider выбираем Let's Encrypt - Сохраняем - Нажимаем Validate DNS для проверки - Переходим на site.ru Слева меню Settings есть пункт Notifications, настроить уведомление если App Build Error
Список