| # Install No Code Architect Toolkit with Docker |
|
|
| Installation of No Code Architect Toolkit with Docker offers the following advantages: |
| - Install No Code Architect Toolkit in a clean environment. |
| - Simplify the setup process. |
| - Avoid compatibility issues across different operating systems with Docker's consistent environment. |
|
|
| > **Info** |
| > If your domain/subdomain is already pointed to the server, start at step 2. |
| > If you have already installed Docker and Docker-Compose, start at step 3. |
|
|
| --- |
|
|
| ## 1. DNS Setup |
|
|
| Point your domain/subdomain to the server. Add an A record to route the domain/subdomain accordingly: |
|
|
| - **Type**: A |
| - **Name**: The desired domain/subdomain |
| - **IP Address**: `<IP_OF_YOUR_SERVER>` |
|
|
| --- |
|
|
| ## 2. Install Docker |
|
|
| This can vary depending on the Linux distribution used. Below are instructions for Ubuntu: |
|
|
| ### Set up Docker's APT Repository |
|
|
| ```bash |
| # Add Docker's official GPG key: |
| sudo apt-get update |
| sudo apt-get install ca-certificates curl |
| sudo install -m 0755 -d /etc/apt/keyrings |
| sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc |
| sudo chmod a+r /etc/apt/keyrings/docker.asc |
| |
| # Add the repository to APT sources: |
| echo \ |
| "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ |
| $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ |
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
| sudo apt-get update |
| ``` |
|
|
| ### Install the Docker Packages |
|
|
| ```bash |
| sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
| ``` |
|
|
| --- |
|
|
| ## 3. Create Docker Compose File |
|
|
| Create a `docker-compose.yml` file and paste the following configuration: |
|
|
| ### With SSL Support |
| Enables SSL/TLS for secure, encrypted communications. Ideal for those wanting a hands-off approach to SSL setup. |
|
|
| ```yaml |
| services: |
| traefik: |
| image: "traefik" |
| restart: unless-stopped |
| command: |
| - "--api=true" |
| - "--api.insecure=true" |
| - "--providers.docker=true" |
| - "--providers.docker.exposedbydefault=false" |
| - "--entrypoints.web.address=:80" |
| - "--entrypoints.web.http.redirections.entryPoint.to=websecure" |
| - "--entrypoints.web.http.redirections.entrypoint.scheme=https" |
| - "--entrypoints.websecure.address=:443" |
| - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true" |
| - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}" |
| - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" |
| ports: |
| - "80:80" |
| - "443:443" |
| volumes: |
| - traefik_data:/letsencrypt |
| - /var/run/docker.sock:/var/run/docker.sock:ro |
| ncat: |
| image: stephengpope/no-code-architects-toolkit:latest |
| env_file: |
| - .env |
| labels: |
| - traefik.enable=true |
| - traefik.http.routers.ncat.rule=Host(`${APP_DOMAIN}`) |
| - traefik.http.routers.ncat.tls=true |
| - traefik.http.routers.ncat.entrypoints=web,websecure |
| - traefik.http.routers.ncat.tls.certresolver=mytlschallenge |
| volumes: |
| - storage:/var/www/html/storage/app |
| - logs:/var/www/html/storage/logs |
| restart: unless-stopped |
| |
| volumes: |
| traefik_data: |
| driver: local |
| storage: |
| driver: local |
| logs: |
| driver: local |
| ``` |
|
|
| --- |
|
|
| ## 4. Create `.env` File |
|
|
| Create an `.env` file and configure it accordingly: |
|
|
| ```env |
| # The name of your application. |
| APP_NAME=NCAToolkit |
| |
| # Debug mode setting. Set to `false` for production environments. |
| APP_DEBUG=false |
| |
| # Your app's domain or subdomain, without the 'http://' or 'https://' prefix. |
| APP_DOMAIN=example.com |
| |
| # Full application URL is automatically configured; no modification required. |
| APP_URL=https://${APP_DOMAIN} |
| |
| # SSL settings |
| SSL_EMAIL=user@example.com |
| |
| # API_KEY |
| # Purpose: Used for API authentication. |
| # Requirement: Mandatory. |
| API_KEY=your_api_key_here |
| |
| # s3 Compatible Storage Env Vars |
| # |
| #S3_ACCESS_KEY=your_access_key |
| #S3_SECRET_KEY=your_secret_key |
| #S3_ENDPOINT_URL=https://your-endpoint-url |
| #S3_REGION=your-region |
| #S3_BUCKET_NAME=your-bucket-name |
| |
| |
| # Google Cloud Storage Env Variables |
| # |
| # GCP_SA_CREDENTIALS |
| # Purpose: The JSON credentials for the GCP Service Account. |
| # Requirement: Mandatory if using GCP storage. |
| #GCP_SA_CREDENTIALS=/path/to/your/gcp/service_account.json |
| |
| # GCP_BUCKET_NAME |
| # Purpose: The name of the GCP storage bucket. |
| # Requirement: Mandatory if using GCP storage. |
| #GCP_BUCKET_NAME=your_gcp_bucket_name |
| |
| # STORAGE_PATH |
| # Purpose: The base path for storage operations. |
| # Default: GCP |
| # Requirement: Optional. |
| #STORAGE_PATH=GCP |
| |
| ``` |
|
|
| --- |
|
|
| ## 5. Start Docker Compose |
|
|
| Start No Code Architect Toolkit using the following command: |
|
|
| ```bash |
| docker compose up -d |
| ``` |
|
|
| To view logs in real time: |
|
|
| ```bash |
| docker compose logs -f |
| ``` |
|
|
| To stop the containers: |
|
|
| ```bash |
| docker compose stop |
| ``` |
|
|
| To restart and reload env vars |
|
|
| # First update your .env file with the correct values |
| # Then run: |
|
|
| ```bash |
| docker compose up -d --force-recreate ncat |
| ``` |
|
|
| --- |
|
|
| ## 6. Done |
|
|
| No Code Architect Toolkit is now accessible through the specified APP_URL. For example: |
| [https://example.com](https://example.com) |
| |