Clockify consists of 3 main parts: API server, database server, and Web server. They can be on the same machine, but depending on the available resources you might want to deploy them on separate machines.

Database server #

You should first set up the database server, as API can’t run without it. API expects an instance of MongoDB v 4.2.

Creating a database user

If we assume that:


We should add the appropriate user with the following commands:

 mongo --host $host
> use admin
> db.createUser({user:"$username", pwd:"$password", roles:[{role:"root", db:"admin"}]})
> use clockify
> db.createUser({user:"$username", pwd:"$password", roles:[{role:"readWrite", db:"clockify"}]}) 

API server

API server uses Java. You need Oracle Java 8 or OpenJDK 8. Clockify API ships in a form of a JAR file that needs to be run with appropriate parameters.

Running API server

If we assume that:


We should run the API with the following command:

sudo java -jar$profile  clockify-1.0.jar --authentication.token.xauth.key=$tokenKey --database.mongoDb.url=$mongoConnectionString

Successfully configured API server will produce the console output similar to this:

INFO [main] [] com.clockify.BackendApplication : Started BackendApplication in 10.579 seconds (JVM running for 11.03)

Logs are stored on


It is recommended to run the Java process in the background. How you will configure this depends on your operating system.
API needs to be accessible from outside network under the /api path (for example Again, configuration of this depends on the operating system and the web server in place.

Web server #

Web server hosts the static files that make the JavaScript frontend. Frontend ships as a compressed package that should be uncompressed and configured as a root of the web server of choice. How you will configure it depends on your web server.

Accessing the application #

Depending on the frontend configuration, you should be able to access the client application at:

And admin dashboard at:

Initial credentials (you can always change email and password at https://time.mydomain/user/settings ) for the admin app are:

password: UniqueAdminPasswordWeGaveYou

You can use admin panel to setup SSO, email delivery, default workspace, and other aspects of the system.