Skip to content

Instantly share code, notes, and snippets.

@washopilot
Last active March 23, 2024 20:39
Show Gist options
  • Save washopilot/f5dc807b630fb6fc1948acca5872e9e2 to your computer and use it in GitHub Desktop.
Save washopilot/f5dc807b630fb6fc1948acca5872e9e2 to your computer and use it in GitHub Desktop.
Caddy multinetworking configuration
{
email [email protected]
}
bolt.washopilot.duckdns.org {
reverse_proxy bolt-cms-site:80
}
wp1.washopilot.duckdns.org {
reverse_proxy wordpress-1:80
}
wp2.washopilot.duckdns.org {
reverse_proxy wordpress-2:80
}
version: '3'
services:
wordpress1:
image: wordpress:php8.3-apache
container_name: wordpress-1
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppassword
WORDPRESS_DB_NAME: wpdb
WORDPRESS_TABLE_PREFIX: wp1_
volumes:
- wordpress1_data:/var/www/html
networks:
- proxy-net-external
- internal1
wordpress2:
image: wordpress:php8.3-apache
container_name: wordpress-2
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: wppassword
WORDPRESS_DB_NAME: wpdb
WORDPRESS_TABLE_PREFIX: wp2_
volumes:
- wordpress2_data:/var/www/html
networks:
- proxy-net-external
- internal2
db:
image: mysql:latest
container_name: wordpress-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: wppassword
MYSQL_DATABASE: wpdb
MYSQL_USER: wpuser
MYSQL_PASSWORD: wppassword
volumes:
- wordpress_db_data:/var/lib/mysql
networks:
- internal1
- internal2
# phpmyadmin:
# image: phpmyadmin/phpmyadmin
# container_name: wordpress-phpmyadmin
# restart: always
# environment:
# PMA_HOST: db
# MYSQL_ROOT_PASSWORD: wppassword
# networks:
# - internal1
# - internal2
# - proxy-net-external
networks:
internal1:
driver: bridge
internal2:
driver: bridge
proxy-net-external:
external: true
volumes:
wordpress1_data:
wordpress2_data:
wordpress_db_data:
services:
caddy:
image: caddy:latest
container_name: caddy-proxy
restart: always
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- proxy
networks:
proxy:
name: proxy-net-external
external: false
volumes:
caddy_data:
caddy_config:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment