Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6cc55e8f36 | ||
|
|
b753d2ca1e | ||
|
|
1e50329c9e | ||
|
|
4942811694 | ||
|
|
59e37e0ccb | ||
|
|
20aa86d8a9 | ||
|
|
64c5ab7042 | ||
|
|
d210f5171a | ||
|
|
c7eee0f14d | ||
|
|
221753b62e | ||
|
|
d213e4d37f | ||
|
|
f8695f21d3 |
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@@ -58,13 +58,13 @@
|
|||||||
"go.useLanguageServer": true,
|
"go.useLanguageServer": true,
|
||||||
"[go]": {
|
"[go]": {
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.organizeImports": false
|
"source.organizeImports": "never"
|
||||||
},
|
},
|
||||||
"editor.snippetSuggestions": "none"
|
"editor.snippetSuggestions": "none"
|
||||||
},
|
},
|
||||||
"[go.mod]": {
|
"[go.mod]": {
|
||||||
"editor.codeActionsOnSave": {
|
"editor.codeActionsOnSave": {
|
||||||
"source.organizeImports": true
|
"source.organizeImports": "explicit"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gopls": {
|
"gopls": {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ http {
|
|||||||
server_tokens off;
|
server_tokens off;
|
||||||
tcp_nopush on;
|
tcp_nopush on;
|
||||||
types_hash_max_size 2048;
|
types_hash_max_size 2048;
|
||||||
server_names_hash_bucket_size 64;
|
server_names_hash_bucket_size 256;
|
||||||
include /etc/nginx/mime.types;
|
include /etc/nginx/mime.types;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
|||||||
@@ -1,46 +1,46 @@
|
|||||||
adrf==0.1.2
|
adrf==0.1.2
|
||||||
asgiref==3.7.2
|
asgiref==3.7.2
|
||||||
celery==5.3.5
|
celery==5.3.6
|
||||||
certifi==2023.11.17
|
certifi==2023.11.17
|
||||||
cffi==1.16.0
|
cffi==1.16.0
|
||||||
channels==4.0.0
|
channels==4.0.0
|
||||||
channels_redis==4.1.0
|
channels_redis==4.1.0
|
||||||
cryptography==41.0.7
|
cryptography==41.0.7
|
||||||
Django==4.2.7
|
Django==4.2.8
|
||||||
django-cors-headers==4.3.1
|
django-cors-headers==4.3.1
|
||||||
django-filter==23.4
|
django-filter==23.5
|
||||||
django-rest-knox==4.2.0
|
django-rest-knox==4.2.0
|
||||||
djangorestframework==3.14.0
|
djangorestframework==3.14.0
|
||||||
drf-spectacular==0.26.5
|
drf-spectacular==0.27.0
|
||||||
hiredis==2.2.3
|
hiredis==2.2.3
|
||||||
meshctrl==0.1.15
|
meshctrl==0.1.15
|
||||||
msgpack==1.0.7
|
msgpack==1.0.7
|
||||||
nats-py==2.6.0
|
nats-py==2.6.0
|
||||||
packaging==23.2
|
packaging==23.2
|
||||||
psutil==5.9.6
|
psutil==5.9.6
|
||||||
psycopg[binary]==3.1.13
|
psycopg[binary]==3.1.16
|
||||||
pycparser==2.21
|
pycparser==2.21
|
||||||
pycryptodome==3.19.0
|
pycryptodome==3.19.0
|
||||||
pyotp==2.9.0
|
pyotp==2.9.0
|
||||||
pyparsing==3.1.1
|
pyparsing==3.1.1
|
||||||
python-ipware==2.0.0
|
python-ipware==2.0.1
|
||||||
qrcode==7.4.2
|
qrcode==7.4.2
|
||||||
redis==4.5.5
|
redis==4.5.5
|
||||||
requests==2.31.0
|
requests==2.31.0
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
sqlparse==0.4.4
|
sqlparse==0.4.4
|
||||||
twilio==8.10.2
|
twilio==8.10.3
|
||||||
urllib3==2.1.0
|
urllib3==2.1.0
|
||||||
uvicorn[standard]==0.23.2
|
uvicorn[standard]==0.23.2
|
||||||
uWSGI==2.0.22
|
uWSGI==2.0.23
|
||||||
validators==0.20.0
|
validators==0.20.0
|
||||||
vine==5.1.0
|
vine==5.1.0
|
||||||
websockets==12.0
|
websockets==12.0
|
||||||
zipp==3.17.0
|
zipp==3.17.0
|
||||||
pandas==2.1.3
|
pandas==2.1.4
|
||||||
kaleido==0.2.1
|
kaleido==0.2.1
|
||||||
jinja2==3.1.2
|
jinja2==3.1.2
|
||||||
markdown==3.5.1
|
markdown==3.5.1
|
||||||
plotly==5.18.0
|
plotly==5.18.0
|
||||||
weasyprint==60.1
|
weasyprint==60.2
|
||||||
ocxsect==0.1.5
|
ocxsect==0.1.5
|
||||||
@@ -20,27 +20,27 @@ MAC_UNINSTALL = BASE_DIR / "core" / "mac_uninstall.sh"
|
|||||||
AUTH_USER_MODEL = "accounts.User"
|
AUTH_USER_MODEL = "accounts.User"
|
||||||
|
|
||||||
# latest release
|
# latest release
|
||||||
TRMM_VERSION = "0.17.2"
|
TRMM_VERSION = "0.17.3"
|
||||||
|
|
||||||
# https://github.com/amidaware/tacticalrmm-web
|
# https://github.com/amidaware/tacticalrmm-web
|
||||||
WEB_VERSION = "0.101.37"
|
WEB_VERSION = "0.101.38"
|
||||||
|
|
||||||
# bump this version everytime vue code is changed
|
# bump this version everytime vue code is changed
|
||||||
# to alert user they need to manually refresh their browser
|
# to alert user they need to manually refresh their browser
|
||||||
APP_VER = "0.0.188"
|
APP_VER = "0.0.189"
|
||||||
|
|
||||||
# https://github.com/amidaware/rmmagent
|
# https://github.com/amidaware/rmmagent
|
||||||
LATEST_AGENT_VER = "2.6.0"
|
LATEST_AGENT_VER = "2.6.1"
|
||||||
|
|
||||||
MESH_VER = "1.1.9"
|
MESH_VER = "1.1.9"
|
||||||
|
|
||||||
NATS_SERVER_VER = "2.10.5"
|
NATS_SERVER_VER = "2.10.7"
|
||||||
|
|
||||||
# for the update script, bump when need to recreate venv
|
# for the update script, bump when need to recreate venv
|
||||||
PIP_VER = "40"
|
PIP_VER = "41"
|
||||||
|
|
||||||
SETUPTOOLS_VER = "68.2.2"
|
SETUPTOOLS_VER = "69.0.2"
|
||||||
WHEEL_VER = "0.41.3"
|
WHEEL_VER = "0.42.0"
|
||||||
|
|
||||||
AGENT_BASE_URL = "https://agents.tacticalrmm.com"
|
AGENT_BASE_URL = "https://agents.tacticalrmm.com"
|
||||||
|
|
||||||
|
|||||||
39
install.sh
39
install.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
SCRIPT_VERSION="80"
|
SCRIPT_VERSION="81"
|
||||||
SCRIPT_URL="https://raw.githubusercontent.com/amidaware/tacticalrmm/master/install.sh"
|
SCRIPT_URL="https://raw.githubusercontent.com/amidaware/tacticalrmm/master/install.sh"
|
||||||
|
|
||||||
sudo apt install -y curl wget dirmngr gnupg lsb-release ca-certificates
|
sudo apt install -y curl wget dirmngr gnupg lsb-release ca-certificates
|
||||||
@@ -193,10 +193,9 @@ else
|
|||||||
done
|
done
|
||||||
CERT_PRIV_KEY=/etc/letsencrypt/live/${rootdomain}/privkey.pem
|
CERT_PRIV_KEY=/etc/letsencrypt/live/${rootdomain}/privkey.pem
|
||||||
CERT_PUB_KEY=/etc/letsencrypt/live/${rootdomain}/fullchain.pem
|
CERT_PUB_KEY=/etc/letsencrypt/live/${rootdomain}/fullchain.pem
|
||||||
|
sudo chown ${USER}:${USER} -R /etc/letsencrypt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo chown ${USER}:${USER} -R /etc/letsencrypt
|
|
||||||
|
|
||||||
print_green 'Installing Nginx'
|
print_green 'Installing Nginx'
|
||||||
|
|
||||||
sudo mkdir -p /etc/apt/keyrings
|
sudo mkdir -p /etc/apt/keyrings
|
||||||
@@ -232,7 +231,7 @@ http {
|
|||||||
sendfile on;
|
sendfile on;
|
||||||
tcp_nopush on;
|
tcp_nopush on;
|
||||||
types_hash_max_size 2048;
|
types_hash_max_size 2048;
|
||||||
server_names_hash_bucket_size 64;
|
server_names_hash_bucket_size 256;
|
||||||
include /etc/nginx/mime.types;
|
include /etc/nginx/mime.types;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
@@ -295,25 +294,25 @@ done
|
|||||||
|
|
||||||
print_green 'Creating database for trmm'
|
print_green 'Creating database for trmm'
|
||||||
|
|
||||||
sudo -u postgres psql -c "CREATE DATABASE tacticalrmm"
|
sudo -iu postgres psql -c "CREATE DATABASE tacticalrmm"
|
||||||
sudo -u postgres psql -c "CREATE USER ${pgusername} WITH PASSWORD '${pgpw}'"
|
sudo -iu postgres psql -c "CREATE USER ${pgusername} WITH PASSWORD '${pgpw}'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET client_encoding TO 'utf8'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET client_encoding TO 'utf8'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET default_transaction_isolation TO 'read committed'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET default_transaction_isolation TO 'read committed'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET timezone TO 'UTC'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET timezone TO 'UTC'"
|
||||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE tacticalrmm TO ${pgusername}"
|
sudo -iu postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE tacticalrmm TO ${pgusername}"
|
||||||
sudo -u postgres psql -c "ALTER DATABASE tacticalrmm OWNER TO ${pgusername}"
|
sudo -iu postgres psql -c "ALTER DATABASE tacticalrmm OWNER TO ${pgusername}"
|
||||||
sudo -u postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${pgusername}"
|
sudo -iu postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${pgusername}"
|
||||||
|
|
||||||
print_green 'Creating database for meshcentral'
|
print_green 'Creating database for meshcentral'
|
||||||
|
|
||||||
sudo -u postgres psql -c "CREATE DATABASE meshcentral"
|
sudo -iu postgres psql -c "CREATE DATABASE meshcentral"
|
||||||
sudo -u postgres psql -c "CREATE USER ${MESHPGUSER} WITH PASSWORD '${MESHPGPWD}'"
|
sudo -iu postgres psql -c "CREATE USER ${MESHPGUSER} WITH PASSWORD '${MESHPGPWD}'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESHPGUSER} SET client_encoding TO 'utf8'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESHPGUSER} SET client_encoding TO 'utf8'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESHPGUSER} SET default_transaction_isolation TO 'read committed'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESHPGUSER} SET default_transaction_isolation TO 'read committed'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESHPGUSER} SET timezone TO 'UTC'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESHPGUSER} SET timezone TO 'UTC'"
|
||||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE meshcentral TO ${MESHPGUSER}"
|
sudo -iu postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE meshcentral TO ${MESHPGUSER}"
|
||||||
sudo -u postgres psql -c "ALTER DATABASE meshcentral OWNER TO ${MESHPGUSER}"
|
sudo -iu postgres psql -c "ALTER DATABASE meshcentral OWNER TO ${MESHPGUSER}"
|
||||||
sudo -u postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${MESHPGUSER}"
|
sudo -iu postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${MESHPGUSER}"
|
||||||
|
|
||||||
print_green 'Cloning repos'
|
print_green 'Cloning repos'
|
||||||
|
|
||||||
|
|||||||
36
restore.sh
36
restore.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
SCRIPT_VERSION="54"
|
SCRIPT_VERSION="55"
|
||||||
SCRIPT_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/restore.sh'
|
SCRIPT_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/restore.sh'
|
||||||
|
|
||||||
sudo apt update
|
sudo apt update
|
||||||
@@ -164,7 +164,7 @@ http {
|
|||||||
sendfile on;
|
sendfile on;
|
||||||
tcp_nopush on;
|
tcp_nopush on;
|
||||||
types_hash_max_size 2048;
|
types_hash_max_size 2048;
|
||||||
server_names_hash_bucket_size 64;
|
server_names_hash_bucket_size 256;
|
||||||
include /etc/nginx/mime.types;
|
include /etc/nginx/mime.types;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
ssl_protocols TLSv1.2 TLSv1.3;
|
ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
@@ -353,14 +353,14 @@ fi
|
|||||||
|
|
||||||
print_green 'Creating MeshCentral DB'
|
print_green 'Creating MeshCentral DB'
|
||||||
|
|
||||||
sudo -u postgres psql -c "CREATE DATABASE meshcentral"
|
sudo -iu postgres psql -c "CREATE DATABASE meshcentral"
|
||||||
sudo -u postgres psql -c "CREATE USER ${MESH_POSTGRES_USER} WITH PASSWORD '${MESH_POSTGRES_PW}'"
|
sudo -iu postgres psql -c "CREATE USER ${MESH_POSTGRES_USER} WITH PASSWORD '${MESH_POSTGRES_PW}'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET client_encoding TO 'utf8'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET client_encoding TO 'utf8'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET default_transaction_isolation TO 'read committed'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET default_transaction_isolation TO 'read committed'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET timezone TO 'UTC'"
|
sudo -iu postgres psql -c "ALTER ROLE ${MESH_POSTGRES_USER} SET timezone TO 'UTC'"
|
||||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE meshcentral TO ${MESH_POSTGRES_USER}"
|
sudo -iu postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE meshcentral TO ${MESH_POSTGRES_USER}"
|
||||||
sudo -u postgres psql -c "ALTER DATABASE meshcentral OWNER TO ${MESH_POSTGRES_USER}"
|
sudo -iu postgres psql -c "ALTER DATABASE meshcentral OWNER TO ${MESH_POSTGRES_USER}"
|
||||||
sudo -u postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${MESH_POSTGRES_USER}"
|
sudo -iu postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${MESH_POSTGRES_USER}"
|
||||||
|
|
||||||
if [ "$FROM_MONGO" = true ]; then
|
if [ "$FROM_MONGO" = true ]; then
|
||||||
print_green 'Converting mesh mongo to postgres'
|
print_green 'Converting mesh mongo to postgres'
|
||||||
@@ -431,14 +431,14 @@ print_green 'Restoring the trmm database'
|
|||||||
pgusername=$(grep -w USER /rmm/api/tacticalrmm/tacticalrmm/local_settings.py | sed 's/^.*: //' | sed 's/.//' | sed -r 's/.{2}$//')
|
pgusername=$(grep -w USER /rmm/api/tacticalrmm/tacticalrmm/local_settings.py | sed 's/^.*: //' | sed 's/.//' | sed -r 's/.{2}$//')
|
||||||
pgpw=$(grep -w PASSWORD /rmm/api/tacticalrmm/tacticalrmm/local_settings.py | sed 's/^.*: //' | sed 's/.//' | sed -r 's/.{2}$//')
|
pgpw=$(grep -w PASSWORD /rmm/api/tacticalrmm/tacticalrmm/local_settings.py | sed 's/^.*: //' | sed 's/.//' | sed -r 's/.{2}$//')
|
||||||
|
|
||||||
sudo -u postgres psql -c "CREATE DATABASE tacticalrmm"
|
sudo -iu postgres psql -c "CREATE DATABASE tacticalrmm"
|
||||||
sudo -u postgres psql -c "CREATE USER ${pgusername} WITH PASSWORD '${pgpw}'"
|
sudo -iu postgres psql -c "CREATE USER ${pgusername} WITH PASSWORD '${pgpw}'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET client_encoding TO 'utf8'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET client_encoding TO 'utf8'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET default_transaction_isolation TO 'read committed'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET default_transaction_isolation TO 'read committed'"
|
||||||
sudo -u postgres psql -c "ALTER ROLE ${pgusername} SET timezone TO 'UTC'"
|
sudo -iu postgres psql -c "ALTER ROLE ${pgusername} SET timezone TO 'UTC'"
|
||||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE tacticalrmm TO ${pgusername}"
|
sudo -iu postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE tacticalrmm TO ${pgusername}"
|
||||||
sudo -u postgres psql -c "ALTER DATABASE tacticalrmm OWNER TO ${pgusername}"
|
sudo -iu postgres psql -c "ALTER DATABASE tacticalrmm OWNER TO ${pgusername}"
|
||||||
sudo -u postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${pgusername}"
|
sudo -iu postgres psql -c "GRANT USAGE, CREATE ON SCHEMA PUBLIC TO ${pgusername}"
|
||||||
|
|
||||||
gzip -d $tmp_dir/postgres/db*.psql.gz
|
gzip -d $tmp_dir/postgres/db*.psql.gz
|
||||||
PGPASSWORD=${pgpw} psql -h localhost -U ${pgusername} -d tacticalrmm -f $tmp_dir/postgres/db*.psql
|
PGPASSWORD=${pgpw} psql -h localhost -U ${pgusername} -d tacticalrmm -f $tmp_dir/postgres/db*.psql
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
SCRIPT_VERSION="149"
|
SCRIPT_VERSION="150"
|
||||||
SCRIPT_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/update.sh'
|
SCRIPT_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/update.sh'
|
||||||
LATEST_SETTINGS_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/api/tacticalrmm/tacticalrmm/settings.py'
|
LATEST_SETTINGS_URL='https://raw.githubusercontent.com/amidaware/tacticalrmm/master/api/tacticalrmm/tacticalrmm/settings.py'
|
||||||
YELLOW='\033[1;33m'
|
YELLOW='\033[1;33m'
|
||||||
@@ -186,7 +186,7 @@ if ! [[ $CHECK_NGINX_NOLIMIT ]]; then
|
|||||||
/' $nginxdefaultconf
|
/' $nginxdefaultconf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo sed -i 's/# server_names_hash_bucket_size.*/server_names_hash_bucket_size 64;/g' $nginxdefaultconf
|
sudo sed -i 's/# server_names_hash_bucket_size.*/server_names_hash_bucket_size 256;/g' $nginxdefaultconf
|
||||||
|
|
||||||
if ! sudo nginx -t >/dev/null 2>&1; then
|
if ! sudo nginx -t >/dev/null 2>&1; then
|
||||||
sudo nginx -t
|
sudo nginx -t
|
||||||
|
|||||||
Reference in New Issue
Block a user