# Persistence in SciServer Containers Your Compute containers are designed to be **ephemeral**. This means that while you have a powerful environment to work in, most changes made to the system (the "root" filesystem) are reset every time you restart or launch a new container. To keep your work, configurations, and tools, you must use your **Personal Storage Folders**. ## Personal Storage Folders **If you want personal data or configurations to survive a restart, or be accessible in multiple containers at a time, they must live in your Personal Storage Folders.** Anything outside the `~/workspace/` mounted folders is reset on every new container and every container restart. To maintain a **consistent** personalized workflow, you must place your configuration files in your **personal** storage folders. These are **always available** on new containers: - `~/workspace/Storage/$SCISERVER_USER_NAME/persistent/` - `~/workspace/Temporary/$SCISERVER_USER_NAME/scratch/` ### Automating your environment: The `.bashrc` file Since the root filesystem resets, you can use a `.bashrc` file in your persistent storage to automatically load tools, environment variables, or SSH keys upon login: ```bash ~/workspace/Storage/$SCISERVER_USER/persistent/.bashrc ``` The system automatically executes this file every time a container starts, allowing you to make your environment feel permanent. See the [Shell Automation](./shell_automation.md) for more details on this. ## Persistence Recipes Depending on what you need to keep, follow the relevant guide below: | I want to persist... | Guide | Goal | | -------------------- | ----- | ---- | | **The Automation Tool** | [Shell Automation](./shell_automation.md) | Learn how to manage the `.bashrc` file itself. | | **Python Libraries** | [Python Environments](./python_environments.md) | Avoid reinstalling packages every session. | | **SSH Keys & Access** | [SSH and other configs](./identity_access.md) | Keep your SSH keys and Git (or similar) configs without re-linking. |