Tymeslot ships as a single Docker image with PostgreSQL embedded — there’s nothing else to install or wire up. OneDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Tymeslot/tymeslot/llms.txt
Use this file to discover all available pages before exploring further.
docker run command pulls the image, starts the database, runs migrations, and brings up the Phoenix web server. You can be taking bookings in under five minutes on any machine that has Docker installed.
System requirements
| Requirement | Minimum | Recommended |
|---|---|---|
| Docker | 20.10+ | Latest stable |
| RAM | 500 MB | 1 GB |
| Disk | 1 GB free | 5 GB+ |
| OS | Any Linux (64-bit) | Ubuntu 22.04 / Debian 12 |
Choose your install path
- Option A — Prebuilt image
- Option B — Build from source
The fastest way to get started. Docker pulls the published image from Docker Hub automatically.Run the following command to start Tymeslot with SMTP email configured:Wait 30–60 seconds for PostgreSQL to initialise, then open http://localhost:4000.To pin a specific version instead of
latest, replace the tag with a release number — e.g. luka1thb/tymeslot:1.2.0. The full list of published tags is on Docker Hub.Becoming an admin
The first user to register on a fresh install is automatically promoted to admin. To promote additional users — or recover access if no admin exists — run the release helper from inside the container:Common commands
Troubleshooting
Container won't start
Container won't start
Check the logs first — they usually tell you exactly what’s wrong:Common causes:
SECRET_KEY_BASEis missing or fewer than 64 characters- Port 4000 is already in use on the host
- Insufficient disk space
Can't access the app in the browser
Can't access the app in the browser
The container needs 30–60 seconds to initialise on first run. Watch the logs and wait for If you see that line but the browser still can’t connect, check that you’re using the right port (default
Running TymeslotWeb.Endpoint:4000) and that no firewall rule is blocking it.Database issues
Database issues
Check that PostgreSQL is running inside the container:Verify the database connection:To reset the database entirely (destroys all data — stop the container first, as the volume can’t be removed while in use):
initdb: could not change permissions — Operation not permitted
initdb: could not change permissions — Operation not permitted
This error appears on first start when the PostgreSQL volume is bind-mounted at
/var/lib/postgresql/data with ownership the container can’t change. It’s common on Docker Desktop, rootless Docker, and SELinux-enforcing hosts.Fixes in order of preference:- Use the named volume from the quick-start (
-v tymeslot_pg:/var/lib/postgresql/data). Named volumes live inside Docker’s own storage and are immune to host filesystem ownership quirks. - If you need the data on a specific host path, run PostgreSQL externally and point Tymeslot at it with
DATABASE_HOST. - If a previous first-run attempt crashed, remove the partially-initialised volume before retrying:
docker volume rm tymeslot_pg.
Port already in use
Port already in use
Find what’s occupying port 4000:Either stop the conflicting service, or change the port Tymeslot listens on:Then update your
docker run command accordingly: -p 8080:8080.Data-at-rest encryption
Integration credentials (calendar tokens, CalDAV passwords, video API keys) are encrypted at rest. By default the encryption key is derived fromSECRET_KEY_BASE, which means rotating your session secret would make stored credentials unreadable. Setting a dedicated DATA_ENCRYPTION_KEY decouples the two so you can rotate SECRET_KEY_BASE freely.
Next steps
- Configure email — test password reset to verify delivery is working. See Email Configuration.
- Set up a reverse proxy — see the Reverse Proxy Setup guide for Nginx and Caddy walkthroughs with SSL.
- Connect calendar integrations — Google Calendar and Outlook from Dashboard → Integrations.
- Full environment variable reference — every supported variable with annotations lives in the Environment Variables reference.