mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-08-17 19:35:42 +02:00
feat: add non-interactive installation parameter
This commit is contained in:
@@ -28,3 +28,10 @@ POSTGRES_HOST=db
|
||||
#
|
||||
MAX_CONCURRENCY=80
|
||||
MIN_CONCURRENCY=10
|
||||
|
||||
#
|
||||
# Rengine web interface super user (for non-interactive install)
|
||||
#
|
||||
DJANGO_SUPERUSER_USERNAME=rengine
|
||||
DJANGO_SUPERUSER_EMAIL=rengine@example.com
|
||||
DJANGO_SUPERUSER_PASSWORD=Sm7IJG.IfHAFw9snSKv
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
include .env
|
||||
.DEFAULT_GOAL:=help
|
||||
|
||||
# Credits: https://github.com/sherifabdlnaby/elastdocker/
|
||||
@@ -25,7 +26,11 @@ build: ## Build all services.
|
||||
${COMPOSE_PREFIX_CMD} docker compose ${COMPOSE_ALL_FILES} build ${SERVICES}
|
||||
|
||||
username: ## Generate Username (Use only after make up).
|
||||
${COMPOSE_PREFIX_CMD} docker compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser
|
||||
ifeq ($(isNonInteractive), true)
|
||||
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser --username ${DJANGO_SUPERUSER_USERNAME} --email ${DJANGO_SUPERUSER_EMAIL} --noinput
|
||||
else
|
||||
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser
|
||||
endif
|
||||
|
||||
changepassword: ## Change password for user
|
||||
|
||||
|
||||
@@ -318,12 +318,27 @@ screenshot: {
|
||||
git clone https://github.com/yogeshojha/rengine && cd rengine
|
||||
```
|
||||
|
||||
1. Edit the dotenv file, **please make sure to change the password for postgresql `POSTGRES_PASSWORD`!**
|
||||
1. Edit the `.env` file, **please make sure to change the password for postgresql `POSTGRES_PASSWORD`!**
|
||||
|
||||
```bash
|
||||
nano .env
|
||||
```
|
||||
|
||||
1. **Optional, only for non-interactive install**: In the `.env` file, **please make sure to change the super admin values!**
|
||||
|
||||
```bash
|
||||
DJANGO_SUPERUSER_USERNAME=yourUsername
|
||||
DJANGO_SUPERUSER_EMAIL=YourMail@example.com
|
||||
DJANGO_SUPERUSER_PASSWORD=yourStrongPassword
|
||||
```
|
||||
If you need to carry out a non-interactive installation, you can setup the login, email and password of the web interface admin directly from the .env file (instead of manually setting them from prompts during the installation process). This option can be interesting for automated installation (via ansible, vagrant, etc.).
|
||||
|
||||
`DJANGO_SUPERUSER_USERNAME`: web interface admin username (used to login to the web interface).
|
||||
|
||||
`DJANGO_SUPERUSER_EMAIL`: web interface admin email.
|
||||
|
||||
`DJANGO_SUPERUSER_PASSWORD`: web interface admin password (used to login to the web interface).
|
||||
|
||||
1. In the dotenv file, you may also modify the Scaling Configurations
|
||||
|
||||
```bash
|
||||
@@ -352,6 +367,12 @@ screenshot: {
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
Or for a non-interactive installation, use `-n` argument (make sure you've modified the `.env` file before launching the installation).
|
||||
|
||||
```bash
|
||||
sudo ./install.sh -n
|
||||
```
|
||||
|
||||
If `install.sh` does not have install permission, please change it, `chmod +x install.sh`
|
||||
|
||||
**reNgine can now be accessed from <https://127.0.0.1> or if you're on the VPS <https://your_vps_ip_address>**
|
||||
@@ -367,13 +388,11 @@ Installation instructions can be found at [https://reNgine.wiki/install/detailed
|
||||
1. Updating is as simple as running the following command:
|
||||
|
||||
```bash
|
||||
cd rengine && sudo ./update.sh
|
||||
cd rengine && sudo ./update.sh
|
||||
```
|
||||
|
||||
If `update.sh` does not have execution permissions, please change it, `sudo chmod +x update.sh`
|
||||
|
||||
**NOTE:** if you're updating from 1.3.6 and you're getting a 'password authentication failed' error, consider uninstalling 1.3.6 first, then install 2.x.x as you'd normally do.
|
||||
|
||||
### Changelog
|
||||
|
||||
[Please find the latest release notes and changelog here.](https://rengine.wiki/changelog/)
|
||||
|
||||
@@ -96,6 +96,7 @@ services:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
- POSTGRES_PORT=${POSTGRES_PORT}
|
||||
- POSTGRES_HOST=${POSTGRES_HOST}
|
||||
- DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD}
|
||||
# THIS IS A MUST FOR CHECKING UPDATE, EVERYTIME A COMMIT IS MERGED INTO
|
||||
# MASTER, UPDATE THIS!!! MAJOR.MINOR.PATCH https://semver.org/
|
||||
- RENGINE_CURRENT_VERSION='2.0.6'
|
||||
|
||||
+39
-18
@@ -1,5 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
usageFunction()
|
||||
{
|
||||
echo " "
|
||||
tput setaf 2;
|
||||
echo "Usage: $0 (-n) (-h)"
|
||||
echo -e "\t-n Non-interactive installation (Optional)"
|
||||
echo -e "\t-h Show usage"
|
||||
exit 1
|
||||
}
|
||||
|
||||
tput setaf 2;
|
||||
cat web/art/reNgine.txt
|
||||
|
||||
@@ -7,22 +17,29 @@ tput setaf 1; echo "Before running this script, please make sure Docker is runni
|
||||
tput setaf 2; echo "Changing the postgres username & password from .env is highly recommended."
|
||||
|
||||
tput setaf 4;
|
||||
read -p "Are you sure, you made changes to .env file (y/n)? " answer
|
||||
answer=$(echo $answer | tr '[:upper:]' '[:lower:]')
|
||||
case ${answer:0:1} in
|
||||
y|yes )
|
||||
echo "Continuing Installation!"
|
||||
;;
|
||||
* )
|
||||
if [ -x "$(command -v nano)" ]; then
|
||||
tput setaf 2; echo "nano already installed, skipping."
|
||||
else
|
||||
sudo apt update && sudo apt install nano -y
|
||||
tput setaf 2; echo "nano installed!!!"
|
||||
fi
|
||||
nano .env
|
||||
;;
|
||||
esac
|
||||
|
||||
isNonInteractive=false
|
||||
while getopts nh opt; do
|
||||
case $opt in
|
||||
n) isNonInteractive=true ;;
|
||||
h) usageFunction ;;
|
||||
?) usageFunction ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $isNonInteractive = false ]; then
|
||||
read -p "Are you sure, you made changes to .env file (y/n)? " answer
|
||||
case ${answer:0:1} in
|
||||
y|Y|yes|YES|Yes )
|
||||
echo "Continiuing Installation!"
|
||||
;;
|
||||
* )
|
||||
nano .env
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "Non-interactive installation parameter set. Installation begins."
|
||||
fi
|
||||
|
||||
echo " "
|
||||
tput setaf 3;
|
||||
@@ -67,6 +84,7 @@ else
|
||||
tput setaf 2; echo "Docker installed!!!"
|
||||
fi
|
||||
|
||||
|
||||
echo " "
|
||||
tput setaf 4;
|
||||
echo "#########################################################################"
|
||||
@@ -75,12 +93,13 @@ echo "#########################################################################"
|
||||
if [ -x "$(command -v docker compose)" ]; then
|
||||
tput setaf 2; echo "Docker Compose already installed, skipping."
|
||||
else
|
||||
curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||
tput setaf 2; echo "Docker Compose installed!!!"
|
||||
fi
|
||||
|
||||
|
||||
echo " "
|
||||
tput setaf 4;
|
||||
echo "#########################################################################"
|
||||
@@ -107,6 +126,8 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo " "
|
||||
tput setaf 4;
|
||||
echo "#########################################################################"
|
||||
@@ -122,7 +143,7 @@ if [ "${failed}" -eq 0 ]; then
|
||||
echo "#########################################################################"
|
||||
echo "Creating an account"
|
||||
echo "#########################################################################"
|
||||
make username
|
||||
make username isNonInteractive=$isNonInteractive
|
||||
|
||||
tput setaf 2 && printf "\n%s\n" "Thank you for installing reNgine, happy recon!!"
|
||||
echo "In case you have unapplied migrations (see above in red), run 'make migrate'"
|
||||
|
||||
Reference in New Issue
Block a user