Skip to main content

deploy‑3dgs‑extension‑pack‑via‑script

Notice:

The currently supported operating systems that are deployed through testing using scripting include: Ubuntu 20.04, 22.04.

If you need to deploy the Mapmost Studio 3DGS extension package in other operating systems, please consult customer service.

1. Preparation

1.1 Prepare the server

Server configuration requirements are as follows:

ConfigurationConfiguration requirements
Central processing unit (CPU)8 cores or more
Graphics Processing Unit (GPU)NVIDA graphics card with computing power of 8.6 to 8.9
NVIDIA GeForce RTX3060 (minimum configuration)
Video memory8GB and above
Memory32GB and above
harddisk200GBFree (basic requirement) or SSD+200GBFree (better)

Prepare the server and accurately install the graphics card driver according to the recommended configuration, and you must provide a user with root permissions (root user, or an ordinary user who can be elevated to root permissions through the sudo command).

It is strongly recommended to use a clean server environment with no other software installed after installing the operating system to deploy the Mapmost Studio 3DGS expansion pack system!!!

To avoid various unexpected abnormal problems during deployment or use.

If there is no clean server environment, it is recommended to contact customer service to deploy the system!

1.2 Obtain the deployment package and deployment script

The deployment package of Mapmost Studio 3DGS expansion package can be purchased by contact customer service.

The deployment package is in the form of a tar compressed package, which mainly includes 3DGS modeling and service publishing functions. The naming rule is mapmost-studio-3DGS_<version>_<time>.tar, such as mapmost-studio-3DGS_v1.0_20250919.tar. The directory structure of the deployment package is as follows:

mapmost-studio-3dgs_v1.0_20250919.tar/

├── 3dgs-config.ini ← configuration file
├── 3dgs-system-deployment_v1.0.sh ← main deployment script
├── docker-install.sh ← Docker offline installation script
├── docker-packages.zip ← Docker offline package (used by docker-install.sh)
├── nvidia-container-toolkit_1.18.0-rc.3_deb_amd64.tar.gz ← NVIDIA plugin
├── mapmost-studio-3dgs-packages_v1.0_20250919.tar ← 3DGS image
├── mapmost-3dgs-autostart.sh ← 3DGS startup script

2 Upload and decompress the deployment package

2.1 Deployment package upload

Upload the deployment package to the server, for example, to the /data/usr/3DGS_packages directory:

# Create the directory
mkdir /data/usr/3dgs_packages
# Switch to the upload path
cd /data/usr/3dgs_packages
# Use the rz command or any other method to upload the deployment package
rz

Note: The upload path should avoid containing Chinese characters, spaces and other special characters;

2.2 Unzip the deployment script compressed package

# Switch to the deployment package directory
cd /data/usr/3dgs_packages
# Extract the deployment script archive
tar -xvf mapmost-studio-3dgs_v1.0_20250919.tar
# Switch to the extracted deployment package directory
cd /data/usr/3dgs_packages/mapmost-studio-3dgs_v1.0_20250919/
# Extract the Docker offline installation package
unzip docker-packages.zip
# Extract the NVIDIA plugin archive
tar -xvf nvidia-container-toolkit_1.18.0-rc.3_deb_amd64.tar.gz

3 Modify configuration information

Edit the 3DGS-config.ini configuration file in the unzipped deployment package folder to define the configuration details of the system deployment. Major changes:

  • Local IP address: host_ip = 192.168.××.××
  • Main service port: main_port = 8008
  • Non-training visualization port: vis_port = 7070
  • Training visualization start port: train_vis_start_port = 7071
  • Number of GPUs: num_gpus = 2
# Switch to the extracted deployment package directory
cd /data/usr/3dgs_packages/mapmost-studio-3dgs_v1.0_20250919/
# Edit the configuration file
vim 3dgs-config.ini

Notice:

  1. The starting port for training visualization is the starting point, and the number of GPUs determines how many ports are continuously occupied. For example, when setting the training visualization starting port to 7071 and the number of GPUs to 4, the default occupied ports are 7071, 7072, 7073, and 7074.
  2. Please make sure all ports are not occupied. It is recommended to check whether there is any conflict with the default port of each service in the configuration file before executing the deployment script.

4 Execute the automatic deployment script

You need to use the root user, or use an ordinary user who can be elevated to root privileges through the sudo command to execute the script.

# Switch to the extracted deployment package directory
cd /data/usr/3dgs_packages/mapmost-studio-3dgs_v1.0_20250919/
# Run the automatic deployment script
bash 3dgs-system-deployment_v1.0.sh

Wait for the script to finish running. Examples of the results are as follows:

🚀 Start running the 3DGS deployment script (system-3dgs-deployment_v1.0)
✅ Administrator privileges detected, continuing...
🔍 Checking whether Docker is installed...
✅ Docker is installed:Docker version 20.10.16, build aa7e414
✅ The Docker service is running
💡 Tip:Docker is ready. You can continue with:
- Install NVIDIA Container Toolkit
🔧 Checking whether NVIDIA Container Toolkit is installed...
ii nvidia-container-toolkit 1.13.3-1 amd64 NVIDIA Container toolkit
ii nvidia-container-toolkit-base 1.13.3-1 amd64 NVIDIA Container Toolkit Base
✅ NVIDIA Container Toolkit is installed
🔄 Restarting Docker to enable NVIDIA support...
📦 Loading the 3DGS image...
📁 Creating data directory /data_3dgs
✅ Data directory created
⚙️ Reading config.ini...
✅ Configuration read successfully:
Host IP: 192.168.××.××
Main service port: 8008
Visualization port: 7070
Training start port: 7071
GPU count: 2
🔁 Generating port mappings...
✅ Port mapping completed:-p 8008:8008 -p 7070:7070 -p 7071:7071 -p 7072:7072
🚀 Starting the 3DGS container...
mapmost-studio-3dgs v1 42c7bece18fb 3 days ago 24GB
📝 Command to be executed:
- Start service
- Training start port: 7071
✅ Container started successfully!Container ID: 39afa9316ee1a008fe44f56348d393b864c30386d8d5f39dd1f7ef0fc528c6e0
💡 Access URLs:
Main service: http://192.168.××.××:8008
Visualization: http://192.168.××.××:7070
🚀 Entering the container to update the configuration and start the service...
Training start port: 7071
7071
ip: 192.168.××.××
✅ config.json updated
✅ config.json updated
🟢 main_server.bin started successfully,PID: 35
📁 Log path: /workspace/main_server.dist/main_server.log
🎉 Container configuration is complete and the service has started!
💡 Tip:You can use 'docker exec -it mapmost-3dgs tail -f /workspace/main_server.dist/main_server.log' to view real-time logs
✅ Deployment script execution completed。

After the script execution is completed, please enter the following command to confirm that the service is started successfully. If a string of PID numbers representing the service process (such as 1234) is returned, it means the startup is successful:

# Check whether the service started successfully
docker exec mapmost-3dgs pgrep -f main_server.bin

5 Auto-start configuration at boot

In order to automatically start the 3DGS service after the server is restarted, the mapmost-3DGS-autostart.sh script needs to be executed after the deployment is completed:

# Switch to the extracted deployment package directory
cd /data/usr/3dgs_packages/mapmost-studio-3dgs_v1.0_20250919/
# Run the startup script
bash mapmost-3dgs-autostart.sh

Example of running results:

Created symlink /etc/systemd/system/multi-user.target.wants/mapmost-3dgs-autostart.service → /etc/systemd/system/mapmost-3dgs-autostart.service.
✅ One-click configuration completed!
📋 View logs:tail -f /var/log/mapmost-3dgs-autostart.log
🧪 Restart test:run sudo reboot, then run docker ps and docker exec mapmost-3dgs pgrep -f main_server.bin

Also use the following command to check whether the service is started successfully. If a string of PID numbers representing the service process (such as 1234) is returned, it means that the service is started successfully:

# Check whether the service started successfully
docker exec mapmost-3dgs pgrep -f main_server.bin