Setup Droplet (VPS)
System Require:
- OS: Ubuntu 24.04 LTS
- CPU: 2+ cores recommended
- RAM: 1GB minimum (2GB+ recommended)
- Storage: 10GB free disk space
- Network: Internet connection
↓Auto-detect
Apache
Bash
C#
C++
CSS
CoffeeScript
Diff
Go
HTML, XML
HTTP
JSON
Java
JavaScript
Kotlin
Less
Lua
Makefile
Markdown
Nginx
Objective-C
PHP
Perl
Properties
Python
Ruby
Rust
SCSS
SQL
Shell Session
Swift
TOML, also INI
TypeScript
YAML
Plaintext
Install CMS Admin & API for Pro
Install CMS Admin & API for Beginner
1. Access to Droplet on Digital Ocean


2. Install By Bash Script
wget -O mixxai.sh https://raw.githubusercontent.com/witwork/mixxai/main/mixxai.sh && sudo bash mixxai.shwget -O mixxai.sh https://raw.githubusercontent.com/witwork/mixxai/main/mixxai.sh && sudo bash mixxai.shwget -O mixxai.sh https://raw.githubusercontent.com/witwork/mixxai/main/mixxai.sh && sudo bash mixxai.sh↓Auto-detect
Apache
Bash
C#
C++
CSS
CoffeeScript
Diff
Go
HTML, XML
HTTP
JSON
Java
JavaScript
Kotlin
Less
Lua
Makefile
Markdown
Nginx
Objective-C
PHP
Perl
Properties
Python
Ruby
Rust
SCSS
SQL
Shell Session
Swift
TOML, also INI
TypeScript
YAML
Plaintext

3. Setup SMTP & App-Specific Shared Secret

SMTP is the method for sending login OTP emails to users, in our current app, SMTP is required for users to login. You can refer to this guide to set up Gmail for SMTP:App-Specific Share Secret is the key we use to verify receipts from iOS users when they have paid through Apple's Subscription payment system. You can refer to this guide to generate the key:
SMTP and App-Specific Share Secret into the CMS Admin in upcoming updates.4. Final & Result
strapi started successfully. If you don't see this line, please contact us so we can help you with the setup.
strapi started successfully, it means the installation is complete. You should take a few more seconds to scroll to the top where the outputs will be displayed, such as the api and admin links.
Signup to Strapi & Manage Content
1. Signup
http://143.110.239.9:1337/admin. Note: 143.110.239.9 is your Droplet's IP, 1337 is your Droplet's PORT, so it might be different, not the same as in the image. After you log in to the admin, it will look like this
Let's start button. Note that you need to set email and password that meet the requirements, otherwise an error will appear and you will have to re-enter the information2. Manage Content: AI Model
Content Manager. Here I will guide you to create an API Model, which allows users to select a model and chat on the Home screen in the client side, such as the Mobile app. After you access the AI Model, select Create new entry to create a new model

title: you can set it as you wishshort_description: you can set it as you wishis_premium: this field is used to determine free or premium status. If you enable this field, users must be premium through subscription on iOS/Android to select this modelllm: This is the field where you will select openai or gemini. Currently, we basically support these two platforms, and you can request us to create a custom llm if needed (we will provide pricing information if you request us to customize llm)api_key: This api key is the field that you will need to fill in, taken from the keys of the corresponding platforms such as openai or geminiAfter you fill in all the information, click Save and Publish, so users will see the AI Model you have created
2. Manage Content: Subscription Plan

name: you can set it as you wish.bundleId: this is the subscription id created on Appstore Connect. You can refer to how to create it here: https://developer.apple.com/videos/play/tech-talks/110350/. Here I have already created it on appstore connect, you can refer to the image below
platform: you will select iOS or Android. Currently I've selected iOS, I will guide you on creating it on Android in future versionsAfter you fill in all the information, click Save and Publish, so users will see the Subscription Plan you have created
SETUP Flutter iOS & Android
1. Install Flutter
2. Setup Project
flutter pub get↓Auto-detect
Apache
Bash
C#
C++
CSS
CoffeeScript
Diff
Go
HTML, XML
HTTP
JSON
Java
JavaScript
Kotlin
Less
Lua
Makefile
Markdown
Nginx
Objective-C
PHP
Perl
Properties
Python
Ruby
Rust
SCSS
SQL
Shell Session
Swift
TOML, also INI
TypeScript
YAML
Plaintext

cd ios && pod install↓Auto-detect
Apache
Bash
C#
C++
CSS
CoffeeScript
Diff
Go
HTML, XML
HTTP
JSON
Java
JavaScript
Kotlin
Less
Lua
Makefile
Markdown
Nginx
Objective-C
PHP
Perl
Properties
Python
Ruby
Rust
SCSS
SQL
Shell Session
Swift
TOML, also INI
TypeScript
YAML
Plaintext

3. Setup baseURL
main.dart file and find the line static const String baseURL = and replace it with the API. You can get the API from the Final & Result step. In my case, it will be: http://192.168.1.100:1337/api/
4. Run Project
flutter run↓Auto-detect
Apache
Bash
C#
C++
CSS
CoffeeScript
Diff
Go
HTML, XML
HTTP
JSON
Java
JavaScript
Kotlin
Less
Lua
Makefile
Markdown
Nginx
Objective-C
PHP
Perl
Properties
Python
Ruby
Rust
SCSS
SQL
Shell Session
Swift
TOML, also INI
TypeScript
YAML
Plaintext

Contact Us
| Technical Support |
Email: hello@witworkapp.com Working Hours: Monday to Friday, 9 AM - 11 PM (GMT+7) |
| Social Media |
Twitter: @witworkapp | Facebook: @witworkapp Thread: @witworkapp | Tiktok: @wit_work_app Instagram: @witworkapp |
| Our Website | https://witworkapp.com |
| Resources | https://github.com/witwork/mixxai |