Docker Compose를 이용 wordpress, owncloud 설치 SSL 인증서 적용.

출처ChatGPT

  • wordpress, owncloud 설치 및 SSL 인증서 적용을 위한 docker-compose.yml 파일작성
    (Let’s Encrypt를 사용하여 SSL 인증서 적용. 이를 위해 nginx-proxydocker-letsencrypt-nginx-proxy-companion을 사용.)
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./nginx-certs:/etc/nginx/certs
- ./nginx-vhost:/etc/nginx/vhost.d
- ./nginx-html:/usr/share/nginx/html

letsencrypt-nginx-proxy-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-proxy-letsencrypt
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./nginx-certs:/etc/nginx/certs
- ./nginx-html:/usr/share/nginx/html
environment:
NGINX_PROXY_CONTAINER: nginx-proxy

wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
environment:
WORDPRESS_DB_HOST: mysql-db
WORDPRESS_DB_USER: wordpressuser
WORDPRESS_DB_PASSWORD: wordpresspass
WORDPRESS_DB_NAME: wordpressdb
VIRTUAL_HOST: yourdomain.com
LETSENCRYPT_HOST: yourdomain.com
LETSENCRYPT_EMAIL: youremail@domain.com
volumes:
- wordpress_data:/var/www/html

owncloud:
image: owncloud:latest
container_name: owncloud
restart: always
environment:
OWNCLOUD_DB_TYPE: mysql
OWNCLOUD_DB_HOST: mysql-db
OWNCLOUD_DB_NAME: ownclouddb
OWNCLOUD_DB_USERNAME: ownclouduser
OWNCLOUD_DB_PASSWORD: owncloudpass
OWNCLOUD_ADMIN_USERNAME: admin
OWNCLOUD_ADMIN_PASSWORD: adminpassword
VIRTUAL_HOST: owncloud.yourdomain.com
LETSENCRYPT_HOST: owncloud.yourdomain.com
LETSENCRYPT_EMAIL: youremail@domain.com
volumes:
- owncloud_data:/var/www/html

mysql-db:
image: mysql:latest
container_name: mysql-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: wordpressdb
MYSQL_USER: wordpressuser
MYSQL_PASSWORD: wordpresspass
volumes:
- db_data:/var/lib/mysql

volumes:
wordpress_data:
owncloud_data:
db_data:
nginx-certs:
nginx-html:
nginx-vhost:
  • docker compose 실행
docker-compose up -d

Leave a Comment