Self-hosting LogIt
Run your own sync server and web dashboard. Free, no account with us, and your data stays on machines you control.
Requirements
- Docker with Docker Compose (included in current Docker installs)
- Somewhere to run it: your own computer for use at home, or any server or VPS to reach it from anywhere
1. Get the files
git clone https://github.com/Martin-Melody/LogIt.git
cd LogIt 2. Set two secrets
cp .env.example .env Edit .env and fill in:
JWT_SECRET: generate one withopenssl rand -base64 48ADMIN_KEY: any value you choose, for the admin endpoints
.env is ignored by git and never committed. Keep these values private: they protect every account on your server.
3. Start it
docker compose up -d This starts two services: the sync API on port 8080 and the web dashboard on port 3000. Data is stored in SQLite inside a Docker volume, so it survives restarts.
4. Connect the app
In the LogIt app, open the sign-in screen (Settings › Account), tap Connect to a different server and enter your server’s address: for example http://192.168.1.10:8080 on your home network, or your server’s public address. Then create an account. It exists only on your server.
5. Open the dashboard
Go to http://<your-server>:3000 and sign in with the same account for the bigger charts: activity, personal records and a deep dive into each exercise.
Updating
git pull
docker compose up -d --build Database changes run automatically when the server starts. Back up the Docker volume before big version jumps anyway, like any database you care about.
Need more control?
The docker-compose.yml at the root of the repo is the whole setup. Read it if you want to run the services differently: behind your own reverse proxy, on separate machines or with another database. Each service also has its own Dockerfile if you’d rather not use Compose.
Questions or problems? Open an issue on GitHub.