Rules
• Your site can restart automatically if the server is rebooted.
• In case of reboot all the data of the site are persisted (images, user accounts, articles,
...).
• It is possible to deploy your site on several servers in parallel.
• The script must be able to function in an automated way with for only assumption
an ubuntu 20.04 LTS like OS of the target instance running an SSH daemon and
with Python installed.
• Your applications will run in separate containers that can communicate with each
other (1 process = 1 container)
• Public access to your server must be limited and secure (for example, it is not
possible to connect directly to your database from the internet).
• The services will be the different components of a WordPress to install by yourself.
For example Phpmyadmin, MySQL, ...
• You must have a docker-compose.yml.
• You will need to ensure that your SQL database works with WordPress and PHPMyAdmin.
• Your server should be able, when possible, to use TLS.
• You will need to make sure that, depending on the URL requested, your server
redirects to the correct site.
Some useful command lines...
-
Vagrant cli - vagrant init - vagrant up - vagrant ssh - vagrant halt - vagrant destroy
-
Ansible cli - ansible-galaxy init 'project_name' - ansible-playbook -i 'inventory_name' 'playbook.yml'
-
Docker cli - docker logs 'container_name' - docker exec -it 'container_name' 'command' - docker restart 'container_name'
Tips for the project :)
- Create ansible rollback playbook
- Find Vagrant ssh key
- Understand web server, proxy server
- Watch out for Docker volumes and understand how they're used
- Try out different ways of writing dockerfile commands
- Install dependencies for services (Check their official websites)
- Know that php works as a server
- Before dockerfile, try commands(to install, setup etc) on terminal to verify if it works
- Configuring is a key
- Test and Debug!