-
Notifications
You must be signed in to change notification settings - Fork 0
/
search-doc-1720380752533.json
1 lines (1 loc) · 31.3 KB
/
search-doc-1720380752533.json
1
{"searchDocs":[{"title":"First run","type":0,"sectionRef":"#","url":"/getting-started/first-run","content":"","keywords":"","version":"Next"},{"title":"Service containers","type":1,"pageTitle":"First run","url":"/getting-started/first-run#service-containers","content":"After installation, the first step is to start the service containers. dl service up The command will check that docker is installed correctly and launch the portainer, mailcatcher and traefik containers. note DL uses ports 8080, 80 and 443 by default. These should be available on your system. After the launch, the services will be available at url: Portainer http://portainer.localhostTraefik http://traefik.localhostMailhog http://mail.localhost The command needs to be executed only once, containers are started with the option restart: always, that is, after restarting the computer, docker will automatically start them. If you want to stop and remove service containers, run the command: dl service down ","version":"Next","tagName":"h2"},{"title":"Launching a local site","type":1,"pageTitle":"First run","url":"/getting-started/first-run#launching-a-local-site","content":"Clone the git repository to your computer (you are using git, right?) and navigate to the root directory of the project. Run the command dl env to copy the example .env file. If you already use .env on your project, you will receive a warning with options: overwrite the file or display the necessary variables that need to be copied and placed in your current .env. You can create a file .env.example and add it under git, then it will be used when you run the command dl env. Edit the .env file with the required variables. 1 Run the dl deploy command if you need to download the database or files from the production server. 2 Important! You must be configured to access the server via ssh key. Run the project with the dl up command. To stop and remove containers in a project, use the dl down command. 2 info All DL commands must be run in the root directory of the project, which contains the .env file. After starting the project, local links will be displayed. You can use the .localhost domain or access the site through the nip.io service — this is convenient if you work in a corporate local network, then colleagues can go to your site from their computer. Configuration via .env file ↩Available commands ↩ ","version":"Next","tagName":"h2"},{"title":"Examples of typical configurations","type":0,"sectionRef":"#","url":"/examples/typical","content":"","keywords":"","version":"Next"},{"title":"CMS Bitrix","type":1,"pageTitle":"Examples of typical configurations","url":"/examples/typical#cms-bitrix","content":"Approximate directory structure: /var/www/user/site.com/public_html/ ├── .git # Files under git system are excluded and will not be downloaded ├── bitrix # The bitrix directory will be archived and downloaded │ └── .settings.php # Database accesses are counted from the configuration file ├── .... └── index.php # Index file in the project root During deployment, the bitrix directory and database are downloaded. After downloading: in the file /bitrix/.settings.php accesses for connecting to the database are automatically replaced (all values: db)the update_devsrv variable is set in the b_option table, which turns on the development mode (a requirement of the Bitrix licensing policy)the local domain site.com.localhost is added to the b_lang_domain and b_lang tables .env file configuration: CATALOG_SRV=/var/www/user/site.com/public_html/ # Root directory of the site on the server USER_SRV=user # SSH username to connect to the server PORT_SRV=22 # SSH port for connecting to the server SERVER=127.0.0.1 # SSH server PHP_VERSION=8.2-apache # Container with PHP (if php-fpm is specified, the nginx container will also start) MYSQL_VERSION=8.0 # Container with MySQL # Tables excluded from the dump (only tables are downloaded, without data) EXCLUDED_TABLES=b_event_log,b_search_content_stem,b_search_content,b_search_content_text,b_search_content_title,b_search_phrase,b_search_suggest,b_perf_error # Excluded files and directories from the archive EXCLUDED_FILES=bitrix/backup,bitrix/cache,bitrix/managed_cache,bitrix/stack_cache ","version":"Next","tagName":"h2"},{"title":"CMS WordPress","type":1,"pageTitle":"Examples of typical configurations","url":"/examples/typical#cms-wordpress","content":"Approximate directory structure: /var/www/user/site.com/public_html/ ├── .git # Files under git system are excluded and will not be downloaded ├── wp-admin # The directory will be archived and downloaded ├── wp-content # By default under git and not downloaded ├── wp-includes # The directory will be archived and downloaded ├── wp-config.php # Database accesses are counted from the configuration file ├── .... └── index.php # Index file in the project root During deployment, the wp-admin, wp-includes and database directories are downloaded. After downloading: in the wp-config.php file, accesses for connecting to the database are automatically replaced (all values: db) .env file configuration: CATALOG_SRV=/var/www/user/site.com/public_html/ # Root directory of the site on the server USER_SRV=user # SSH username to connect to the server PORT_SRV=22 # SSH port for connecting to the server SERVER=127.0.0.1 # SSH server PHP_VERSION=8.2-apache # Container with PHP (if php-fpm is specified, the nginx container will also start) MYSQL_VERSION=8.0 # Container with MySQL note Before starting the project, you should set the WP_HOME and WP_SITEURL constants in the wp-config.php file specifying the local domain. For example: define('WP_HOME', 'http://site.com.localhost'); define('WP_SITEURL', 'http://site.com.localhost'); ","version":"Next","tagName":"h2"},{"title":"FW Laravel","type":1,"pageTitle":"Examples of typical configurations","url":"/examples/typical#fw-laravel","content":"Approximate directory structure: /var/www/user/site.com/public_html/ ├── app # Directories are not downloaded ├── bootstrap ├── config ├── .... └── public └── index.php # Index file During deployment, only the database is downloaded. Accesses are determined from the .env file with standard variables:$DB_HOST, $DB_DATABASE, $DB_USERNAME, $DB_PASSWORD. .env file configuration: CATALOG_SRV=/var/www/user/site.com/public_html/ # Root directory of the site on the server USER_SRV=user # SSH username to connect to the server PORT_SRV=22 # SSH port for connecting to the server SERVER=127.0.0.1 # SSH server DOCUMENT_ROOT=/var/www/html/public # Set DOCUMENT_ROOT to the public directory PHP_VERSION=8.2-apache # Container with PHP (if php-fpm is specified, the nginx container will also start) MYSQL_VERSION=8.0 # Container with MySQL Deploying files and databases↩ ","version":"Next","tagName":"h2"},{"title":"Available commands","type":0,"sectionRef":"#","url":"/commands","content":"","keywords":"","version":"Next"},{"title":"dl","type":1,"pageTitle":"Available commands","url":"/commands#dl","content":"Displays a short description and a list of available commands. Usage example: dl ","version":"Next","tagName":"h2"},{"title":"completion","type":1,"pageTitle":"Available commands","url":"/commands#completion","content":"Displays instructions for enabling auto-completion in the console. Usage example: dl completion dl completion [bash|zsh] ","version":"Next","tagName":"h2"},{"title":"config","type":1,"pageTitle":"Available commands","url":"/commands#config","content":"Application settings. Usage example: dl config ","version":"Next","tagName":"h2"},{"title":"config repo","type":1,"pageTitle":"Available commands","url":"/commands#config-repo","content":"Menu for setting up the images source repository. The default is the GitHub repository (ghcr.io). If you have problems downloading images, you can switch the source to the RedHat mirror (quay.io) Usage example: dl config repo ","version":"Next","tagName":"h2"},{"title":"config service","type":1,"pageTitle":"Available commands","url":"/commands#config-service","content":"Menu for managing the launch of additional containers. By default, the service containers traefik, portainer and mail (mailcatcher) are launched. You can disable the launch of containers you don't need. note You can only disable portainer and mail. The traefik container cannot be disabled. Usage example: dl config service ","version":"Next","tagName":"h2"},{"title":"cert","type":1,"pageTitle":"Available commands","url":"/commands#cert","content":"Generating and (un)installing a root certificate in Firefox and/or Chrome/Chromium browsers. The command only needs to be run once. It will generate a CA certificate and use the certutil utility to write it to the browser's storage. The certificate rootCA.pem (and the key rootCA-key.pem) will be located in the directory: ~/.config/dl/certs. After installing the root certificate, the project will be available in the browser via the https protocol. note This command uses the certutil utility, which must be installed on the computer. Installation for some OS: Debian/Ubuntu/Mint: sudo apt install libnss3-toolsArch Linux/Manjaro: pacman -S nssFedora: dnf install nss-toolsmacOS: brew install nss In the deb-packages, certutil is listed as a dependency. note On some operating systems, certutil may require the root password to install the certificate in the browser's store. Usage example: dl cert install dl cert uninstall ","version":"Next","tagName":"h2"},{"title":"env","type":1,"pageTitle":"Available commands","url":"/commands#env","content":"Create or replace the .env file. If a .env.example file exists in the root of the project, it will be used instead of the default file. Usage example: dl env ","version":"Next","tagName":"h2"},{"title":"deploy","type":1,"pageTitle":"Available commands","url":"/commands#deploy","content":"Downloading files and databases from the server. Without specifying the flag, files and the database are downloaded by default. If you specify a flag, for example -d, only the database will be downloaded. Directories that are loaded by default: Bitrix CMS: bitrixWordPress: wp-admin and wp-includesLaravel: only the database is loaded Available options: -d, --database dump only the database from the server-f, --files only download files from server-o, --override override boot directories (comma separated values)-t, --tables dump only specified tables (comma separated values) Usage example: dl deploy dl deploy -d dl deploy -d -t b_user,b_file dl deploy -f dl deploy -f -o bitrix,upload ","version":"Next","tagName":"h2"},{"title":"up","type":1,"pageTitle":"Available commands","url":"/commands#up","content":"Run the project and place the files of the current directory in the container. When finished, displays the local links to the project. Analogue of the command docker-compose up -d. Usage example: dl up ","version":"Next","tagName":"h2"},{"title":"down","type":1,"pageTitle":"Available commands","url":"/commands#down","content":"Stop and delete running project containers and the network. Analogue of the command docker-compose down. Usage example: dl down ","version":"Next","tagName":"h2"},{"title":"recreate","type":1,"pageTitle":"Available commands","url":"/commands#recreate","content":"Stop project containers and restart. An alias for sequential execution of dl down && dl up commands. Usage example: dl recreate ","version":"Next","tagName":"h2"},{"title":"bash","type":1,"pageTitle":"Available commands","url":"/commands#bash","content":"Login to PHP container as www-data or root and start bash shell. As the second parameter, you can specify the name or ID of another docker container. Default is always the PHP container. Available options: -r, --root enter the container as root Usage example: dl bash dl bash -r dl bash site.com_db dl bash fcb13f1a3ea7 ","version":"Next","tagName":"h2"},{"title":"exec","type":1,"pageTitle":"Available commands","url":"/commands#exec","content":"Running bash command in PHP container as user www-data Usage example: dl exec composer install dl exec "ls -la" ","version":"Next","tagName":"h2"},{"title":"service","type":1,"pageTitle":"Available commands","url":"/commands#service","content":"Management of service containers (portainer, mailcatcher, traefik). Usage example: dl service ","version":"Next","tagName":"h2"},{"title":"service up","type":1,"pageTitle":"Available commands","url":"/commands#service-up","content":"Launches the portainer, mailcatcher and traefik containers. Valid parameters for the --service flag: portainer, mail, traefik Available options: -r, --restart restart running containers-s, --service run the specified containers (comma separated values) Usage example: dl service up dl service up -r dl service up -s portainer dl service up -s portainer,mail ","version":"Next","tagName":"h3"},{"title":"service down","type":1,"pageTitle":"Available commands","url":"/commands#service-down","content":"Stops and removes the portainer, mailcatcher and traefik containers. Valid parameters for the --service flag: portainer, mail, traefik Available options: -r, --restart restart running containers-s, --service stop the specified containers (comma separated values) Usage example: dl service down dl service down -r dl service down -s portainer dl service down -s portainer,mail ","version":"Next","tagName":"h3"},{"title":"service recreate","type":1,"pageTitle":"Available commands","url":"/commands#service-recreate","content":"Stops, removes and restarts the portainer, mailcatcher and traefik containers. Valid parameters for the --service flag: portainer, mail, traefik Available options: -s, --service restart the specified containers (comma separated values) Usage example: dl service recreate dl service recreate -s portainer dl service recreate -s portainer,mail ","version":"Next","tagName":"h3"},{"title":"service restart","type":1,"pageTitle":"Available commands","url":"/commands#service-restart","content":"Restarts all service containers without deleting. Command alias dl service --restart Usage example: dl service restart ","version":"Next","tagName":"h3"},{"title":"self-update","type":1,"pageTitle":"Available commands","url":"/commands#self-update","content":"Downloading the latest stable dl release from the repository and updating the application version. The command is available only when installed in the user's home directory. When installing a deb package, dl is updated via apt: sudo apt update && sudo apt install dl Available options: -n, --no-overwrite do not overwrite config files Usage example: dl self-update dl self-update -n ","version":"Next","tagName":"h2"},{"title":"ps","type":1,"pageTitle":"Available commands","url":"/commands#ps","content":"List of project containers. The command is similar to docker ps, but only the containers started by the current project are displayed. Usage example: dl ps Output example: ID\tName\tState\tIP\tPortsaa2b362ea773\tsite.com_php\trunning\t172.25.0.3\t80/tcp bbe79a746fe0\tsite.com_db\trunning\t172.25.0.2\t3306/tcp ","version":"Next","tagName":"h2"},{"title":"templates","type":1,"pageTitle":"Available commands","url":"/commands#templates","content":"Restoring the original docker-compose files in the configuration directory. Usage example: dl templates ","version":"Next","tagName":"h2"},{"title":"version","type":1,"pageTitle":"Available commands","url":"/commands#version","content":"Display the current version. Usage example: dl version ","version":"Next","tagName":"h2"},{"title":"Introduction","type":0,"sectionRef":"#","url":"/intro","content":"","keywords":"","version":"Next"},{"title":"Features","type":1,"pageTitle":"Introduction","url":"/intro#features","content":"Support for PHP versions (apache and php-fpm) 7.3, 7.4, 8.0, 8.1, 8.2, 8.3Support for MySQL, MariaDB and PostgreSQLDownloading the database and files from the production serverRedisMemcachedNginxCross-platformInterception of mail sent via phpPortainer - docker container management systemDoes not require root access (when installing the executable file in the user's directory)Accessing sites from the browser via .localhost or .nip.ioAbility to add custom docker-compose.yaml files to DL configuration ","version":"Next","tagName":"h2"},{"title":"How it works?","type":1,"pageTitle":"Introduction","url":"/intro#how-it-works","content":"After installing the utility, 3 service docker containers will be launched on your computer: Traefik (proxy server for interacting with installed projects)Mailhog (lightweight service for intercepting emails sent from a local site)and Portainer (a web interface for working with Docker) Sites that you run through DL are in their own virtual network, you can run several projects at the same time, each will have its own URL. When the project starts, all the source code (in the directory where DL is launched) is mounted in a docker container, which allows you to edit the code and immediately test the functionality in the browser. Using the variables in the .env file, you can set the necessary settings that are required for a specific project, as well as add or completely override the launched images to your own. For ease of launch (and modification) the file docker-compose.yaml is used. ","version":"Next","tagName":"h2"},{"title":"Licensing","type":1,"pageTitle":"Introduction","url":"/intro#licensing","content":"All source code is distributed under the MIT license. ","version":"Next","tagName":"h2"},{"title":"Contributing","type":1,"pageTitle":"Introduction","url":"/intro#contributing","content":"Please make sure the following is done when submitting your Pull Request: Fork the repository and create your own branch from master.Be sure to test your changes!Make sure your code is in accordance with generally accepted standards. ","version":"Next","tagName":"h2"},{"title":"Configuration","type":0,"sectionRef":"#","url":"/getting-started/env","content":"","keywords":"","version":"Next"},{"title":"Setting up the .env file","type":1,"pageTitle":"Configuration","url":"/getting-started/env#setting-up-the-env-file","content":"With the help of variables in the .env file, you can flexibly control the environment settings. ","version":"Next","tagName":"h2"},{"title":"Main","type":1,"pageTitle":"Configuration","url":"/getting-started/env#main","content":"Variable\tRequired\tDefault value\tNoteNETWORK_NAME\tNo\tGenerated from HOST_NAME\tThe name of the docker network. Generated from HOST_NAME without special characters DOCUMENT_ROOT\tNo\t/var/www/html\tThe root directory of the site where the index.php file is located. 1 HOST_NAME\tNo\tGenerated from name of the current directory\tSite name or domain. Used to build a local URL 2 ","version":"Next","tagName":"h3"},{"title":"Deploy files and database","type":1,"pageTitle":"Configuration","url":"/getting-started/env#deploy-files-and-database","content":"Variable\tRequired\tDefault value\tNoteCATALOG_SRV\tNo 3 The root directory of the site on the server USER_SRV\tNo 3 SSH username to connect to the server PORT_SRV\tNo 3 SSH port to connect to the server SERVER\tNo 3 IP address (or domain) to connect to the server SSH_KEY\tNo 3\tid_rsa\tSpecifies the name of the ssh key located in the ~/.ssh/ directory ASK_KEY_PASSPHRASE\tNo\tfalse\tAsk for private key passphrase. Available values: true, false USE_SSH_PASS\tNo\tfalse\tIgnore ssh key and use password to connect. Available values: true, false EXCLUDED_TABLES\tNo MySQL tables excluded when downloading a dump from the server EXCLUDED_FILES\tNo Excluded files when downloading an archive of files from the server ","version":"Next","tagName":"h3"},{"title":"Database connection","type":1,"pageTitle":"Configuration","url":"/getting-started/env#database-connection","content":"If the script could not automatically determine access to the database on the server, write the settings to the env file manually Variable\tRequired\tDefault value\tNoteMYSQL_HOST_SRV\tNo\tlocalhost\tHost MYSQL_PORT_SRV\tNo\t3306\tPort MYSQL_DATABASE_SRV\tYes Base name MYSQL_LOGIN_SRV\tYes User name MYSQL_PASSWORD_SRV\tYes User password ","version":"Next","tagName":"h3"},{"title":"PHP settings","type":1,"pageTitle":"Configuration","url":"/getting-started/env#php-settings","content":"Variable\tRequired\tDefault value\tNotePHP_VERSION\tYes PHP version Available values: 7.3-apache, 7.4-apache, 8.0-apache, 8.1-apache, 8.2-apache, 7.3-fpm, 7.4-fpm, 8.0-fpm, 8.1-fpm, 8.2-fpm PHP_MEMORY_LIMIT\tNo\t256M\tPHP memory limit PHP_POST_MAX_SIZE\tNo\t100M\tMaximum POST request size PHP_UPLOAD_MAX_FILESIZE\tNo\t100M\tMaximum file size allowed for upload PHP_MAX_FILE_UPLOADS\tNo\t50\tMaximum number of uploaded files PHP_MAX_EXECUTION_TIME\tNo\t60\tMaximum script execution time PHP_MODULES\tNo Additional php extensions. For example PHP_MODULES="redis memcached" XDEBUG\tNo\toff 4\tTo enable the XDebug module, use the debug option XDEBUG_IDE_KEY\tNo\tPHPSTORM\tKey to be passed when initializing an XDebug session XDEBUG_PORT\tNo\t9003\tXDebug port PHP_INI_SOURCE\tNo\t/dev/null\tRelative link to php.ini file to completely override configuration (for example: PHP_INI_SOURCE: .docker/php/php.ini) ","version":"Next","tagName":"h3"},{"title":"DB settings","type":1,"pageTitle":"Configuration","url":"/getting-started/env#db-settings","content":"If a value is specified, the database container will be raised. Database name: db Username: db User password: db Variable\tRequired\tDefault value\tNoteMYSQL_VERSION\tNo MySQL version. Available values: 5.7, 8.0 MARIADB_VERSION\tNo MariaDB version. Available values: Supported tags POSTGRES_VERSION\tNo PostgreSQL version. Available values: Supported tags ","version":"Next","tagName":"h3"},{"title":"Additional containers","type":1,"pageTitle":"Configuration","url":"/getting-started/env#additional-containers","content":"Variable\tRequired\tDefault value\tNoteREDIS\tNo\tfalse\tIf set to true, the Redis container will be launched REDIS_PASSWORD\tNo\tpass\tRedis password MEMCACHED\tNo\tfalse\tIf set to true, the Memcached container will be launched ","version":"Next","tagName":"h3"},{"title":"Other settings","type":1,"pageTitle":"Configuration","url":"/getting-started/env#other-settings","content":"Variable\tRequired\tDefault value\tNoteLOCALTIME\tNo\tEurope/Moscow\tTime zone set in PHP and MySQL containers NGINX_CONF\tNo\t~/.config/dl/config-files/default.conf.template\tNginx config template. Required when using php-fpm version (nginx + php-fpm) LOCAL_IP\tNo\tExternal local IP e.g. 192.168.0.5\tIf the IP of the computer was incorrectly determined, it must be specified manually in the .env file APPEND_COMPOSE_FILE\tNo Add a docker-compose.yaml file to be run with the project. (If there are several files, they must be separated by a colon) ","version":"Next","tagName":"h3"},{"title":"File configuration example for Bitrix CMS","type":1,"pageTitle":"Configuration","url":"/getting-started/env#file-configuration-example-for-bitrix-cms","content":"## Remote Server (PROD) ## CATALOG_SRV=/var/www/site.com/public_html USER_SRV=user PORT_SRV=22 SERVER=127.0.0.1 ## Local container config ## HOST_NAME=site.com DOCUMENT_ROOT=/var/www/html ## Avalible versions: 7.3-apache 7.4-apache 8.0-apache 8.1-apache 8.2-apache 7.3-fpm 7.4-fpm 8.0-fpm 8.1-fpm 8.2-fpm ## PHP_VERSION=8.2-apache ## Avalible versions: 5.7 8.0 ## MYSQL_VERSION=8.0 ## Deploy settings ## EXCLUDED_TABLES=b_event_log,b_search_content_stem,b_search_content,b_search_content_text,b_search_content_title,b_search_phrase,b_search_suggest,b_perf_error EXCLUDED_FILES=.git,upload,bitrix/backup,bitrix/cache,bitrix/managed_cache,bitrix/stack_cache,bitrix/tmp,.env For example, if you specify site.com, the local address will be site.com.localhost (or site.com.127.0.0.1.nip.io)↩For example, for Laravel the value would be /var/www/html/public↩Required variable when using the deploy command ↩All XDebug Options https://xdebug.org/docs/all_settings#mode↩ ","version":"Next","tagName":"h2"},{"title":"Installation","type":0,"sectionRef":"#","url":"/getting-started/install","content":"","keywords":"","version":"Next"},{"title":"Installing the deb-package","type":1,"pageTitle":"Installation","url":"/getting-started/install#installing-the-deb-package","content":"Only for debian-like operating systems: debian, ubuntu, linux mint, etc. info When you install the deb package, you will immediately have access to auto-complete commands for bash and zsh.The application will be updated along with the system packages through the apt package manager. ","version":"Next","tagName":"h2"},{"title":"Removing the old version","type":1,"pageTitle":"Installation","url":"/getting-started/install#removing-the-old-version","content":"You need to uninstall the previous version if you previously had dl installed in the user's home directory via the install bash script. cd ~ && rm -rf .local/bin/dl .config/dl ","version":"Next","tagName":"h3"},{"title":"Set up the repository","type":1,"pageTitle":"Installation","url":"/getting-started/install#set-up-the-repository","content":"Before you install DL for the first time on a new machine, you need to set up the DL repository. Afterward, you can install and update DL from the repository. Update the apt package index and install packages to allow apt to use a repository over HTTPS: sudo apt update sudo apt install ca-certificates curl gnupg Add DL’s official GPG key: sudo install -m 0755 -d /etc/apt/keyrings wget -qO - https://apt.fury.io/local-deploy/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/dl.gpg > /dev/null Use the following command to set up the repository: echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/dl.gpg] https://apt.fury.io/local-deploy/ /" | sudo tee /etc/apt/sources.list.d/dl.list > /dev/null Update the apt package index and install the latest version DL: sudo apt update sudo apt install dl Run the dl command to verify that the installation was correct. If an error occurs, restart the terminal. ","version":"Next","tagName":"h3"},{"title":"File locations","type":1,"pageTitle":"Installation","url":"/getting-started/install#file-locations","content":"Executable: /usr/bin/dldocker-compose files: ~/.config/dl/templatesApplication config file: ~/.config/dl/config.yaml ","version":"Next","tagName":"h3"},{"title":"Installation in the user's home directory","type":1,"pageTitle":"Installation","url":"/getting-started/install#installation-in-the-users-home-directory","content":"For Linux and MacOS note This installation method is simpler and does not require root access, but it limits the functionality of the application. To install the DL just paste the code into the terminal and run: curl -s https://raw.githubusercontent.com/local-deploy/dl/master/install_dl.sh | bash The script will check dependencies, download and install the latest release. The executable file dl will be written to the user's home directory along the path ~/.local/bin/dl. If the directory does not exist, it will be created. On first run, docker-compose configuration files will be generated in the directory ~/.config/dl/. info During installation, the PATH global variable is checked, if the ~/.local/bin/ directory is not specified in it, the script will add the line PATH="$PATH:$HOME/.local/bin" to the .bashrc (or .zshrc) file Run the dl command to verify that the installation was correct. If an error occurs, restart the terminal. ","version":"Next","tagName":"h2"},{"title":"File locations","type":1,"pageTitle":"Installation","url":"/getting-started/install#file-locations-1","content":"Executable: ~/.local/bin/dldocker-compose files: ~/.config/dl/templates/Application config file: ~/.config/dl/config.yaml ","version":"Next","tagName":"h3"},{"title":"Manual installation","type":1,"pageTitle":"Installation","url":"/getting-started/install#manual-installation","content":" Download and unpack the latest release (tar.gz archive) from the link https://github.com/local-deploy/dl/releases For example, for MacOS, arm architecture: curl -fsSL "https://github.com/local-deploy/dl/releases/download/1.0.0/dl-1.0.0-darwin-arm64.tar.gz" -o "dl.tar.gz" tar -xzf dl.tar.gz The archive contains a binary file dl. Copy it to a folder in your home directory that contains executable files, such as ~/.local/bin or ~/bin. # linux mv dl $HOME/.local/bin/dl chmod +x "$HOME/.local/bin/dl" Run the dl command to verify that the installation was correct. If an error occurs, restart the terminal. ","version":"Next","tagName":"h2"},{"title":"Troubleshooting","type":0,"sectionRef":"#","url":"/troubleshooting","content":"","keywords":"","version":"Next"},{"title":"debug flag","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#debug-flag","content":"For any errors or malfunctions, run the command with the --debug flag. The flag enables debugging mode, in which debugging information is output to the terminal. ","version":"Next","tagName":"h2"},{"title":"mysqldump error","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#mysqldump-error","content":"When deploying the database, an error may be displayed: Table 'db.some_table' doesn't exist. Try running the mysqldump command in the console manually. If the screen shows an error like: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, ..... FROM information_schema.COLUMN_STATISTICS .... : Unknown table 'COLUMN_STATISTICS' in information_schema (1109) So you have incorrectly set the MySQL version in the .env file. The local version and the version on the server must match. The problem is solved by the additional parameter --column-statistics=0, which is automatically set when dumping if the version of mysql is 8.0 The full command that dl executes on the server can be seen in debug mode. ","version":"Next","tagName":"h2"},{"title":"Error determining hash in known_hosts","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#error-determining-hash-in-known_hosts","content":"Sometimes you may get an error when running the dl deploy command: ssh: handshake failed: knownhosts: key mismatch The error notifies that the server key is present in the ~/.ssh/known_hosts file, but the hash on the server name does not match the one specified in your SERVER variable. For example, when accessing the server via ssh, you specify the domain (ssh user@site.com), and in the .env file, in the SERVER variable, you specify the IP address. In this case, the SSH client sees the same key in the ~/.ssh/known_hosts file, but with a completely different domain hash. Try to access the server via ssh manually, with the same access that you specified in the .env file, the system should give an error and prompt you to delete the extra line. The cardinal solution to the problem, if all else fails: delete the ~/.ssh/known_hosts file. ","version":"Next","tagName":"h2"},{"title":"Known Issues","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#known-issues","content":"","version":"Next","tagName":"h2"},{"title":"Safari","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#safari","content":"On MacOS, Safari does not recognize the .localhost domain You can use the .nip.io domain to open the project. Other browsers don't have this problem. ","version":"Next","tagName":"h3"},{"title":"Docker Desktop","type":1,"pageTitle":"Troubleshooting","url":"/troubleshooting#docker-desktop","content":"On some Linux distributions, there may be an issue with service containers if Docker is installed on the Desktop edition. Now there is no solution to the problem. The only way out is to uninstall Desktop and install the Engine version. Install Docker Engine ","version":"Next","tagName":"h3"}],"options":{"languages":["en","ru"],"id":"default"}}