- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Deploying No-Code Architects Toolkit API on Contabo VPS with MinIO
The No-Code Architects Toolkit API is a free, open-source solution for media processing, automation, and cloud storage integration. By deploying it on a Contabo VPS with MinIO as an S3-compatible object storage, you can create a cost-effective, self-hosted environment. Contabo’s affordable VPS plans, featuring NVMe SSDs and global data centers, are ideal for this Flask-based Python API. This guide walks you through setting up MinIO and the toolkit, designed for users with basic Linux and Docker skills.
Prerequisites
1.1 Purchase and Configure
ssh root@YOUR_VPS_IP
sudo apt-get update && sudo apt-get upgrade -y
adduser nca-user
usermod -aG sudo nca-user
ssh nca-user@YOUR_VPS_IP
Step 2: Install Docker and Dependencies
sudo apt-get update
sudo apt-get install -y docker.io docker-compose
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker nca-user
Log out and back in.
docker --version
docker run hello-world
sudo apt-get install -y git
Step 3: Install and Configure MinIO
MinIO provides S3-compatible storage for the toolkit.
mkdir -p ~/minio-data
docker run -d -p 9000:9000 -p 9001:9001 --name minio \
-v ~/minio-data:/data \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=password123 \
quay.io/minio/minio server /data --console-address ":9001"
Use a secure password instead of password123.
sudo ufw allow 9000
sudo ufw allow 9001
Step 4: Clone the Repository
cd ~
git clone
cd no-code-architects-toolkit
openssl rand -hex 16
Save as your_api_key.
nano .env
Add:
API_KEY=your_api_key
S3_ENDPOINT_URL=http://YOUR_VPS_IP:9000
S3_ACCESS_KEY=your_access_key
S3_SECRET_KEY=your_secret_key
S3_BUCKET_NAME=nca-toolkit
S3_REGION=None
LOCAL_STORAGE_PATH=/tmp
MAX_QUEUE_LENGTH=10
GUNICORN_WORKERS=4
GUNICORN_TIMEOUT=300
Save and exit.
Step 6: Build and Run the Toolkit
docker build -t no-code-architects-toolkit .
docker run -d -p 8080:8080 --name nca-toolkit \
-e API_KEY=your_api_key \
-e S3_ENDPOINT_URL=http://YOUR_VPS_IP:9000 \
-e S3_ACCESS_KEY=your_access_key \
-e S3_SECRET_KEY=your_secret_key \
-e S3_BUCKET_NAME=nca-toolkit \
-e S3_REGION=None \
-e LOCAL_STORAGE_PATH=/tmp \
-e MAX_QUEUE_LENGTH=10 \
-e GUNICORN_WORKERS=4 \
-e GUNICORN_TIMEOUT=300 \
stephengpope/no-code-architects-toolkit:latest
docker ps
docker logs nca-toolkit
sudo ufw allow 8080
Step 8: Configure Domain and SSL (Optional)
sudo apt-get install -y nginx
Configure:
sudo nano /etc/nginx/sites-available/nca-toolkit
Add:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Enable:
sudo ln -s /etc/nginx/sites-available/nca-toolkit /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
sudo apt install -y htop glances
Join the for support, courses, and networking. Contribute via GitHub by forking and submitting pull requests to the build branch.
Conclusion
Deploying the No-Code Architects Toolkit API on a Contabo VPS with MinIO offers a scalable, self-hosted solution for media processing. Contabo’s cost-effective VPS and MinIO’s S3 compatibility make it ideal for businesses and creators. Set up in under an hour, optimize with Nginx/SSL, and leverage the community for support. Start building with this free API today!
Resources:
The No-Code Architects Toolkit API is a free, open-source solution for media processing, automation, and cloud storage integration. By deploying it on a Contabo VPS with MinIO as an S3-compatible object storage, you can create a cost-effective, self-hosted environment. Contabo’s affordable VPS plans, featuring NVMe SSDs and global data centers, are ideal for this Flask-based Python API. This guide walks you through setting up MinIO and the toolkit, designed for users with basic Linux and Docker skills.
Prerequisites
- Contabo VPS: At least 4 vCPUs, 8 GB RAM, 200 GB SSD (e.g., VPS M at ~€7.99/month).
- Domain name (optional, for custom API access).
- SSH client (e.g., PuTTY, Terminal).
- Basic Linux and Docker knowledge.
- GitHub account for repository access.
- API key for toolkit authentication.
1.1 Purchase and Configure
- Visit and select a VPS plan (e.g., VPS M).
- Choose a data center (Europe, US, Asia) and Ubuntu 22.04 LTS.
- Save the emailed VPS IP, root username, and password.
- Log in to the and set a hostname (e.g., nca-toolkit-vps).
- SSH into your VPS:
ssh root@YOUR_VPS_IP
- Update packages:
sudo apt-get update && sudo apt-get upgrade -y
- Create a non-root user:
adduser nca-user
usermod -aG sudo nca-user
- Reconnect as nca-user:
ssh nca-user@YOUR_VPS_IP
Step 2: Install Docker and Dependencies
- Install Docker and Docker Compose:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose
- Start and enable Docker:
sudo systemctl start docker
sudo systemctl enable docker
- Add user to Docker group:
sudo usermod -aG docker nca-user
Log out and back in.
- Verify Docker:
docker --version
docker run hello-world
- Install Git:
sudo apt-get install -y git
Step 3: Install and Configure MinIO
MinIO provides S3-compatible storage for the toolkit.
- Create a data directory:
mkdir -p ~/minio-data
- Run MinIO:
docker run -d -p 9000:9000 -p 9001:9001 --name minio \
-v ~/minio-data:/data \
-e MINIO_ROOT_USER=admin \
-e MINIO_ROOT_PASSWORD=password123 \
quay.io/minio/minio server /data --console-address ":9001"
Use a secure password instead of password123.
Verify MinIO:
- Check container:
docker ps
- Access console at http://YOUR_VPS_IP:9001 (username: admin, password: password123).
- Configure MinIO:
- Create a bucket named nca-toolkit.
- Generate access and secret keys:
- Navigate to Users > Create User.
- Save the Access Key and Secret Key (or use admin/password123 for testing).
- Open ports:
sudo ufw allow 9000
sudo ufw allow 9001
Step 4: Clone the Repository
- Clone the toolkit:
cd ~
git clone
cd no-code-architects-toolkit
- Key files:
- Dockerfile: Builds the image.
- app.py: Flask app.
- requirements.txt: Dependencies.
- Generate an API key:
openssl rand -hex 16
Save as your_api_key.
- Set variables for MinIO:
- S3_ENDPOINT_URL: http://YOUR_VPS_IP:9000
- S3_ACCESS_KEY: MinIO access key
- S3_SECRET_KEY: MinIO secret key
- S3_BUCKET_NAME: nca-toolkit
- S3_REGION: None
- Optional: MAX_QUEUE_LENGTH=10, GUNICORN_WORKERS=4, GUNICORN_TIMEOUT=300, LOCAL_STORAGE_PATH=/tmp
- Create .env (optional):
nano .env
Add:
API_KEY=your_api_key
S3_ENDPOINT_URL=http://YOUR_VPS_IP:9000
S3_ACCESS_KEY=your_access_key
S3_SECRET_KEY=your_secret_key
S3_BUCKET_NAME=nca-toolkit
S3_REGION=None
LOCAL_STORAGE_PATH=/tmp
MAX_QUEUE_LENGTH=10
GUNICORN_WORKERS=4
GUNICORN_TIMEOUT=300
Save and exit.
Step 6: Build and Run the Toolkit
- Build the image:
docker build -t no-code-architects-toolkit .
- Run the container:
docker run -d -p 8080:8080 --name nca-toolkit \
-e API_KEY=your_api_key \
-e S3_ENDPOINT_URL=http://YOUR_VPS_IP:9000 \
-e S3_ACCESS_KEY=your_access_key \
-e S3_SECRET_KEY=your_secret_key \
-e S3_BUCKET_NAME=nca-toolkit \
-e S3_REGION=None \
-e LOCAL_STORAGE_PATH=/tmp \
-e MAX_QUEUE_LENGTH=10 \
-e GUNICORN_WORKERS=4 \
-e GUNICORN_TIMEOUT=300 \
stephengpope/no-code-architects-toolkit:latest
- Verify:
docker ps
docker logs nca-toolkit
- Open port:
sudo ufw allow 8080
Step 8: Configure Domain and SSL (Optional)
- Point domain to YOUR_VPS_IP via DNS A record.
- Install Nginx:
sudo apt-get install -y nginx
Configure:
sudo nano /etc/nginx/sites-available/nca-toolkit
Add:
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Enable:
sudo ln -s /etc/nginx/sites-available/nca-toolkit /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
- Add SSL:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
- Test: https://your_domain.com/v1/toolkit/test.
- Performance: Monitor with htop or glances:
sudo apt install -y htop glances
- Backups: Use Contabo snapshots or toolkit’s /v1/s3/upload.
- Security:
- Update: sudo apt-get update && sudo apt-get upgrade -y.
- Restrict SSH: sudo ufw allow from YOUR_IP to any port 22.
- Monitoring: Use Contabo’s API or Prometheus.
Join the for support, courses, and networking. Contribute via GitHub by forking and submitting pull requests to the build branch.
Conclusion
Deploying the No-Code Architects Toolkit API on a Contabo VPS with MinIO offers a scalable, self-hosted solution for media processing. Contabo’s cost-effective VPS and MinIO’s S3 compatibility make it ideal for businesses and creators. Set up in under an hour, optimize with Nginx/SSL, and leverage the community for support. Start building with this free API today!
Resources: