4.5 KiB
4.5 KiB
Manual setup
These instructions describe how to install and run the bridge manually from a clone of this repository.
Minimum requirements
- Python 3.8
- Node 16.13 (not yet tested with earlier versions)
- postgresql 11 or sqlite3
- A KakaoTalk account on a smartphone (Android or iOS)
Optional requirements
- Native dependencies for end-to-bridge: https://docs.mau.fi/bridges/python/optional-dependencies.html#all-python-bridges
Initial setup
node-kakao module
cd
to thenode
directory and runnpm install
- Copy
node/example-config.json
tonode/config.json
- Edit
node/config.json
with desired settings (see node/README.md for details)
Bridge module
cd
to the repository root and create a Python virtual environment withpython3 -m venv .venv
, and enter it withsource .venv/bin/activate
- Install Python requirements:
pip install -Ur requirements.txt
for base functionalitypip install -Ur optional-requirements.txt
for end-to-bridge encryption and metrics- Note that end-to-bridge encryption requires some native dependencies. For details, see https://docs.mau.fi/bridges/python/optional-dependencies.html#all-python-bridges
- Copy
matrix_appservice_kakaotalk/example-config.yaml
toconfig.yaml
, and update it with the proper settings to connect to your homeserver- In particular, be sure to set the
rpc.connection
settings to use the socket you chose innode/config.json
- If using Postgres as your database, create a new database that can be accessed via the URI you set for it in
appservice.database
- In particular, be sure to set the
- Run
python -m matrix_appservice_kakaotalk -g
to generate an appservice registration file, and update your homeserver configuration to accept it
Running manually
- In the
node
directory, launch the node-kakao module withnode src/main.js
- In the project root directory, run the bridge module with
python -m matrix_appservice_kakaotalk
- Start a chat with the bot and use the
login <email>
command to sync your KakaoTalk account- Note that on first use, you must enter a verification code on a smartphone version of KakaoTalk in order for the login to complete
systemd
The systemd directory provides sample service unit configuration files for running the bridge & node-kakao modules:
matrix-appservice-kakao.service
for the bridge modulematrix-appservice-kakao-node.service
for the node-kakao module
To use them as-is, follow these steps after initial setup:
- Place/link your clone of this repository in
/opt/matrix-appservice-kakaotalk
- If moving your repo directory after having already created a Python virtual environment for the bridge module, re-create the virtual environment after moving to ensure its paths are up-to-date
- Alternatively, clone it to
/opt/matrix-appservice-kakaotalk
in the first place
- Install the services as either system or user units
- To install as system units:
- Copy/link the service files to a directory in the system unit search path, such as
/etc/systemd/system/
- Create the services' configuration directory with
sudo mkdir /etc/matrix-appservice-kakaotalk
- RECOMMENDED: Create the
matrix-appservice-kakaotalk
user on your system withadduser
or an equivalent command, then uncomment theUser
andGroup
lines in the service files- If creating this user, also give it write permissions on the services' configuration directory with
chgrp matrix-appservice-kakaotalk /etc/matrix-appservice-kakaotalk && chmod g+w /etc/matrix-appservice-kakaotalk
- If creating this user, also give it write permissions on the services' configuration directory with
- Copy/link the service files to a directory in the system unit search path, such as
- To install as user units:
- Copy/link the service files to a directory in the user unit search path, such as
~/.config/systemd/user
- Create the services' configuration directory with
mkdir $XDG_CONFIG_HOME/matrix-appservice-kakaotalk
- Copy/link the service files to a directory in the user unit search path, such as
- To install as system units:
- Copy/link the bridge & node-kakao module configuration files to the services' configuration directory as
config.yaml
andnode-config.json
, respectively - Start the services now and on every boot boot with
[sudo] systemd [--user] enable --now matrix-appservice-kakaotalk{,-node}
Upgrading
Simply git pull
or git rebase
the latest changes and rerun any installation commands (npm install
, pip install -Ur ...
).
Docker
Coming soon!