# Get started with Docker. Docker is the recommended way for novices to test this software, to use it first you are going to have to install a bunch of packages in the host. ## Install Docker deps in the Host. ```shell sudo apt update && \ sudo apt install docker.io redis postgresql pwgen ``` ## Configure Redis in the Host for Docker Now you are going to have to reconfigure redis to use unix sockets that you can share with redis. ```shell ( cat << 'EOF' unixsocket /var/run/redis/redis.sock unixsocketperm 777 EOF ) | sudo tee -a /etc/redis/redis.conf && \ sudo systemctl restart redis ``` ## Setup the database in the Host. ```shell ( cat << EOF create user $(whoami); create database "las_tres"; grant all privileges on database "las_tres" to $(whoami); alter database "las_tres" owner to $(whoami); EOF ) | sudo -u postgres psql ``` ## Exec the webpage using Docker. ```shell bash start_docker.sh ``` The first time you execute this the database migrations won't be applied but we are going to solve this soon. As soon as the application is already listening in the port 3000 open a new terminal and execute the following command to install the database migrations. ```shell bash install_docker.sh ``` It is very important that all the docker actions are done when the container is started otherwise they will throw error and do nothing. After the install interrupt `start_docker.sh` with control + c and start it again and the database installation will be complete. ## Creating new migrations. ```shell bash prepare_docker.sh ``` ## Upgrading the database with the new migrations. ```shell bash upgrade_docker.sh ``` ## Where are the CSS and Javascript build scripts for Docker? These scripts are not needed in Docker since Docker already does them every time you start the container, caring about changes in the Perl dependencies is also unneeded, Docker already cares for you.