The Free Simple Control Panel For The Server With Multiple Apps And Domains
This tool is ideal for individuals who want a straightforward manner.
- Run multiple apps with multiple ports and dockerized Nginx.
- With domains on a single server + SSL from CDN.
- A convenient way to create, list, and remove Nginx
.conf
for each domain. - Easy to run and manage the commands on server boot and multiple SSH keys.
git clone https://github.com/tieutantan/ttcp.git && cd ttcp
Newest Version
./setup/docker.sh
Default v22 (optional)
./setup/nodejs.sh
Custom Version (optional) 23, 20, 18, 16, 14, 12
./setup/nodejs.sh 16
You can put (ex: start services, clear cache, schedule...) to startup.sh
example:
#!/bin/bash
nodemon /path/to/server.js
cd /home/www/domain.com/app && npm run production
pm2 startOrReload /path/other/ecosystem.config.js
./menu.sh
Select the desired option by entering the corresponding number and pressing Enter.
ubuntu@aws:~/ttcp$ ./menu.sh
---------------
|| TTCP MENU ||
---------------
[1] Add Domain
[2] List Domain
[3] Remove Domain
---------------
[4] Add SSH Key
[5] List SSH Keys
---------------
[6] List Clone Commands
[7] Reload Nginx
[8] Enable Auto-Run on Startup
[9] Disable Auto-Run on Startup
---------------
[98] Start TTCP
[99] Update TTCP
---------------
[0] Exit / Ctrl+C
Enter your choice: 99 (ex: Update TTCP)
- Enter a domain with the app's local port.
- The
.conf
files will be created in/ttcp/config/
directory. - File Created:
/ttcp/config/tantn.com-1111.conf
server {
client_max_body_size 200M;
server_name tantn.com;
location / {
proxy_pass http://host.docker.internal:1111;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
access_log off;
}
}
---------------------------
1 > ./github.com-39
2 > ./example.com-79
3 > ./tantn.com-68
TTCP: List 3 Domains.
---------------------------
root@tt:~/ttcp#
------------------------------------------------------
TTCP: CMD To Clone:
git clone git@repo-name:user-name/repo-name.git
------------------------------------------------------
TTCP: Your SSH Public Key:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxlYdqAchLoP2fFUBYIE/8gyZaf4vBC9
NFSPZduTGZdbkZXmW2FCEKJWpHx7h2NarSR61OFvcfpJNuFztYrsAXOFKbhTzZSHwilDhq
mci5BCRd3GbafkkwQMixJEqQHW+qSD root@nw.azure.cloud
- All keys inside
~/.ssh/ttcp_ssh_key/
/home/ubuntu/.ssh/ttcp_ssh_key/Laraker.pub
/home/ubuntu/.ssh/ttcp_ssh_key/ttcp.pub
/home/ubuntu/.ssh/ttcp_ssh_key/wxt.pub
git clone git@ttcp:tieutantan/ttcp.git
git clone git@vue:vuejs/vue.git
git clone git@kotlin:JetBrains/kotlin.git
git push -f origin master
If you run into a bug or want to work with me to improve it, please consider submitting a pull request. Your help will be much appreciated by the entire community. Thank you!