Installing Clockify server
Clockify comes as a plug-and-play Docker image, so all you need to do is download the installation file and your license, and run it using Docker.
Installation steps #
- Log in to your Server Admin portal
- Click Configure and enter:
- URL domain – the URL from which your users will access Clockify
- Email domains – users that have those email domains will be able to use your Clockify account
- Click Download installation file
- Put the file you’ve downloaded (docker-compose.yml) on your server
- Make sure you have Docker and Docker Compose installed
- Log in to Clockify docker repository by running docker login docker.clockify.me using your Server Admin email and password (the same one you use for logging into the Server Admin Portal)
- Run Clockify on the server with this command: docker-compose up -d
Email domains limitation is embedded in the license (which is included in docker-compose.yml, only it’s not readable).
Accessing and setting up Clockify #
Once you have Clockify up and running, you can access the client application via the URL domain you’ve entered in the Server Admin portal (installation step 2).
Login username is the email address you use for Server Admin Panel (from where you’ve downloaded the docker-compose.yml).
Login password doesn’t exist. You need to go to Forgot Password page (yoururldomain.com/reset-password) so you can receive an email from which you can set your password.
To set up SSO, email delivery, default workspace, and other aspects of the system, use Admin Panel.
To manage license (billing, users seats, email domains), use Server Admin portal.
To use Clockify with apps (mobile, desktop, extension), when you’re on the log-in page, select Log in to custom domain, enter URL of where your have Clockify installed, and then enter your credentials/SSO.
Updating to the latest version #
Once you install Clockify, you will run the same version until you manually decide that you want to upgrade to the latest version.
Usually, the cloud version gets updated twice a week (see release log), and the Server version gets those updates a week or two later.
When you decide you update, stop Clockify, pull the latest change, and run Clockify again:
docker-compose pull && docker-compose up -d
Using API #
If you’re a self-hosted user, you’ll have to use a different API base point:
- Base endpoints (stable): https://yourcustomdomain.com/api/v1/
- Base endpoint (working): https://yourcustomdomain.com/api
- Base endpoint for reports (working): https://yourcustomdomain.com/reports
- Base endpoint for time off (working): https://yourcustomdomain.com/pto
You can find API documentation here, and your exact base endpoint when you go to: https://yourcustomdomain.com/web/boot
We recommend making regular backups using scripts. Example:
sudo docker-compose exec -T db sh -c 'mongodump -u "$MONGO_INITDB_USERNAME" -p "$MONGO_INITDB_PASSWORD" -d "$MONGO_INITDB_DATABASE" --archive' > clockify-$(date -I).dump
Later, you can restore a backup by creating a new database instance and to regular restore using mongorestore. Example:
sudo docker-compose exec -T db sh -c 'mongorestore -u "$MONGO_INITDB_USERNAME" -p "$MONGO_INITDB_PASSWORD" -d "$MONGO_INITDB_DATABASE" --authenticationDatabase "$MONGO_INITDB_DATABASE" --archive' < /my-file-path/my-clockify-backup.dump