What you need
- A machine that stays on, with Docker and Docker Compose.
- A Telegram bot token from @BotFather.
- A model endpoint that speaks the OpenAI API. Any OpenAI-compatible base URL works, for example OpenAI or OpenRouter.
- Your Telegram user id as the owner. A bot such as
@userinfobotcan tell you.
Install
1
Create the bot
Talk to @BotFather and copy the token. Do not paste secrets into chat.
2
Copy the project
Clone skye-next and enter the folder.
3
Configure
Copy
.env.example to .env and fill in at least the required values below.4
Start
Run
docker compose up -d. Follow the logs with docker compose logs -f.5
Update
Pull the latest code and run
docker compose up -d --build.Required settings
At least one provider key is required. If you set an OpenRouter key with no explicit base URL,
https://openrouter.ai/api/v1 is used.
Models
Skye is provider-agnostic. Each role is a model your provider offers.If a provider rejects audio or non-PDF file parts, leave
SKYE_NATIVE_MEDIA=false (the default). Skye then transcribes audio and extracts text locally, which works with text-and-image models such as DeepSeek V4.Web chat
The browser app is optional and off until configured.
The container listens on
SKYE_WEB_HOST:SKYE_WEB_PORT (by default 127.0.0.1:8080). Put a reverse proxy in front for TLS.
Code workspace
The sandbox that runs shell and Python is off by default.
The bot container reaches the host Docker socket; the provided
compose.yaml mounts it. Commands run in throwaway containers as a non-root user with no host access. See How Skye works.
Access control
Access is deny-by-default for groups.- Direct chats are open to everyone unless banned.
- The owner is always allowed.
- A group is allowed if it is on the allowlist, or if a group admin has Skye Plus or complimentary access.
- Use
/adminin a private chat to allow or ban people and groups.
Where data lives
Settings, memories, skills, agents, automations, and web projects live in a local SQLite database (SKYE_DATABASE_PATH). Web files live under SKYE_WEB_FILES_PATH. Code workspaces live on the skye-sandbox-work Docker volume. Back up the database and those paths together.
A safe default
Keep.env out of version control, expose the web port only through a proxy, and leave the sandbox network off unless a task truly needs it.