Deploying Multiwoven on Google Cloud Platform using Docker Compose
This guide walks you through setting up Multiwoven, on a Google Cloud Platform (GCP) Compute Engine instance using Docker Compose. We’ll cover launching the instance, installing Docker, running Multiwoven with its dependencies, and accessing the Multiwoven UI. Prerequisites:- A Google Cloud Platform account with an active project and billing enabled.
- Basic knowledge of GCP, Docker, and command-line tools.
- Docker Compose installed on your local machine.
- Open the GCP Console: https://console.cloud.google.com
- Navigate to Compute Engine: Go to the “Compute Engine” section and click on “VM Instances.”
- Create a new instance: Choose an appropriate machine type based on your workload requirements. Ubuntu is a popular choice.
- Configure your instance:
- Select a suitable boot disk size and operating system image (Ubuntu recommended).
- Enable SSH access with a strong password or SSH key.
- Configure firewall rules to allow inbound traffic on port 22 (SSH) and potentially port 8000 (Multiwoven UI, optional).
 
- Create the instance: Review your configuration and click “Create” to launch the instance.
- Get the external IP address: Once the instance is running, find its external IP address in the GCP Console.
- Connect via SSH: Use your preferred SSH client to connect to the instance:
- Update and upgrade: Run sudo apt update && sudo apt upgrade -yto ensure your system is up-to-date.
- Install Docker: Follow the official Docker installation instructions for Ubuntu: https://docs.docker.com/engine/install/
- Install Docker Compose: Download the latest version from the Docker Compose releases page and place it in a suitable directory (e.g., /usr/local/bin/docker-compose). Make the file executable:sudo chmod +x /usr/local/bin/docker-compose.
- Start and enable Docker: Run sudo systemctl start dockerandsudo systemctl enable dockerto start Docker and configure it to start automatically on boot.
docker-compose.yml file and Configure Environment:
- Download the file:
- Download the .envfile:
- Create and Configure .envFile: Renamemultiwoven/.env.exampleto.env. This file holds environment variables for various services. Replace the placeholders with your own values, including: *DB_PASSWORDandDB_USERNAMEfor your PostgreSQL database *REDIS_PASSWORDfor your Redis server * (Optional) Additional environment variables specific to your Multiwoven configuration
.env file:
multiwoven directory and run.
http://<external_ip_address>:8000 (replace <external_ip_address> with your instance’s IP address). You should now see the Multiwoven UI.
7. Stopping Multiwoven:
To stop Multiwoven, navigate to the multiwoven directory and run.
 Make sure to run the above command from the same directory where the 
docker-compose.yml file is present.Note: the frontend and backend services run on port 8000 and 3000, respectively. Make sure you update the VITE_API_HOST environment variable in the .env file to the desired backend service URL running on port 3000. 
- Depending on your firewall configuration, you might need to open port 8000 for inbound traffic.
- For production deployments, consider using a managed load balancer and a Cloud SQL database instance for better performance and scalability.