Install | Deploy a site | Configuration options | FAQs
Use this to setup blogs for your family or landing pages for your side-projects. (Hint: Gutenberg editor Full Site Editing is ๐ฅ)
- ๐ Easy to configure
- ๐ฐ Budget-friendly setup. Stuff as many sites as you can on your $5 server.
- โป๏ธ Automated weekly backups by email + daily backups on server (docs)
- ๐ช Firewall protection with
ufw
- โก๏ธ Pre-installs WP Super Cache for speed optimization
- ๐งช Tested on DigitalOcean
- โ Wordpress update email alerts
- ๐ฎโโ๏ธ Server monitoring with email alerts (๐จโ๐ป Coming soon)
You still need to enable disk backups with your cloud provider.
Install python3 and clone this repository.
git clone https://github.com/HashNuke/wordpress-deploy.git wordpress-deploy
cd wordpress-deploy
# ๐๐๐ Start a python virtual environment
python3 -m venv venv && source venv/bin/activate
# ๐๐๐ Ensure to run the above command.
# Install ansible. This project only needs ansible.
# Else your terminal will not find the "ansible-playbook" command.
pip3 install ansible
Please follow the same order of instructions to avoid issues.
Ensure to choose SSH key as the authentication method and add the SSH key to your local SSH key agent.
ssh-add ~/.ssh/mykey
- Domain/subdomain for the website.
- Domain/subdomain for email notifications (backup emails, alerts, etc). Add an A-record for this.
These two can be the same domain/subdomain.
cp sites/sample.yml path/to/mysite.yml
The sample config file has details about configuration options. Give it a read.
Now let's deploy this site the server example.com
. You can also use an IP address like 1.2.3.4
PLEASE do not ignore the comma. Notice the value is "example.com," in the command below.
ansible-playbook setup.yml \
-i "example.com," \
--extra-vars @/path/to/mysite.yml
The wordpress admin user will receive an email with login credentials for the admin user. This email also includes a checklist for your new site.
[IMPORTANT] If you do not find this email in your inbox, please check your spam folder. And if you still do not find it then check the instructions below the screenshot.
If you do not get an email after setting up a new site, then you can still access the password for the admin user. The default password is stored as a file on the server.
Assuming your site_name
is "mysite", your default wordpress admin password can be found at the following path on the server.
/sites/mysite/config/default-password
Copyright (C) from 2022 till date: Akash Manohar John
Check the LICENSE file for more info.