Fixed convertdomain for listmonk and matrix

This commit is contained in:
root 2023-06-15 18:29:14 +00:00
parent db83ccbf43
commit abd621b9f8
6 changed files with 29 additions and 11 deletions

View File

@ -1,8 +1,8 @@
# Domain name # Domain name
DOMAIN="federated.sh" DOMAIN="customer1.federatedcomputer.cloud"
# Company name # Company name
COMPANY="FederatedSH Org" COMPANY="Customer1 Federated Install"
# Country Code (US, HK, GB, JP, etc) # Country Code (US, HK, GB, JP, etc)
COUNTRY="US" COUNTRY="US"

View File

@ -5,6 +5,8 @@
# Converts Federated Core services # Converts Federated Core services
# From: customer.federatedcomputer.cloud # From: customer.federatedcomputer.cloud
# To: domain.com # To: domain.com
#
# Assumes all services are currently running
. /federated/lib/functions.sh . /federated/lib/functions.sh
. /federated/bin/.env . /federated/bin/.env
@ -241,6 +243,7 @@ convert_nextcloud() {
start_service_convert "nextcloud" "nc -z $SERVICE_IP 80 &> /dev/null" start_service_convert "nextcloud" "nc -z $SERVICE_IP 80 &> /dev/null"
docker exec -it -u 33 nextcloud /var/www/html/config.sh docker exec -it -u 33 nextcloud /var/www/html/config.sh
docker exec -it -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN_NEW mail.$DOMAIN_NEW 993 ssl admin@$DOMAIN_NEW $ADMINPASS mail.$DOMAIN_NEW 465 ssl admin@$DOMAIN_NEW $ADMINPASS password" &> /dev/null
echo -ne "done." echo -ne "done."
} }
@ -252,6 +255,9 @@ convert_matrix() {
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/matrix/.env sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/matrix/.env
sed -i "s#dc=federatedcomputer,dc=cloud#dc=$DOMAIN_FIRST,dc=$DOMAIN_LAST#g" /federated/apps/matrix/data/matrix/homeserver.yaml sed -i "s#dc=federatedcomputer,dc=cloud#dc=$DOMAIN_FIRST,dc=$DOMAIN_LAST#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#server_name: \"matrix.$DOMAIN\"#server_name: \"matrix.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml sed -i "s#server_name: \"matrix.$DOMAIN\"#server_name: \"matrix.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#smtp_host: \"mail.$DOMAIN\"#smtp_host: \"mail.$DOMAIN_NEW\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#notif_from:.*#notif_from: \"Your Friendly %(app)s homeserver <matrix@matrix.$DOMAIN_NEW>\"#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#app_name:.*#app_name: $ORG_NEW Matrix Server#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#postgresql.$DOMAIN#postgresql.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml sed -i "s#postgresql.$DOMAIN#postgresql.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#ldap.$DOMAIN#ldap.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml sed -i "s#ldap.$DOMAIN#ldap.$DOMAIN_NEW#g" /federated/apps/matrix/data/matrix/homeserver.yaml
sed -i "s#$DOMAIN.crt#$DOMAIN_NEW.crt#g" /federated/apps/matrix/data/matrix/homeserver.yaml sed -i "s#$DOMAIN.crt#$DOMAIN_NEW.crt#g" /federated/apps/matrix/data/matrix/homeserver.yaml
@ -298,6 +304,11 @@ convert_listmonk() {
# Start service with command to make sure it's up before proceeding # Start service with command to make sure it's up before proceeding
start_service_convert "listmonk" "nc -z $SERVICE_IP 9000 &> /dev/null" start_service_convert "listmonk" "nc -z $SERVICE_IP 9000 &> /dev/null"
# Change app.root_url and other settings to our domain
docker exec -it postgresql psql -U listmonk -c "update settings set value='\"http://listmonk.$DOMAIN_NEW\"' where key='app.root_url'" &> /dev/null
docker exec -it postgresql psql -U listmonk -c "update settings set value='\"listmonk <listmonk@listmonk.$DOMAIN_NEW>\"' where key='app.from_email'" &> /dev/null
docker exec -it postgresql psql -U listmonk -c "update settings set value='[{\"host\": \"mail.$DOMAIN_NEW\", \"port\": 587, \"enabled\": true, \"password\": \"$ADMINPASS\", \"tls_type\": \"STARTTLS\", \"username\": \"admin\", \"max_conns\": 10, \"idle_timeout\": \"15s\", \"wait_timeout\": \"5s\", \"auth_protocol\": \"login\", \"email_headers\": [], \"hello_hostname\": \"\", \"max_msg_retries\": 2, \"tls_skip_verify\": false}, {\"host\": \"smtp.gmail.com\", \"port\": 465, \"enabled\": false, \"password\": \"password\", \"tls_type\": \"TLS\", \"username\": \"username@gmail.com\", \"max_conns\": 10, \"idle_timeout\": \"15s\", \"wait_timeout\": \"5s\", \"auth_protocol\": \"login\", \"email_headers\": [], \"hello_hostname\": \"\", \"max_msg_retries\": 2, \"tls_skip_verify\": false}]' where key='smtp';" &> /dev/null
echo -ne "done." echo -ne "done."
} }
convert_vaultwarden() { convert_vaultwarden() {
@ -340,6 +351,7 @@ convert_wireguard() {
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/.env sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/.env
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/data/config/.donoteditthisfile sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/data/config/.donoteditthisfile
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/data/config/peer1/peer1.conf sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/data/config/peer1/peer1.conf
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/wireguard/data/config/coredns/Corefile
# Grab the container IP from docker-compose # Grab the container IP from docker-compose
SERVICE_IP=`grep ipv4_address /federated/apps/wireguard/docker-compose.yml | awk '{ print $2 }'` SERVICE_IP=`grep ipv4_address /federated/apps/wireguard/docker-compose.yml | awk '{ print $2 }'`
@ -410,7 +422,7 @@ convert_caddy() {
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/caddy/docker-compose.yml sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/caddy/docker-compose.yml
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/caddy/.env sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/caddy/.env
sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/data/etc/caddy/Caddyfile sed -i "s#$DOMAIN#$DOMAIN_NEW#g" /federated/apps/caddy/data/etc/caddy/Caddyfile
# Grab the container IP from docker-compose # Grab the container IP from docker-compose
SERVICE_IP=`grep ipv4_address /federated/apps/caddy/docker-compose.yml | awk '{ print $2 }'` SERVICE_IP=`grep ipv4_address /federated/apps/caddy/docker-compose.yml | awk '{ print $2 }'`

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -x
# #
# Federated installation script # Federated installation script
@ -68,10 +68,10 @@ get_config() {
failcheck "$DOMAIN is not a valid domain.com or sub.domain.com" failcheck "$DOMAIN is not a valid domain.com or sub.domain.com"
fi fi
ADMINPASS=$(create_password); # ADMINPASS=$(create_password);
echo "$ADMINPASS" > /federated/bin/.adminpass # echo "$ADMINPASS" > /federated/bin/.adminpass
LISTMONKPASS=$(create_password); # LISTMONKPASS=$(create_password);
echo "$LISTMONKPASS" >> /federated/bin/.adminpass # echo "$LISTMONKPASS" >> /federated/bin/.adminpass
} }
while getopts d OPTION; do while getopts d OPTION; do

View File

@ -2,6 +2,7 @@
# Define all services # Define all services
SERVICES=("pdnsmysql" "pdns" "pdnsadmin" "traefik" "postgresql" "ldap" "mail" "collabora" "nextcloud" "matrix" "element" "listmonk" "vaultwarden" "panel" "wireguard" "jitsi" "baserow" "gitea" "caddy") SERVICES=("pdnsmysql" "pdns" "pdnsadmin" "traefik" "postgresql" "ldap" "mail" "collabora" "nextcloud" "matrix" "element" "listmonk" "vaultwarden" "panel" "wireguard" "jitsi" "baserow" "gitea" "caddy")
#SERVICES=("nextcloud")
fail() { fail() {
echo -ne "FAILED\n\n$1\n\n" echo -ne "FAILED\n\n$1\n\n"

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash -x
# #
# NextCloud Service # NextCloud Service
@ -66,6 +66,8 @@ networks:
EOF EOF
LDAP_SECRET=`cat /federated/apps/ldap/.ldap.secret` LDAP_SECRET=`cat /federated/apps/ldap/.ldap.secret`
NEXTCLOUD_SECRET="xXNpkqapcTgVatKlwAaqlbShswzBXplG"
ADMINPASS="uyEb34K1ABoIAF1W4h0jiWzpGJ6s0x8m"
echo "$NEXTCLOUD_SECRET" > /federated/apps/nextcloud/.postgresql.secret echo "$NEXTCLOUD_SECRET" > /federated/apps/nextcloud/.postgresql.secret
echo "$ADMINPASS" > /federated/apps/nextcloud/.nextcloud.secret echo "$ADMINPASS" > /federated/apps/nextcloud/.nextcloud.secret
@ -266,8 +268,11 @@ start_nextcloud() {
docker exec -it -u 33 nextcloud /var/www/html/config.sh &> /dev/null docker exec -it -u 33 nextcloud /var/www/html/config.sh &> /dev/null
[ $? -ne 0 ] && fail "Couldn't run config.sh inside /federated/apps/nextcloud container" [ $? -ne 0 ] && fail "Couldn't run config.sh inside /federated/apps/nextcloud container"
# Add admin user to group
docker exec -it -u 33 nextcloud /var/www/html/occ group:adduser admin admin &> /dev/null
# Setup admin email account # Setup admin email account
docker exec -it -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN mail.$DOMAIN 993 ssl admin@$DOMAIN $ADMINPASS mail.$DOMAIN 465 ssl admin@$DOMAIN $ADMINPASS password" docker exec -it -u 33 nextcloud bash -c "/var/www/html/occ mail:account:create admin admin admin@$DOMAIN mail.$DOMAIN 993 ssl admin@$DOMAIN $ADMINPASS mail.$DOMAIN 465 ssl admin@$DOMAIN $ADMINPASS password" &> /dev/null
kill -9 $SPINPID &> /dev/null kill -9 $SPINPID &> /dev/null
echo -ne "done." echo -ne "done."

View File

@ -10,7 +10,7 @@ config_wireguard() {
SPINPID=$! SPINPID=$!
if [ ! -d "/federated/apps/wireguard" ]; then if [ ! -d "/federated/apps/wireguard" ]; then
mkdir -p /federated/apps/wireguard/data/config mkdir -p /federated/apps/wireguard/data/config/coredns
fi fi
cat > /federated/apps/wireguard/docker-compose.yml <<EOF cat > /federated/apps/wireguard/docker-compose.yml <<EOF