# Create Shared Storage service Shared Storage provides persistent file storage that can be mounted as a POSIX-compatible filesystem to your runtime services. Built on [SeaweedFS ↗](https://github.com/seaweedfs/seaweedfs), it enables reliable data persistence and sharing across services in your infrastructure. ## Create Using Zerops GUI First, set up a project in Zerops GUI and add a runtime service. Then go to the project dashboard page and choose **Add new service** in the left menu in the **Services** block. Then add a new Shared Storage service: ### Set a Hostname Enter a unique service identifier like "storage", "files" etc. Duplicate services with the same name in the same project are forbidden. #### Hostname Limitations: - Maximum 25 characters - Must contain only lowercase ASCII letters (a-z) or numbers (0-9) :::note The hostname is fixed after the service is created. It can't be changed later. ::: ### Connect to Services Select one or more project's runtime services in the Share with Services block: The new Shared Storage will be connected to the selected runtimes. :::note Runtime services can be connected and disconnected at any time even after the shared storage is created. ::: ### Choose Deployment Mode Choose between **Highly Available** (recommended for production) or **Single Container** (suitable for development) deployment. :::warning The Shared Storage deployment mode is fixed after the service is created. It can't be changed later. See [Technical Details](/shared-storage/tech-details#deployment-modes) for more information about deployment modes. ::: ### Set Auto Scaling Configuration Configure vertical auto scaling parameters to control resource allocation and costs. :::note For detailed information about auto scaling capabilities and recommendations, see [Technical Details](/shared-storage/tech-details#auto-scaling-configuration). ::: ## Create Using zCLI zCLI is the Zerops command-line tool. To create a new Shared Storage service via the command-line, follow these steps: 1. [Install & setup zCLI](/references/cli) 2. Create a project description file 3. Create a project with a runtime and a Shared Storage service ### Choose Your Runtime export const languages = [ { name: "Node.js", link: "/nodejs/how-to/shared-storage#create-nodejs-service-with-a-shared-storage-using-zcli" }, { name: "PHP", link: "/php/how-to/shared-storage#create-php-service-with-a-shared-storage-using-zcli" }, { name: "Python", link: "/python/how-to/shared-storage#create-python-service-with-a-shared-storage-using-zcli" }, { name: "Go", link: "/go/how-to/shared-storage#create-go-service-with-a-shared-storage-using-zcli" }, { name: ".NET", link: "/dotnet/how-to/shared-storage#create-dotnet-service-with-a-shared-storage-using-zcli" }, { name: "Rust", link: "/rust/how-to/shared-storage#create-rust-service-with-a-shared-storage-using-zcli" } ]