2.8 KiB
From source
Binaries
Requirements
- JDK 1.8
Build
git clone https://github.com/kamax-io/mxisd.git
cd mxisd
./gradlew build
Create a new configuration file by coping application.example.yaml
to application.yaml
and edit to your needs.
For advanced configuration, see the Configure section.
Start the server in foreground to validate the build and configuration:
java -jar build/libs/mxisd.jar
Ensure the signing key is available:
$ curl 'http://localhost:8090/_matrix/identity/api/v1/pubkey/ed25519:0'
{"public_key":"..."}
Test basic recursive lookup (requires Internet connection with access to TCP 443):
$ curl 'http://localhost:8090/_matrix/identity/api/v1/lookup?medium=email&address=mxisd-lookup-test@kamax.io'
{"address":"mxisd-lookup-test@kamax.io","medium":"email","mxid":"@mxisd-lookup-test:kamax.io",...}
If you enabled LDAP, you can also validate your config with a similar request after replacing the address
value with
something present within your LDAP
curl 'http://localhost:8090/_matrix/identity/api/v1/lookup?medium=email&address=john.doe@example.org'
If you plan on testing the integration with a homeserver, you will need to run an HTTPS reverse proxy in front of it
as the reference Home Server implementation synapse requires a HTTPS connection
to an ID server.
See the Integration section for more details.
Install
- Prepare files and directories:
# Create a dedicated user
useradd -r mxisd
# Create bin directory
mkdir /opt/mxisd
# Create config directory and set ownership
mkdir /etc/opt/mxisd
chown mxisd /etc/opt/mxisd
# Create data directory and set ownership
mkdir /var/opt/mxisd
chown mxisd /var/opt/mxisd
# Copy <repo root>/build/libs/mxisd.jar to bin directory
cp ./build/libs/mxisd.jar /opt/mxisd/
chown mxisd /opt/mxisd/mxisd.jar
chmod a+x /opt/mxisd/mxisd.jar
# Create symlink for easy exec
ln -s /opt/mxisd/mxisd.jar /usr/bin/mxisd
- Copy the sample config file
./application.example.yaml
to/etc/opt/mxisd/mxisd.yaml
, edit to your needs - Copy
<repo root>/src/systemd/mxisd.service
to/etc/systemd/system/
and edit if needed - Enable service for auto-startup
systemctl enable mxisd
- Start mxisd
systemctl start mxisd
Debian package
Requirements
- fakeroot
- dpkg-deb
Build
Build mxisd then:
./gradlew buildDeb
You will find the debian package in build/dist
Docker image
Build mxisd then:
./gradlew dockerBuild
You can run a container of the given image and test it with the following command (adapt volumes host paths):
docker run -v /data/mxisd/etc:/etc/mxisd -v /data/mxisd/var:/var/mxisd -p 8090:8090 -t kamax/mxisd:latest-dev