diff --git a/deployment.sh b/deployment.sh new file mode 100644 index 0000000..35dfce0 --- /dev/null +++ b/deployment.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +read -p "Please enter a resolved domain name: " domain + +export APP_DOMAIN="${domain}:9000" + +if [[ $(which docker) ]]; then + echo "Docker is already installed" +else + echo "Docker is not installed, installing now..." + + sudo apt-get update + + sudo apt-get install -y \ + ca-certificates \ + curl \ + gnupg \ + lsb-release + + sudo mkdir -m 0755 -p /etc/apt/keyrings + + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + + sudo apt-get update + + sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +fi +if [[ $(which docker-compose) ]]; then + echo "Docker Compose is already installed" +else + echo "Docker Compose is not installed, installing now..." + + sudo curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + + sudo chmod +x /usr/local/bin/docker-compose +fi + +echo "Downloading configuration files..." + +sudo curl -L "https://raw.githubusercontent.com/WongSaang/chatgpt-ui/main/docker-compose.yml" -o docker-compose.yml + +echo "Starting services..." + +sudo docker-compose up -d + +echo "Done" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 15320e3..bed5b18 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,6 +13,7 @@ services: backend-wsgi-server: image: wongsaang/chatgpt-ui-wsgi-server:latest environment: + - APP_DOMAIN=${APP_DOMAIN:-localhost:9000} # - DB_URL=postgres://postgres:postgrespw@localhost:49153/chatgpt # If this parameter is not set, the built-in Sqlite will be used by default. It should be noted that if you do not connect to an external database, the data will be lost after the container is destroyed. - DJANGO_SUPERUSER_USERNAME=admin # default superuser name - DJANGO_SUPERUSER_PASSWORD=password # default superuser password