You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://github.com/commandlinecoding/elephant/actions)
Elephant – a privacy-first, open-source messaging application made with Go and Flutter. Elephant supports secure authentication, user discovery, and real-time chat over WebSocket, with all communication TLS-protected between client and server.
| Backend | Go (chi, pgx, gorilla/websocket, golang-jwt, argon2) |
18
+
| Mobile | Flutter (http, web_socket_channel, provider, sqflite) |
19
+
| Database | PostgreSQL 16 |
20
+
| CI/CD | GitHub Actions, Docker Compose, GHCR |
21
+
22
+
## GitHub Releases (Mobile Apps)
23
+
24
+
If you just want to run the client application or get a production-ready backend binary without setting up a build environment, head straight over to our **[GitHub Releases Page](https://github.com/commandlinecoding/elephant/releases)**.
25
+
26
+
Here you will find:
27
+
***Client Installers:** Pre-built application packages (`.apk` for Android ) ready for deployment.
28
+
---
29
+
4
30
## Quick Start (Docker/Podman)
5
31
6
32
The fastest way to run Elephant is by pulling the published image — no Go toolchain required.
"SELECT COUNT(*) FROM schema_migrations WHERE filename = '${filename}'")
114
+
if [ "$already_applied"="0" ];then
115
+
echo"Applying ${filename}..."
116
+
psql "${DB_URL}" -f "$migration"
117
+
psql "${DB_URL}" -c \
118
+
"INSERT INTO schema_migrations (filename) VALUES ('${filename}')"
119
+
echo"${filename} applied."
120
+
else
121
+
echo"${filename} already applied, skipping."
122
+
fi
123
+
done
74
124
```
75
125
76
126
### Running the mobile app
@@ -121,12 +171,13 @@ go test -v ./...
121
171
Integration tests under [server/tests/](server/tests/) expect a running server and database. Start the stack first, then run:
122
172
123
173
```bash
124
-
HOST=localhost PORT=8080 go test -v ./tests/...
174
+
HOST=$HOST PORT=$PORT go test -v ./tests/...
125
175
```
126
176
127
177
### CI/CD
128
178
129
-
Tests, `go vet`, and `staticcheck` run automatically on every push and pull request via GitHub Actions (`.github/workflows/`). Docker images are built and published to GHCR via manual `workflow_dispatch` or on tagged pushes.
179
+
Docker images are built and published to both GHCR and Docker Hub automatically on every version tag push.
180
+
Android APKs are built and attached to GitHub Releases automatically on every version tag push.
0 commit comments