How to self-host Solidtime
Track hours against clients and projects, then bill from what you tracked. Cresdock runs it on a server you own, from a catalogue, with no Docker and no reverse proxy to configure.
What Cresdock does for you with Solidtime
Its configuration is written before the container ever starts, so Solidtime comes up already set up rather than showing you a blank first-run form.
Given its own web address, with its own login seeded in advance. Solidtime can't live under a shared path, and apps like this are reached by clients that don't carry a browser session — so it gets a real password rather than being left open.
Solidtime needs a PostgreSQL database. Cresdock runs one privately for your account, on your own network, with the connection details handed to Solidtime automatically — you never see a connection string.
Solidtime tracks the hours you work and bills from them, on its own — no other app here feeds it, and it feeds none of them.
Why run Solidtime yourself
Small tools are where a subscription is hardest to justify: a few pounds a month, times a dozen tools, for software that would run happily on a server you already pay for.
It is also how you retire Toggl or Harvest — one line in replacing cloud subscriptions, app by app.
What kind of server Solidtime needs
Modest, with one addition: Solidtime brings a database, which Cresdock runs privately for your account. Allow about 500 MB of memory for the pair, and remember the database's own files count against your storage.
Cresdock itself is undemanding — it runs on a small rented server, an old desktop or a mini PC, on Ubuntu or Debian. Everything it installs shares that machine, so the honest question is not "will this app run" but "how much am I going to put on here in total".
Where to run Solidtime
Solidtime runs wherever Cresdock runs, and the choice is about the machine, not the app:
- At home, on hardware you already own. A mini PC, an old desktop or a NAS that can run Debian. Cresdock works behind a home router with no port forwarding and no domain, so Solidtime is reachable on your own network first and from outside only if you choose.
- On a rented server. A small VPS is enough for most apps and is the usual answer when Solidtime should be reachable from anywhere. The setup guide covers the specs and the one-command install.
- Through a provider that runs Cresdock. Hosting companies deploy Cresdock workspaces for their customers, so Solidtime can come with a server you rent rather than one you set up — ask your provider, or see how providers offer it.
Installing Solidtime
- Put Cresdock on a server
One line on any Ubuntu or Debian machine — a rented VPS, a spare PC, a home server. It sets itself up.
- Pick Solidtime from the catalogue
Click Install. The panel pulls the image, writes the configuration, gets a certificate and starts it.
- Open it from your dashboard
Its address and any login details are on its card. Start, stop, update, roll back or remove it from the same place, any time.
What's left for you to do
Cresdock does not pretend to do the parts that are genuinely yours to decide. After it's running:
Choose Register on the sign-in page. There is no account until you make one
Register with the address shown on this card so you get the admin panel too
No email? The confirmation link is in this app's Logs
Add a client and a project, then start your first timer
What this replaces
Doing it by hand means writing something like this, then keeping it working:
services:
solidtime:
image: solidtime/solidtime:0.19.1
restart: unless-stopped
ports:
- "8000:8000"
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DB_HOST=db
- DB_PASSWORD=<choose one>
volumes:
- ./solidtime/config:/config
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=<the same one>
- POSTGRES_DB=solidtime
volumes:
- ./pgdata:/var/lib/postgresql/data
And that is the easy half. Still to do:
Install a reverse proxy and write a server block for it
Get a TLS certificate and set up automatic renewal
Create the folders above with the right ownership, or it will not start
Create the database and role, and keep that password in step with the app's
Point a DNS record at the server, because Solidtime cannot run under a shared path
Repeat all of it for the next app, and again on every server rebuild
On Cresdock, Solidtime is one click and none of the above exists.
Common questions
Do I need to know Docker to run Solidtime?
No. Cresdock installs Solidtime in one click from its catalogue: it pulls the image, writes the configuration, gets an HTTPS certificate and starts it. Solidtime needs a PostgreSQL database, which Cresdock creates for your account and connects for you.
What happens to my Solidtime data when it updates?
Cresdock updates the Solidtime image and leaves its stored data in place. Solidtime keeps its own files in its own folder, which survives an update, a rebuild and a reinstall — and Cresdock never writes into it.
Do I have to set up a database for Solidtime?
No. Your account gets its own private database, created the moment you install an app that needs one and removed when your last one goes. It is included in your backups and counted against your own storage, like everything else you own.
How is Solidtime protected if it isn't behind the panel login?
It gets its own password, generated and set before it first starts, shown on its card in your dashboard. Apps end up here when they are reached by programs rather than a web browser, so a shared login can't be used.
Can I run Solidtime at home instead of on a VPS?
Yes. Cresdock runs on a mini PC, an old desktop or anything that boots Debian, behind a normal home router with no port forwarding, and Solidtime is reachable on your own network first. A rented server is only needed when Solidtime must be reachable from anywhere without a VPN.
Can I remove Solidtime later?
Yes. Cresdock removes Solidtime in one click, and asks whether to keep its configuration for a future reinstall. Nothing else you have installed is affected.
Looking for what Solidtime itself can do? That lives in its own documentation — this page is only about running it.
Pairs well with: Stirling PDF · Tududi · Sonarr
Before you start: where to rent a server · what it needs to run · Cresdock vs Cloudron