3.2 KiB
Deploy to Huggingface Space
This repository can be deployed to a Huggingface Space. This is a free service that allows you to run a simple server in the cloud. You can use it to safely share your OpenAI API key with a friend.
1. Get an API key
- Go to OpenAI and sign up for an account. You can use a free trial key for this as long as you provide SMS verification.
2. Create an empty Huggingface Space
- Go to Huggingface and sign up for an account.
- Once logged in, create a new Space.
- Provide a name for your Space and select "Docker" as the SDK. Select "Blank" for the template.
- Click "Create Space" and wait for the Space to be created.
3. Create an empty Dockerfile
- Once your space is created, you'll see an option to "Create the Dockerfile in your browser". Click that link.
- Paste the following into the text editor and click "Save".
FROM node:18-bullseye-slim
RUN apt-get update && \
apt-get install -y git
RUN git clone https://github.com/nai-degen/oai-reverse-proxy.git /app
WORKDIR /app
RUN npm install
RUN npm run build
EXPOSE 7860
CMD [ "npm", "start" ]
- Click "Commit new file to
main
" to save the Dockerfile.
4. Set your OpenAI API key as a secret
- Click the Settings button in the top right corner of your repository.
- Scroll down to the
Repository Secrets
section and clickNew Secret
.
- Enter
OPENAI_KEY
as the name and your OpenAI API key as the value.
5. Deploy the server
- Your server should automatically deploy when you add the secret, but if not you can select
Factory Reboot
from that same Settings menu.
6. Share the link
- The Service Info section below should show the URL for your server. You can share this with anyone to safely give them access to your OpenAI API key.
- Your friend doesn't need any OpenAI API key of their own, they just need your link.
Optional
Updating the server
You can just restart your server to have it pull the latest version of the code from GitHub.
Customizing the server
The server will be started with some default configuration, but you can override it by adding a .env
file to your space. You can use Huggingface's web editor to create a new .env
file alongside your Dockerfile.
See .env.example for a list of available configuration options, which include rate limiting, request filtering, logging, and more.
After creating your .env
file, Huggingface will restart your server automatically.
Restricting access to the server
If you want to restrict access to the server, you can set a PROXY_KEY
secret. This key will need to be passed in the Authentication header of every request to the server, just like an OpenAI API key.
Add this using the same method as the OPENAI_KEY secret above. Don't add this to your .env
file because that file is public and anyone can see it.