mirror of
https://github.com/lalanza808/xmr.sh.git
synced 2025-05-10 21:34:59 -04:00
uninstall, local volumes
This commit is contained in:
parent
6d3b92486e
commit
8d18119be2
9 changed files with 71 additions and 42 deletions
|
@ -17,13 +17,13 @@ Other distributions with docker pre-installed would probably be compatible as we
|
||||||
- [x] Add wizard for DNS domain selection.
|
- [x] Add wizard for DNS domain selection.
|
||||||
- [x] Status and node info at finish.
|
- [x] Status and node info at finish.
|
||||||
- [x] Mainnet / Stagenet / Testnet selection
|
- [x] Mainnet / Stagenet / Testnet selection
|
||||||
- [ ] Pruning option
|
- [x] Pruning enabled
|
||||||
- [x] Clearnet TLS port selection
|
- [x] Clearnet TLS port selection
|
||||||
- [ ] Uninstall script
|
- [ ] Uninstall script
|
||||||
- [ ] Documentation
|
- [ ] Documentation
|
||||||
- [x] Make tor service optional
|
- [x] Make tor service optional
|
||||||
- [x] (Optional) block explorer
|
- [x] Block explorer (disabled)
|
||||||
- [x] Grafana dashboard
|
- [x] Grafana dashboard
|
||||||
- [ ] arm64 support for all images.
|
- [ ] arm64 support for all images.
|
||||||
- [ ] monerod-lws support.
|
- [ ] monerod-lws support
|
||||||
- [ ] monerod-proxy support.
|
- [ ] monerod-proxy support.
|
||||||
|
|
4
data/grafana/.gitignore
vendored
Normal file
4
data/grafana/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
4
data/letsencrypt/.gitignore
vendored
Normal file
4
data/letsencrypt/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
4
data/monero/.gitignore
vendored
Normal file
4
data/monero/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
4
data/prometheus/.gitignore
vendored
Normal file
4
data/prometheus/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
4
data/tor/.gitignore
vendored
Normal file
4
data/tor/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything in this directory
|
||||||
|
*
|
||||||
|
# Except this file
|
||||||
|
!.gitignore
|
|
@ -43,7 +43,7 @@ x-tor-service: &tor-service
|
||||||
environment:
|
environment:
|
||||||
MONEROD_TOR_SERVICE_HOSTS: "${TOR_HTTP_PORT}:monerod:${MONEROD_RESTRICTED_RPC_PORT}"
|
MONEROD_TOR_SERVICE_HOSTS: "${TOR_HTTP_PORT}:monerod:${MONEROD_RESTRICTED_RPC_PORT}"
|
||||||
volumes:
|
volumes:
|
||||||
- tor-keys:/var/lib/tor/hidden_service/
|
- ./data/tor:/var/lib/tor/hidden_service/
|
||||||
|
|
||||||
x-explorer-service: &explorer-service
|
x-explorer-service: &explorer-service
|
||||||
explorer:
|
explorer:
|
||||||
|
@ -51,7 +51,7 @@ x-explorer-service: &explorer-service
|
||||||
container_name: explorer
|
container_name: explorer
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- monerod-data:/home/monero/.bitmonero
|
- ./data/monero:/home/monero/.bitmonero
|
||||||
ports:
|
ports:
|
||||||
- ${EXPLORER_PORT}
|
- ${EXPLORER_PORT}
|
||||||
depends_on:
|
depends_on:
|
||||||
|
@ -77,6 +77,7 @@ x-monero-exporter-service: &monero-exporter-service
|
||||||
|
|
||||||
x-grafana-service: &grafana-service
|
x-grafana-service: &grafana-service
|
||||||
grafana:
|
grafana:
|
||||||
|
user: "1000"
|
||||||
command:
|
command:
|
||||||
- -config=/etc/grafana/grafana.ini
|
- -config=/etc/grafana/grafana.ini
|
||||||
container_name: grafana
|
container_name: grafana
|
||||||
|
@ -84,6 +85,7 @@ x-grafana-service: &grafana-service
|
||||||
ports:
|
ports:
|
||||||
- 3000
|
- 3000
|
||||||
volumes:
|
volumes:
|
||||||
|
- ./data/grafana:/var/lib/grafana
|
||||||
- ./config/grafana/grafana.ini:/etc/grafana/grafana.ini:ro
|
- ./config/grafana/grafana.ini:/etc/grafana/grafana.ini:ro
|
||||||
- ./config/grafana/provisioning:/etc/grafana/provisioning:ro
|
- ./config/grafana/provisioning:/etc/grafana/provisioning:ro
|
||||||
- ./config/grafana/dashboards:/var/lib/grafana/dashboards:ro
|
- ./config/grafana/dashboards:/var/lib/grafana/dashboards:ro
|
||||||
|
@ -103,7 +105,7 @@ x-grafana-service: &grafana-service
|
||||||
|
|
||||||
x-prometheus-service: &prometheus-service
|
x-prometheus-service: &prometheus-service
|
||||||
prometheus:
|
prometheus:
|
||||||
user: root # root user needed to use an external volume
|
user: "1000"
|
||||||
command:
|
command:
|
||||||
- --config.file=/etc/prometheus/config.yaml
|
- --config.file=/etc/prometheus/config.yaml
|
||||||
- --storage.tsdb.path=/data
|
- --storage.tsdb.path=/data
|
||||||
|
@ -111,7 +113,7 @@ x-prometheus-service: &prometheus-service
|
||||||
container_name: prometheus
|
container_name: prometheus
|
||||||
image: bitnami/prometheus:${PROMETHEUS_TAG}
|
image: bitnami/prometheus:${PROMETHEUS_TAG}
|
||||||
volumes:
|
volumes:
|
||||||
- prometheus-data:/data
|
- ./data/prometheus:/data
|
||||||
- ./config/prometheus/config.yaml:/etc/prometheus/config.yaml:ro
|
- ./config/prometheus/config.yaml:/etc/prometheus/config.yaml:ro
|
||||||
|
|
||||||
x-watchtower-service: &watchtower-service
|
x-watchtower-service: &watchtower-service
|
||||||
|
@ -132,7 +134,7 @@ services:
|
||||||
- ${TRAEFIK_HTTP_PORT}:${TRAEFIK_HTTP_PORT}
|
- ${TRAEFIK_HTTP_PORT}:${TRAEFIK_HTTP_PORT}
|
||||||
- ${TRAEFIK_TLS_PORT}:${TRAEFIK_TLS_PORT}
|
- ${TRAEFIK_TLS_PORT}:${TRAEFIK_TLS_PORT}
|
||||||
volumes:
|
volumes:
|
||||||
# - "./letsencrypt:/letsencrypt" #!le
|
- "./data/letsencrypt:/letsencrypt" #!le
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
<<: *traefik-command-nole #!traefik-command
|
<<: *traefik-command-nole #!traefik-command
|
||||||
restart: always
|
restart: always
|
||||||
|
@ -143,7 +145,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "${MONEROD_P2P_PORT}:${MONEROD_P2P_PORT}" # Exposes P2P port
|
- "${MONEROD_P2P_PORT}:${MONEROD_P2P_PORT}" # Exposes P2P port
|
||||||
volumes:
|
volumes:
|
||||||
- "monerod-data:/home/monero/.bitmonero"
|
- "./data/monero:/home/monero/.bitmonero"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
# - "traefik.http.routers.monerod.rule=(Host(`${DOMAIN}`) && PathPrefix(`/`))" #!le
|
# - "traefik.http.routers.monerod.rule=(Host(`${DOMAIN}`) && PathPrefix(`/`))" #!le
|
||||||
|
@ -163,8 +165,3 @@ services:
|
||||||
# <<: *grafana-service #!grafana
|
# <<: *grafana-service #!grafana
|
||||||
# <<: *prometheus-service #!prometheus
|
# <<: *prometheus-service #!prometheus
|
||||||
# <<: *watchtower-service #!watchtower
|
# <<: *watchtower-service #!watchtower
|
||||||
|
|
||||||
volumes:
|
|
||||||
monerod-data: {}
|
|
||||||
# tor-keys: {} #!tor
|
|
||||||
# prometheus-data: {} #!prometheus
|
|
||||||
|
|
18
install
18
install
|
@ -1,30 +1,20 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# Color Aliases #
|
# Colors #
|
||||||
################################################################
|
################################################################
|
||||||
# Reset
|
# Reset
|
||||||
Off='\033[0m' # Text Reset
|
Off='\033[0m' # Text Reset
|
||||||
|
|
||||||
# Regular Colors
|
# Regular Colors
|
||||||
Black='\033[0;30m' # Black
|
|
||||||
Red='\033[0;31m' # Red
|
Red='\033[0;31m' # Red
|
||||||
Green='\033[0;32m' # Green
|
Green='\033[0;32m' # Green
|
||||||
Yellow='\033[0;33m' # Yellow
|
Yellow='\033[0;33m' # Yellow
|
||||||
Blue='\033[0;34m' # Blue
|
|
||||||
Purple='\033[0;35m' # Purple
|
Purple='\033[0;35m' # Purple
|
||||||
Cyan='\033[0;36m' # Cyan
|
|
||||||
White='\033[0;37m' # White
|
White='\033[0;37m' # White
|
||||||
|
|
||||||
# Background
|
# Background
|
||||||
On_Black='\033[40m' # Black
|
On_Black='\033[40m' # Black
|
||||||
On_Red='\033[41m' # Red
|
|
||||||
On_Green='\033[42m' # Green
|
|
||||||
On_Yellow='\033[43m' # Yellow
|
|
||||||
On_Blue='\033[44m' # Blue
|
|
||||||
On_Purple='\033[45m' # Purple
|
|
||||||
On_Cyan='\033[46m' # Cyan
|
|
||||||
On_White='\033[47m' # White
|
|
||||||
|
|
||||||
OkBullet="${Green}${On_Black}:: ${White}${On_Black}"
|
OkBullet="${Green}${On_Black}:: ${White}${On_Black}"
|
||||||
WarnBullet="${Yellow}${On_Black}:: ${White}${On_Black}"
|
WarnBullet="${Yellow}${On_Black}:: ${White}${On_Black}"
|
||||||
|
@ -165,6 +155,7 @@ install_xmrsh() {
|
||||||
git clone -b "${XMRSH_BRANCH}" "${XMRSH_URL}" "${XMRSH_DIR}" >>"${XMRSH_LOG_FILE}" 2>&1
|
git clone -b "${XMRSH_BRANCH}" "${XMRSH_URL}" "${XMRSH_DIR}" >>"${XMRSH_LOG_FILE}" 2>&1
|
||||||
check_return $?
|
check_return $?
|
||||||
pushd "${XMRSH_DIR}" >>"${XMRSH_LOG_FILE}" 2>&1 || return
|
pushd "${XMRSH_DIR}" >>"${XMRSH_LOG_FILE}" 2>&1 || return
|
||||||
|
chown -R "1000:1000" ./data
|
||||||
else
|
else
|
||||||
echo -e "${Ok}"
|
echo -e "${Ok}"
|
||||||
echo -e "${WarnBullet}Warning: xmr.sh already present in ${XMRSH_DIR}" #FIXME: This should exit, when uninstall script ready
|
echo -e "${WarnBullet}Warning: xmr.sh already present in ${XMRSH_DIR}" #FIXME: This should exit, when uninstall script ready
|
||||||
|
@ -405,7 +396,8 @@ configure_tls_port
|
||||||
configure_cors
|
configure_cors
|
||||||
|
|
||||||
configure_tor
|
configure_tor
|
||||||
configure_explorer
|
# Deployment of explorer disabled until it's stable.
|
||||||
|
# configure_explorer
|
||||||
configure_watchtower
|
configure_watchtower
|
||||||
configure_grafana
|
configure_grafana
|
||||||
# configure_lws
|
# configure_lws
|
||||||
|
|
50
uninstall
50
uninstall
|
@ -1,30 +1,20 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# Color Aliases #
|
# Colors #
|
||||||
################################################################
|
################################################################
|
||||||
# Reset
|
# Reset
|
||||||
Off='\033[0m' # Text Reset
|
Off='\033[0m' # Text Reset
|
||||||
|
|
||||||
# Regular Colors
|
# Regular Colors
|
||||||
Black='\033[0;30m' # Black
|
|
||||||
Red='\033[0;31m' # Red
|
Red='\033[0;31m' # Red
|
||||||
Green='\033[0;32m' # Green
|
Green='\033[0;32m' # Green
|
||||||
Yellow='\033[0;33m' # Yellow
|
Yellow='\033[0;33m' # Yellow
|
||||||
Blue='\033[0;34m' # Blue
|
|
||||||
Purple='\033[0;35m' # Purple
|
Purple='\033[0;35m' # Purple
|
||||||
Cyan='\033[0;36m' # Cyan
|
|
||||||
White='\033[0;37m' # White
|
White='\033[0;37m' # White
|
||||||
|
|
||||||
# Background
|
# Background
|
||||||
On_Black='\033[40m' # Black
|
On_Black='\033[40m' # Black
|
||||||
On_Red='\033[41m' # Red
|
|
||||||
On_Green='\033[42m' # Green
|
|
||||||
On_Yellow='\033[43m' # Yellow
|
|
||||||
On_Blue='\033[44m' # Blue
|
|
||||||
On_Purple='\033[45m' # Purple
|
|
||||||
On_Cyan='\033[46m' # Cyan
|
|
||||||
On_White='\033[47m' # White
|
|
||||||
|
|
||||||
OkBullet="${Green}${On_Black}:: ${White}${On_Black}"
|
OkBullet="${Green}${On_Black}:: ${White}${On_Black}"
|
||||||
WarnBullet="${Yellow}${On_Black}:: ${White}${On_Black}"
|
WarnBullet="${Yellow}${On_Black}:: ${White}${On_Black}"
|
||||||
|
@ -32,19 +22,49 @@ ErrBullet="${Red}${On_Black}:: ${White}${On_Black}"
|
||||||
Ok="${Green}${On_Black} ok.${Off}"
|
Ok="${Green}${On_Black} ok.${Off}"
|
||||||
Fail="${Red}${On_Black} failed!${Off}"
|
Fail="${Red}${On_Black} failed!${Off}"
|
||||||
Nok="${Yellow}${On_Black} nok.${Off}"
|
Nok="${Yellow}${On_Black} nok.${Off}"
|
||||||
Stat="${Purple}${On_Black}"
|
|
||||||
StatInfo="${White}${On_Black}"
|
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# Vars #
|
# Vars #
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
XMRSH_DIR="/opt/xmr.sh"
|
XMRSH_DIR="/opt/xmr.sh"
|
||||||
|
XMRSH_LOG_FILE="/tmp/xmr.sh-$(date +%Y%m%d-%H%M%S).log"
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# Functions #
|
# Functions #
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
# TBD
|
check_return() {
|
||||||
|
if [ "$1" -ne 0 ]; then
|
||||||
|
echo -e "${Fail}"
|
||||||
|
echo -e "${ErrBullet}Installation failed. Check the logs in ${XMRSH_LOG_FILE}${Off}"
|
||||||
|
exit "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall() {
|
||||||
|
pushd $XMRSH_DIR || check_return $?
|
||||||
|
echo -e "${OkBullet}Uninstalling xmr.sh..."
|
||||||
|
docker-compose down >>"${XMRSH_LOG_FILE}" 2>&1
|
||||||
|
check_return $?
|
||||||
|
while true; do
|
||||||
|
read -r -e -p " Do you want to keep the data directory with the blockchain and other data files? [y/n]: " yn
|
||||||
|
case $yn in
|
||||||
|
[Yy]*)
|
||||||
|
rm -rf !("data")
|
||||||
|
check_return $?
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
[Nn]*)
|
||||||
|
popd || check_return $?
|
||||||
|
rm -rf ./*
|
||||||
|
check_return $?
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*) echo " Please answer yes or no." ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
echo -e "${OkBullet}Uninstall complete."
|
||||||
|
}
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue