LasTres/DOCKER.md

1.9 KiB

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.

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.

( 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.

( 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.

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.

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.

bash prepare_docker.sh

Upgrading the database with the new migrations.

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.