thunderbird-ai-compose-server
Server for Thunderbird AI Compose plugin
This server should be run before using the Thunderbird AI Compose Thunderbird plugin. You can either selfhost this server on a VPS you own or you can run it locally on your machine.
[!IMPORTANT] I do not provide a public instance of this server for you to use nor do I provide support for selfhosting this server.
Running the server
You can either run the server directly or download a prebuilt binary from the releases page.
Running from source
- Make sure you have Go installed (version 1.25 or higher).
- Clone this repository:
bash git clone https://github.com/luciferreeves/thunderbird-ai-compose-server.git cd thunderbird-ai-compose-server - Install dependencies:
bash go mod download - Build the server:
bash go build -o thunderbird-ai-compose-server -
Run the server: Make sure to set up the environment variables as described in the Setting up the server section before running the server.
bash ./thunderbird-ai-compose-server
Running from a prebuilt binary
- Download the latest release for your operating system from the releases page.
- Make sure to set up the environment variables as described in the Setting up the server section before running the server.
- Run the binary:
bash ./thunderbird-ai-compose-server
Setting up the server
In order to setup the server, copy the .env.example file to .env and fill in the required environment variables. See the following table for details on environment variables:
| Variable | Description | Required | Default Value |
|---|---|---|---|
PORT |
The port the server will run on | ❌ | 3000 |
PROVIDER |
The AI provider to use. See Supported Providers | ❌ | Gemini |
Model |
The model to use for the selected provider. See Supported Models | ❌ | gemini-2.5-flash |
API_KEY |
The API key for the selected provider. | ✅ | N/A |
Supported Providers
| Provider | Environment Variable Value | Available |
|---|---|---|
| Gemini | gemini |
✅ |
| OpenAI | openai |
❌ |
[!NOTE] Models marked with a ❌ are not yet implemented, but are planned for future releases.
Supported Models
| Provider | Supported Models |
|---|---|
| Gemini | See here for available models. The default is gemini-2.5-flash. |
| OpenAI | Unimplemented |
Running the Server as a Service
You can run the server as a systemd service for easier management. Create a file named thunderbird-ai-compose-server.service in /etc/systemd/system/ with the following content:
[Unit]
Description=Thunderbird AI Compose Server
After=network.target
Wants=network.target
StartLimitIntervalSec=0
StartLimitBurst=3
[Service]
Type=simple
Restart=always
RestartSec=5
User=your-username
WorkingDirectory=/path/to/thunderbird-ai-compose-server
ExecStart=/path/to/thunderbird-ai-compose-server/thunderbird-ai-compose-server
EnvironmentFile=/path/to/thunderbird-ai-compose-server/.env
[Install]
WantedBy=multi-user.target
Make sure to replace your-username with your actual username and update the paths accordingly.
Then, enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable thunderbird-ai-compose-server
sudo systemctl start thunderbird-ai-compose-server
