Skip to content

Instantly share code, notes, and snippets.

@stefanpejcic
Created April 11, 2024 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stefanpejcic/0b77d4b99763a7ea37c694bf2d30ba50 to your computer and use it in GitHub Desktop.
Save stefanpejcic/0b77d4b99763a7ea37c694bf2d30ba50 to your computer and use it in GitHub Desktop.
version: '3.8'
services:
db:
image: mysql:latest
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_DATABASE: your_mysql_database_name
MYSQL_USER: your_mysql_user
MYSQL_PASSWORD: your_mysql_password
deploy:
hostname: db.example.com
resources:
limits:
cpus: '1' # Assigns 1 CPU core
memory: 1G # Assigns 1GB RAM
wordpress_php8:
depends_on:
- db_php8
- redis
image: wordpress:latest
volumes:
- wordpress_data_php8:/var/www/html
ports:
- "8001:80"
restart: always
environment:
WORDPRESS_DB_HOST: db_php8:3306
WORDPRESS_DB_USER: your_wordpress_db_user
WORDPRESS_DB_PASSWORD: your_wordpress_db_password
WORDPRESS_DB_NAME: your_wordpress_db_name
deploy:
hostname: wordpress-php8.example.com
resources:
limits:
cpus: '1' # Assigns 1 CPU core
memory: 1G # Assigns 1GB RAM
db_php8:
image: mysql:latest
volumes:
- db_data_php8:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password_php8
MYSQL_DATABASE: your_mysql_database_name_php8
MYSQL_USER: your_mysql_user_php8
MYSQL_PASSWORD: your_mysql_password_php8
deploy:
hostname: db-php8.example.com
resources:
limits:
cpus: '1' # Assigns 1 CPU core
memory: 1G # Assigns 1GB RAM
redis:
image: redis:latest
volumes:
- redis_data:/data
restart: always
deploy:
hostname: redis.example.com
resources:
limits:
cpus: '0.5' # Assigns 0.5 CPU core
memory: 512M # Assigns 512MB RAM
ssh:
image: alpine
volumes:
- db_data:/mnt/db_data
- wordpress_data_php8:/mnt/wordpress_data_php8
- redis_data:/mnt/redis_data
command: sh -c "if [ ! -z \"\$ENABLE_SSH\" ]; then apk add --no-cache openssh && ssh-keygen -A && echo 'root:your_ssh_password' | chpasswd && /usr/sbin/sshd -D; else exit 0; fi"
deploy:
hostname: ssh.example.com
resources:
limits:
cpus: '0.25' # Assigns 0.25 CPU core
memory: 128M # Assigns 128MB RAM
condition: service_healthy
volumes:
db_data:
db_data_php8:
wordpress_data_php8:
redis_data:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment