Pa11y Dashboard Project
Budget: $30 – $250 USD
I'm looking for someone to set up a Pa11y Dashboard for me, with a SSL secured basic login page, to monitor website accessibility.
Here are my detailed requirements:
The installation must be in a Digital Ocean droplet (which I will provide access to), dockerized, secure, and up to date (running Pa11y v4.2.0). The droplet will have shared CPU, 1GB / 1 CPU, 25GB SSD Disk, and 1000 GB transfer. If you find this is not adequate to complete the build, I'm open to changing size, but I am optimizing for cost on the droplet and that is a key requirement for me. DigitalOcean has a prebuilt image with Docker 23.06 on Ubuntu 22.04 (see https://marketplace.digitalocean.com/apps/docker). The freelancer will need to determine whether or not that can be used. If not, they also have an Ubuntu 22.04 LTS droplet. Either way, the freelancer will need to make sure the firewall is appropriately configured on the droplet. Digital Ocean has tutorials on how to do that see: (https://docs.digitalocean.com/products/networking/firewalls/how-to/manage-droplets/) and (https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04).
I'm including some resources here which I hope will give the selected freelancer a head start on the build and help minimize the time needed to research this.
The source code for Pa11y-dashboard can be found here: https://github.com/pa11y/pa11y-dashboard. Here is is an *out of date* containerized repo that may be a helpful reference (https://github.com/RobLoach/docker-pa11y) but the container that is built for me must have the latest pa11y-dashboard code (v4.2.0) in it. Then in front of my Pa11y dashboard, there must be an HTTPS login page. The following article describes how to add basic auth. https://kowalcj0.github.io/2020/06/02/add-basic-auth-to-pa11y/ You may be able to follow these steps, but the tutorial is only HTTP and my site login must be SSL secured for HTTPS. I'm not asking for an enterprise SSL cert, just a self-signed certificate for now. I'll likely change the login process later, but this will be perfectly fine for now.
Finally, as part of the deliverables, the developer must document (txt file is fine) the steps they went through (and tools used) to deliver this project. If I need to recreate the build later, and if I follow your steps, I should be able to recreate your work. I will test this by setting up a new droplet and walking through your steps. The document should encompass all deliverables including pa11y, login page, ssl installation, firewall setup, etc. For example:
1. Download this tool.
2. Open this window
3. Execute this command.
4. Go to digital ocean and do this.
5. Etc.
Summary of User Experience
When a user goes to the IP address for the droplet, I should see an HTTPS login page without a browser security warning. When the user enters the correct username and password (which can be updated by me) they should land on the pa11y dashboard. The only way to get to that dashboard should be through the login page. Pa11y should be functional. I will add URLs and I should see immediate results, as well as mutli-day results as expected (graph will populate). I will go through the process to test your work.
I have tried to be as specific as possible in this requirements document. Please let me know if you have any questions. I am looking to complete this build asap. Looking forward to working with you.
Here are my detailed requirements:
The installation must be in a Digital Ocean droplet (which I will provide access to), dockerized, secure, and up to date (running Pa11y v4.2.0). The droplet will have shared CPU, 1GB / 1 CPU, 25GB SSD Disk, and 1000 GB transfer. If you find this is not adequate to complete the build, I'm open to changing size, but I am optimizing for cost on the droplet and that is a key requirement for me. DigitalOcean has a prebuilt image with Docker 23.06 on Ubuntu 22.04 (see https://marketplace.digitalocean.com/apps/docker). The freelancer will need to determine whether or not that can be used. If not, they also have an Ubuntu 22.04 LTS droplet. Either way, the freelancer will need to make sure the firewall is appropriately configured on the droplet. Digital Ocean has tutorials on how to do that see: (https://docs.digitalocean.com/products/networking/firewalls/how-to/manage-droplets/) and (https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04).
I'm including some resources here which I hope will give the selected freelancer a head start on the build and help minimize the time needed to research this.
The source code for Pa11y-dashboard can be found here: https://github.com/pa11y/pa11y-dashboard. Here is is an *out of date* containerized repo that may be a helpful reference (https://github.com/RobLoach/docker-pa11y) but the container that is built for me must have the latest pa11y-dashboard code (v4.2.0) in it. Then in front of my Pa11y dashboard, there must be an HTTPS login page. The following article describes how to add basic auth. https://kowalcj0.github.io/2020/06/02/add-basic-auth-to-pa11y/ You may be able to follow these steps, but the tutorial is only HTTP and my site login must be SSL secured for HTTPS. I'm not asking for an enterprise SSL cert, just a self-signed certificate for now. I'll likely change the login process later, but this will be perfectly fine for now.
Finally, as part of the deliverables, the developer must document (txt file is fine) the steps they went through (and tools used) to deliver this project. If I need to recreate the build later, and if I follow your steps, I should be able to recreate your work. I will test this by setting up a new droplet and walking through your steps. The document should encompass all deliverables including pa11y, login page, ssl installation, firewall setup, etc. For example:
1. Download this tool.
2. Open this window
3. Execute this command.
4. Go to digital ocean and do this.
5. Etc.
Summary of User Experience
When a user goes to the IP address for the droplet, I should see an HTTPS login page without a browser security warning. When the user enters the correct username and password (which can be updated by me) they should land on the pa11y dashboard. The only way to get to that dashboard should be through the login page. Pa11y should be functional. I will add URLs and I should see immediate results, as well as mutli-day results as expected (graph will populate). I will go through the process to test your work.
I have tried to be as specific as possible in this requirements document. Please let me know if you have any questions. I am looking to complete this build asap. Looking forward to working with you.