nedávno som dokončil aplikáciu, ktorá sa skladá z Vue.js, Node.js (Express.js server), Mariadb a všetko to beží vo vlastnom docker kontajneri. Aplikáciu som presunul na server klienta, kde bude bežať a podarilo sa mi ju spustiť aj s doménou, teda na webe je pod názvom doména.niečo.sk. Problém však je že potrebujem ešte urobiť to, aby bolo HTTPS a nie len HTTP. Skúšal som už nejaké veci, ale nie úspešne a neviem čo by som ešte mohol urobiť. Priznám sa, nie som celkom doma v tomto ale na druhej strane, aspoň sa naučím
Prikladám kód z mojho docker-compose.yml súboru. časť o databáze a api som odstránil aby toho nebolo tak veľa.
Kód: Vybrať všetko
version: "3"
volumes:
dhparam:
vhostd: # configuration of hosts, written by nginx-gen, used by nginx-proxy
html: # contains .well-known directory, written by letsencrypt, served by nginx-proxy
services:
# letsencrypt pomocny kontajner
nginx-proxy-companion:
image: "jrcs/letsencrypt-nginx-proxy-companion:${NGINXPROXYLETSENCRYPTCOMPANION_TAG}"
restart: unless-stopped
volumes:
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
- vhostd:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs
- ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock:ro
depends_on:
- nginx-proxy
environment:
- "DEFAULT_EMAIL=${ADMIN_EMAIL}"
- "NGINX_DOCKER_GEN_CONTAINER=${DOCKER_GEN:-nginx-gen}"
- "NGINX_PROXY_CONTAINER=${NGINX_WEB:-nginx-web}"
logging:
driver: "json-file"
options:
max-size: "200k"
max-file: "10"
# generator konfigu pre vstupne reverzne proxy
nginx-gen:
image: "jwilder/docker-gen:${NGINXPROXY_DOCKERGEN_TAG}"
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: true
command: -notify-sighup ${COMPOSE_PROJECT_NAME}_nginx-proxy_1 -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
restart: unless-stopped
volumes:
- ${DOCKER_SOCK:-/var/run/docker.sock}:/tmp/docker.sock:ro
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d
- vhostd:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
- ${NGINX_FILES_PATH:-./data}/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro
environment:
- SSL_POLICY
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
# reverse proxy
nginx-proxy:
image: "nginx:${NGINX_TAG:-latest}"
restart: unless-stopped
ports:
- "0.0.0.0:8080:80"
- "0.0.0.0:443:443"
depends_on:
- nginx-gen
volumes:
- ${NGINX_FILES_PATH:-./data}/conf.d:/etc/nginx/conf.d:ro
- vhostd:/etc/nginx/vhost.d:ro
- html:/usr/share/nginx/html:ro
- ${NGINX_FILES_PATH:-./data}/certs:/etc/nginx/certs:ro
- ${NGINX_FILES_PATH:-./data}/htpasswd:/etc/nginx/htpasswd:ro
links:
- bozp-gui
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
# GUI kontajner (cez vstupne reverzne proxy)
bozp-gui:
build: ./bozp-gui
image: bozp-gui:latest
restart: unless-stopped
links:
- bozp-api
depends_on:
- bozp-api
environment:
- "LETSENCRYPT_HOST=${VIRTUAL_HOST}"
- "VIRTUAL_HOST=${VIRTUAL_HOST}"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "10"
Docker file pre Vue.js exposuje porty 80 a 443
Ďakujem