Tachikoma database server to be used for development
921
This will be an Email Service Provider Software suitable for use with large amounts of transactional emails.
Primary features
Possible later improvements:
Runtime requirements
Once finished it will primarily be distributed as one or more docker images, but it's nowhere near there yet. This means that all servers must be installed and configured locally (or inside a docker with port forward).
What it uses:
Setting up the development environment
Setting up the different programs necessary to develop (not run) it in IntelliJ.
** Running **
To build and start, run
./gradlew run
That will start the webpack-dev-server at port 8080 (liable to change) and the webserver (for e.g. gRPC) at port 8070.
To start the docker (with the Postfix email server), first create a file with the format
TACHIKOMA_URL=http://example.com:[email protected]:8070/
MAIL_DOMAIN_MX=false
run
docker run --name postfix -it --rm -h tachikoma-postfix \
-e TACHIKOMA_CONFIG=/etc/tachikoma.config -v $HOME/.tachikoma-postfix.config:/etc/tachikoma.config \
sourceforgery/tachikoma-postfix:<version>
E.g.
docker run --name postfix -it --rm -h tachikoma-postfix \
-e TACHIKOMA_CONFIG=/etc/tachikoma.config -v $HOME/.tachikoma-postfix.config:/etc/tachikoma.config \
sourceforgery/tachikoma-postfix:0.0.54
Recommendations
gw () { $(git rev-parse --show-toplevel)/gradlew "$@" } to avoid having to do ../../../gradlewgradlew build, gradlew clean build should not be necessary and slows down development a lot.gradle clean build is necessary,
but only in the api projects.Getting around some quirks
./gradlew build in the root (should build cleanly).Open Module Settings,
go Facets and add Kotlin Facet to all modules (and their partial modules, e.g. main and test) you're having
problems with. Problem will persist until you catch 'em all.Example /etc/systemd/system/tachikoma-postfix.service
[Unit]
Description=Tachikoma postfix
After=docker.service
Requires=docker.service
[Service]
Type=simple
Environment=name=tachikoma-postfix
Environment=mailDomain=EXAMPLE.COM
Environment=backendApiKey=XXXXXXXXXXXXXXXXX
Environment=webserverHost=TACHIKOMA-SERVER.EXAMPLE.COM
Environment=image=sourceforgery/tachikoma-postfix:VERSION
ExecStartPre=/usr/bin/docker pull ${image}
ExecStart=/usr/bin/docker run --rm=true -p 25:25 --name=${name} \
-e MAIL_DOMAIN_MX=false \
-e TACHIKOMA_URL=https://${mailDomain}:${backendApiKey}@${webserverHost} \
-v /etc/ssl/private/domainkeys:/etc/opendkim/domainkeys:ro \
${image}
ExecStop=-/usr/bin/docker stop ${name}
[Install]
WantedBy=multi-user.target
Content type
Image
Digest
Size
106.6 MB
Last updated
over 7 years ago
docker pull tobiass/tachikoma-database