Spaces:
Running
Running
title: README | |
emoji: π | |
colorFrom: blue | |
colorTo: red | |
sdk: static | |
pinned: false | |
<div style="background-color: #2717a1; color: #f8f7fe; border-radius: 8px; padding: 0.5rem 1rem; margin-bottom: 2rem; "> | |
<span style="font-weight: 600;">Want to try out the dev mode on Hugging Face Spaces?</span> Use the "Request to join this org" button to join the waitlist. | |
</div> | |
<div style="background-color: rgb(255, 241, 209); color: rgb(90, 65, 0); border-radius: 8px; padding: 0.5rem 1rem; margin-bottom: 2rem; "> | |
<span style="font-weight: 600;">WARNING:</span> This feature is still in an <span style="font-weight: 600;">alpha stage</span>. | |
You should expect bugs and instabilities. | |
If you encounter issues with Spaces dev mode, please report them in the <a href="/spaces/dev-mode-explorers/README/discussions">Community tab</a> of this Organization card π€ | |
</div> | |
# Spaces Dev Mode (feature preview) | |
**Members of this organization have early access to the new "Dev Mode" feature on Spaces.** | |
## About Dev Mode | |
When the "Dev mode" is enabled on Space, you can connect to it using SSH or VS Code. | |
You can make changes to your application code, run some debug tools, ... | |
 | |
Changes reflect to your Space after you hit the "Refresh" button. | |
When you are done, you can persist your changes using `git` as you would normally do when developping locally. | |
## How to enable the dev mode | |
Go to your Space's settings and click on "Enable dev mode". | |
 | |
## Limitations | |
The dev mode is currently not available for static Spaces. | |
### Docker Spaces | |
Dev mode is supported for Docker Spaces. However, your Space needs to comply with the following rules for the Dev mode to work properly. | |
1. The following packages must be installed: | |
- `bash` (required to establish SSH connections) | |
- `curl`, `wget` and `procps` (required by the VS Code server process) | |
- `git` and `git-lfs` to be able to commit and push changes from your dev mode environment | |
2. Your application code must be located in the `/app` folder for the dev mode daemon to be able to detect changes. | |
3. The `/app` folder must be owned by the user with uid `1000` to allow you to make changes to the code. | |
4. The Dockerfile must contain a `CMD` instruction for startup. Checkout [Docker's documentation](https://docs.docker.com/reference/dockerfile/#cmd) about the `CMD` instruction for more details. | |
### Example of a compatible Dockerfile | |
This is an example of a Dockerfile compatible with Spaces dev mode. | |
It installs the required packages with `apt-get`, along with a couple more for developer convenience (namely: `top`, `vim` and `nano`). | |
It then starts a NodeJS application from `/app`. | |
```Dockerfile | |
FROM node:19-slim | |
RUN RUN apt-get update && \ | |
apt-get install -y \ | |
bash \ | |
git git-lfs \ | |
wget curl procps \ | |
htop vim nano && \ | |
rm -rf /var/lib/apt/lists/* | |
WORKDIR /app | |
COPY --link --chown=1000 ./ /app | |
RUN npm ci | |
CMD ["node", "index.mjs"] | |
``` | |