How Easy It Is to Install Timecrack

How Easy It Is to Install Timecrack

One of the most common concerns people have about self-hosted software is the setup. Nobody wants to spend a weekend wrestling with dependencies, database configs, and web server rules just to try a tool. The good news? Installing Timecrack is genuinely simple — you can have a working instance up and running in just a few minutes.

Timecrack is a self-hosted, open source time tracking application built with Laravel. Whether you prefer a containerized deployment or a traditional server install, the process is straightforward and well documented. Let’s walk through just how easy it is.

The Fastest Way: Docker

If you have Docker installed, you can be up and running with a single Compose file. This is the easiest path because you don’t need to install PHP, MySQL, or a web server on your host machine — everything is bundled and configured for you.

Create a docker-compose.yml file with the following content:

services:

  timecrack:
    image: alextselegidis/timecrack:latest
    restart: always
    ports:
      - '80:80'
    environment:
      - APP_URL=http://localhost
      - DB_HOST=mysql
      - DB_DATABASE=timecrack
      - DB_USERNAME=root
      - DB_PASSWORD=secret
    volumes:
      - timecrack-storage:/var/www/html/storage

  mysql:
    image: mysql:8.0
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=secret
      - MYSQL_DATABASE=timecrack
    volumes:
      - mysql:/var/lib/mysql

volumes:
  timecrack-storage:
  mysql:

Then start it with a single command:

docker compose up -d

That’s it. On startup, the container automatically generates the configuration, runs the database migrations, applies the correct file permissions, and caches everything for performance. Open your browser at http://localhost and you’re ready to go.

Because the entrypoint script handles migrations and the application key for you, there are no extra setup steps to remember. Just add your real database credentials and mail settings when you move to production, and you’re done.

The Manual Route Is Just as Easy

Prefer to run Timecrack directly on your own server? You don’t need to build anything. Just like installing WordPress, we provide a pre-built release that you download, upload to your server, and configure. There’s no Composer, no npm install, and no asset compilation — the package already includes everything it needs to run.

First, download the latest pre-built release from the GitHub releases page and extract it into your web directory:

# Download and extract the latest release
wget https://github.com/alextselegidis/timecrack/releases/latest/download/timecrack.zip
unzip timecrack.zip -d /var/www/timecrack

You can also upload the extracted files over FTP or SFTP — whatever you’d normally use to deploy a website works fine here.

Next, copy the environment file and add your database connection details:

cp .env.example .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=timecrack
DB_USERNAME=your_db_user
DB_PASSWORD=your_db_password

Then generate the application key and set up the database:

php artisan key:generate
php artisan migrate:fresh --seed

Finally, point your web server’s document root at the public directory, open your domain in a browser, and log in with the default credentials (admin@example.org / 12345678). Be sure to change the password right away.

That’s the entire process — upload the files, set one config file, and you have a fully functional time tracking instance.

What You Need Before You Start

The requirements are modest and match any standard PHP hosting environment:

Because the release is pre-built, you don’t need Composer, Node.js, or any build tools on the server — the package ships ready to run. And if you go the Docker route, the only prerequisite is Docker itself, since everything else is included in the image.

Don’t Forget HTTPS

Installation is quick, but one step is worth doing right: serving Timecrack over HTTPS in production. You can get a free certificate from Let’s Encrypt with Certbot in just a couple of commands:

sudo certbot --nginx -d time.example.com

This protects your users’ credentials and time tracking data in transit — a small, one-time step that’s well worth it.

Try Before You Install

Not sure yet? You don’t even have to install anything to see what Timecrack can do. Head over to the live demo instance and explore projects, time tracking, and reports right in your browser. When you’re ready to run your own, come back and follow the steps above.

Final Thoughts

Self-hosting doesn’t have to be complicated. With Timecrack, you get full control of your data and a straightforward setup that takes minutes, not hours. Whether you choose Docker for a hands-off deployment or a manual install for finer control, you’ll be tracking time on your own infrastructure in no time.

For the complete walkthrough, check out the Installation Guide or the Docker setup. And if you ever get stuck, the Troubleshooting guide and the GitHub repository have you covered.

Happy tracking!

Premium Services

Need Professional Help?

Get custom development, managed hosting, data migration, and technical support — directly from the creators of Timecrack.

Explore Premium