✨ Get Started
Arona is a simple bridge for every messenger.
It exchanges messages between LINE, Telegram, Discord, and Matrix.
⚠️ Public Access From The Internet Required
To use the bridge, it's required to make the bridge can be got public access from the internet.
If you don't have a public IP address, you can use a service like ngrok or localtunnel to expose your local server to the internet.
Quick Start
Create a config.yaml
file in the root directory.
deviceName: "Arona"
http:
bindHost: 127.0.0.1
bindPort: 3000
baseUrl: "http://example.com"
bridge:
public: true
bridgeProvider:
# OpenAI
openai:
enable: false
# https://github.com/ai-tech-tw/openai
baseUrl: "https://web-tech-tw.eu.org/openai/v1"
apiKey: "YourGeminiApiKey"
chatModel: "gpt-3.5-turbo"
# LINE
line:
enable: false
channelAccessToken: "YourChannelAccessToken"
channelSecret: "YourChannelSecret"
useNotify: false
notifyClientId: "YourClientID"
notifyClientSecret: "YourClientSecret"
# Matrix
matrix:
enable: false
homeserverUrl: "https://matrix.org"
accessToken: "YourSecretAccessToken"
# Discord
discord:
enable: false
appId: "YourAppId"
botToken: "YourBotToken"
# Telegram
telegram:
enable: false
botToken: "YourBotToken"
To get detailed information about the configuration, please refer to the Configuration page.
⚠️ Public Access From The Internet Required
You must fill the
baseUrl
field in theconfig.yaml
file with the URL that can be accessed from the internet.Otherwise, the bridge will not work properly. (Throwing an error like
Error: Cannot check the heart code...
)If you don't have a public IP address, see the Localtunnel section.
Installation
To run the project, you can use Docker or run it natively.
Docker
Create a docker-compose.yml
file in the root directory.
Copy the following content to the docker-compose.yml
file.
version: 3
services:
arona:
image: ghcr.io/web-tech-tw/arona:main
ports:
- 127.0.0.1:3000:3000
volumes:
- ./config.yaml:/workplace/config.yaml:ro
restart: always
Run the following command to start the project.
docker-compose up -d
Native
Run the following commands to start the project.
Clone the repository.
git clone https://github.com/web-tech-tw/arona.git
cd arona
Install the dependencies and start the project.
npm install
npm start
Localtunnel (Optional)
If you don't have a public IP address, you can use localtunnel to expose your local server to the internet.
But when you're using Arona with docker, it might be better to use ngrok instead of localtunnel (due to no node.js required).
See the Quickstart of ngronk for more information.
To use localtunnel, run the following command in another terminal.
npx localtunnel --port 3000
You will get a URL like https://your-subdomain.loca.lt
.
Fill the baseUrl
field in the config.yaml
file with the URL.
http:
baseUrl: "https://your-subdomain.loca.lt"
Don't forget to restart the project after changing the configuration.