There are several types of ad blocking software available, each with its own approach to filtering out unwanted advertisements. Here are the main categories:
Browser extensions
Browser extensions are the most common type of ad blockers. They integrate directly into web browsers and filter content as pages load.
Popular examples include:
AdBlock/AdBlockPlus: owned by eyeo, which are most popular ad blocking browser extensions.
eyeo does offer Acceptable Ads program which is a paid service to allowlist some ads.
uBlock Origin: fully open source and block ads extensively without compromise.
AdGuard: Cross-platform solutions
Pros
Easy to install and use
Often free or low-cost
Can be quickly enabled/disabled with a few clicks
Regularly updated by developers
Highly customizable, allowing fine-grained control over blocked content
Can block ads http request as well as page html elements
Cons
Only work within the specific browser they’re installed in
May need to be installed separately for each browser used
Some extensions can access sensitive browsing data
Potential for ownership changes or compromised developers
Desktop applications
These are standalone programs that run independently of the browser, often blocking ads across multiple applications.
Popular examples include:
AdGuard: Cross-platform solutions. Available for Windows and Mac.
AdLock: Runs as a separate program to block ads in browsers and other applications like Skype or games.
Pros
Block ads across multiple applications, not just browsers
Often include additional security features
Can protect against malicious websites and tracking
Some offer parental control features
Cons
Require installation and configuration on each device
May need manual disabling when interfering with legitimate content
Often come with a cost for full features
Mobile Ad Blockers
Ad blocking solutions designed specifically for mobile devices:
Popular examples include:
AdGuard: Cross-platform solutions. Available for iOS and Andriod.
AdBlock Browser for Android.
Pros
Designed specifically for mobile devices
Can block ads in apps as well as browsers
Often include privacy-enhancing features
Cons
May not be as comprehensive as desktop solutions
Can be limited by mobile operating system restrictions
Some require rooting or jailbreaking for full functionality
VPN-based ad blockers
A lot of VPN services include ad blocking features as part of their offering, like ExpressVPN, NordVPN and etc. They usually block ads through network requests across different type of applications.
Pros
Block ads at the network level
Provide additional privacy and security benefits of a VPN
Work across all applications and browsers
Cons
Generally less effective at blocking ads than dedicated solutions
May slow down internet connection due to VPN routing
Often more expensive than standalone ad blockers
Browser with build-in ad blocking features
Some browsers come with built-in ad blocking capabilities:
Opera: Includes ad blocking features without the need for additional extensions
Brave: A free browser with built-in ad blocking for desktop and mobile devices
Pros
No need for additional installations
Integrated into the browser’s security features
Often optimized for performance
Cons
Usually less customizable than third-party solutions
May not be as comprehensive in ad blocking
Limited to the specific browser with built-in blocking
Docker Compose plugin (usually come with DE if using above instruction)
Run below CLI to check if everything is installed properly.
dockercomposeversion
Setup Traefik with Docker Compose
Let’s first create a folder for Traefik reverse proxy.
mkdir~/traefik&&cd~/traefik
Next we need to create network for Traefik to communicate with other containers, and it should be exposed externally.
dockercreatenetworktraefik
Now, let’s create docker-compose.yml
vidocker-compose.yml
networks:traefik:external:truevolumes:traefik-certificates:services:traefik:image:"traefik:latest"command:-"--log.level=DEBUG"-"--accesslog=true"-"--api.dashboard=true"-"--api.insecure=true"-"--ping=true"-"--ping.entrypoint=ping"-"--entryPoints.ping.address=:8082"-"--entryPoints.web.address=:80"-"--entrypoints.web.http.redirections.entrypoint.to=websecure"-"--entrypoints.web.http.redirections.entrypoint.scheme=https"-"--entryPoints.websecure.address=:443"-"--providers.docker=true"-"--providers.docker.endpoint=unix:///var/run/docker.sock"-"--providers.docker.exposedByDefault=false"-"--certificatesresolvers.letsencrypt.acme.tlschallenge=true"# For requesting dev cert (if prod cert has issue during development)# - "--certificatesresolvers.myhttpchallenge.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"-"--certificatesresolvers.letsencrypt.acme.email=admin@bill-min.com"-"--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme/acme.json"volumes:-/var/run/docker.sock:/var/run/docker.sock-traefik-certificates:/etc/traefik/acmenetworks:-traefikports:-"80:80"-"443:443"healthcheck:test:["CMD","wget","http://localhost:8082/ping","--spider"]interval:10stimeout:5sretries:3start_period:5slabels:-"traefik.enable=true"-"traefik.http.routers.dashboard.rule=Host(`traefik.your-domain.com`)"-"traefik.http.routers.dashboard.service=api@internal"-"traefik.http.routers.dashboard.entrypoints=websecure"-"traefik.http.routers.dashboard.tls=true"-"traefik.http.routers.dashboard.tls.certresolver=letsencrypt"-"traefik.http.routers.dashboard.middlewares=authtraefik"-"traefik.http.middlewares.authtraefik.basicauth.users=your_username:{SHA}your_hash"restart:unless-stopped
Above config also adds Traefik Dashboard and https with letsencrypt.
Replace your-domain with your actual domain name and setup correct DNS.
You can also check Traefik dashboard by visiting https://traefik.your-domain.com. (you will need to enter the username and password used when generating htpasswd)
Setup first wordpress site
First, we need to create an internal network for communicating between wordpress and db (MariaDB in this tutorial).
dockercreatenetworkmy-wp-1
Then lets create new folder for each site we are building.
Now we should be able to visit https://www.your-domain.com to start using WordPress.
Create more wordpress sites
Simply repeat the steps we used to create our first site to create more sites, just need to change my-wp-1 to different value in docker-compose.yml and change values in .env file then run docker compose up -d.