diff --git a/docker-compose.yml b/docker-compose.le.yml similarity index 97% rename from docker-compose.yml rename to docker-compose.le.yml index 8c6225f..90c7895 100644 --- a/docker-compose.yml +++ b/docker-compose.le.yml @@ -36,7 +36,7 @@ services: - "18089" volumes: - "monerod-data:/home/monero/.bitmonero" - environment: + labels: - "traefik.enable=true" - "traefik.http.routers.monerod.rule=(Host(`${DOMAIN}`))" - "traefik.http.routers.monerod.entrypoints=websecure" @@ -48,6 +48,7 @@ services: restart: unless-stopped watchtower: + container_name: watchtower image: containrrr/watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock @@ -56,7 +57,3 @@ services: command: --interval 360 --include-stopped volumes: monerod-data: {} - -networks: - xmrsh: - name: xmrsh diff --git a/docker-compose.nole.yml b/docker-compose.nole.yml new file mode 100644 index 0000000..5a5754d --- /dev/null +++ b/docker-compose.nole.yml @@ -0,0 +1,56 @@ +services: + traefik: + image: traefik:${TRAEFIK_TAG} + container_name: traefik + ports: + - 80:80 + - 443:443 + volumes: + - "./letsencrypt:/letsencrypt" + - "/var/run/docker.sock:/var/run/docker.sock:ro" + command: + - "--log.level=${TRAEFIK_LOGLEVEL}" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=false" + - "--entrypoints.web.address=:80" + - "--entrypoints.web.http.redirections.entryPoint.to=websecure" + - "--entrypoints.web.http.redirections.entryPoint.scheme=https" + - "--entrypoints.web.http.redirections.entrypoint.permanent=true" + - "--entrypoints.websecure.address=:443" + restart: always + monerod: + container_name: monerod + image: sethsimmons/simple-monerod:${MONEROD_TAG} + command: >- + --restricted-rpc --public-node --no-igd --no-zmq + --enable-dns-blocklist --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18089 --confirm-external-bind + --prune-blockchain + ports: + - "18080:18080" # Exposes P2P port + - "18089" + volumes: + - "monerod-data:/home/monero/.bitmonero" + labels: + - "traefik.enable=true" + - "traefik.http.routers.monerod.rule=(PathPrefix(`/`))" + - "traefik.http.routers.monerod.entrypoints=websecure" + - "traefik.http.routers.monerod.tls" + - "traefik.http.routers.monerod.service=monerod" + - "traefik.http.services.monerod.loadbalancer.server.port=18089" + - "traefik.http.middlewares.corsheader.headers.accessControlAllowOriginList=*" + - "traefik.http.routers.monerod.middlewares=corsheader" + restart: unless-stopped + + watchtower: + image: containrrr/watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + labels: + - com.centurylinklabs.watchtower.enable="false" + command: --interval 360 --include-stopped +volumes: + monerod-data: {} + +networks: + xmrsh: + name: xmrsh diff --git a/installer.sh b/installer.sh old mode 100644 new mode 100755 index 0f21acb..ac339b1 --- a/installer.sh +++ b/installer.sh @@ -91,7 +91,7 @@ check_deps() { echo -ne "${OkBullet}Checking and installing dependencies... ${Off}" for pkg in ${DEPENDENCIES[@]}; do if ! which ${pkg} >>"${XMRSH_LOG_FILE}" 2>&1; then - echo "installing ${pkg}" + install_pkg ${pkg} check_return $? fi done @@ -106,7 +106,6 @@ install_pkg() { elif grep -q "arch" /etc/os-release; then pacman -Sy --noconfirm $1 >>"${XMRSH_LOG_FILE}" 2>&1 elif grep -q "fedora" /etc/os-release; then - dnf update >>"${XMRSH_LOG_FILE}" 2>&1 dnf install -y $1 >>"${XMRSH_LOG_FILE}" 2>&1 else echo -e "${ErrBullet}Cannot detect your distribution package manager.${Off}" @@ -181,6 +180,7 @@ install_xmrsh() { start_xmrsh() { pushd "${XMRSH_DIR}" >>"${XMRSH_LOG_FILE}" 2>&1 + cp docker-compose.nole.yml docker-compose.yml ## FIXME: Temporal deploy w/o Let's Encrypt echo -ne "${OkBullet}Starting monero node... ${Off}" docker-compose pull >>"${XMRSH_LOG_FILE}" 2>&1 check_return $?