PROJECT ASYNC SET

The following is a tutorial for how I set up project ASYNC’s proof of concept

First begin by installing Ubuntu Into your PC.

Run the program and set it up, the continue by setting the ISO file, and then the bootable usb you wish to create.

Once done, simply plug the USB into the PC, adjust the boot order until the USB is higher than the harddrive, and begin the ubuntu set up

Download chrome and sigh in (you’ll need the passwords for your accounts)

Start the terminal

Type something along the lines of { Sudo apt-get}

put in your password

Run the following commands

sudo apt update
sudo apt upgrade

sudo apt install docker.io
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker

sudo docker run -d 
--name="portainer" 
--restart on-failure 
-p 9000:9000 
-p 8000:8000 
-v /var/run/docker.sock:/var/run/docker.sock 
-v portainer_data:/data 
portainer/portainer-ce:latest

Once done, you’ll need to sign into portainer. (Create the account info, or copy existing(if you already have an existing log in that you wish to use, if not just set up a new one)

If the option appears, use local.

Now to install a templates: go to

Settings>application settings> URL > (replace url with this url > https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/portainer-2.0/Template/template.json <)

Go back and install WordPress using the “stacks option”

Create new stack.

Copy: and paste:

version: "3"
services:
  database:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: wppassword
      MYSQL_DATABASE: wpdb
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppassword
    volumes:
      - mysql:/var/lib/mysql

  wordpress:
    depends_on:
      - database
    image: wordpress:latest
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: database:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppassword
      WORDPRESS_DB_NAME: wpdb
    volumes:
      ["./:/var/www/html"]
volumes:
  mysql: {}

NOTE: MAKE SURE PORT 80 IS NOT USED BY WORDPRESS, I USED PORT 8080:80, WHICH WORKED BEST FOR ME. (NGINX HAS ISSUES IF THE SAME PORT IS USED BY ANOTHER PROGRAM)

Once your stack is deployed, check it out to make sure it’s functioning. There may be issues like the error “Error connecting to database” if this issue occurs, try restarting the MYSQL database by using Portainers “restart” button.

Now install NGINX reverse proxy, which is why we replaced the URL a couple of steps back. Simply go to app templates, search for NGINX reverse proxy, (NOT nginx), and press deploy stack.

Create appropriate login for NGINX reverse proxy.

Place your domain (not any http or www, just raw domain)

NOTE: YOU WILL NEED TO PURCHASE A DOMAIN AND ROUTE YOUR DOMAIN TO YOUR PUBLIC IP ADDRESS, USUALLY THIS OPTION IS IN THE ADVANCED DNS RECORDS TAB OF YOUR DOMAIN PROVIDER IS.

Go ahead and place your local machine’s IP address, not public facing, your actual local address. For example 192.172.0.24

For port, use port 8080, or the port that you used for your WordPress (the one that I said could not be 80)

Go to the SSL tab, switch force SSL, and http/2 support ON.

SSL certificate, press drop-down and click, “request SSL certificate”

Press save.

CONCLUSION

With enough luck, the process should not take to long, and you should not find to many issues.

https://alicesupercoolarchive.com/2023/02/26/project-async-set/