Skip to content

Commit

Permalink
remove dev setup instructions from the readme and link self-hosting
Browse files Browse the repository at this point in the history
  • Loading branch information
Onatcer authored Sep 4, 2024
1 parent 156d2ff commit 49de8d0
Showing 1 changed file with 4 additions and 74 deletions.
78 changes: 4 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,82 +20,12 @@ solidtime is a modern open-source time tracking application for Freelancers and
- Roles and permissions: Create and manage organizations
- Import: Import your time tracking data from other time tracking applications (Supported: Toggl, Clockify, Timeentry CSV)

## Local setup for development
## Self Hosting

**System requirements**
* Docker
If you are looking into self-hosting solidtime, you can find the guides [here](https://docs.solidtime.io/self-hosting/intro)
We also have an examples repository [here](https://github.com/solidtime-io/self-hosting-examples)

First you need to download or clone the repository f.e. with `[email protected]:solidtime-io/solidtime.git`.

After that, execute the following commands **inside the project folder**:

```bash
docker run --rm \
--pull=always \
-v "$(pwd)":/opt \
-w /opt \
laravelsail/php83-composer:latest \
bash -c "composer install --ignore-platform-reqs"

cp .env.example .env

./vendor/bin/sail up -d

./vendor/bin/sail artisan key:generate

./vendor/bin/sail artisan migrate:fresh --seed

./vendor/bin/sail php artisan passport:install

./vendor/bin/sail npm install

./vendor/bin/sail npm run build
```

Make sure to set the APP_PORT and VITE_PORT inside your `.env` file to a port that is not already used by your system.

By default the application will run on [localhost:8083](http://localhost:8083/)

### Setup with Reverse Proxy

**Additional System Requirements**
* Traefik 2 Reverse-Proxy (https://github.com/korridor/reverse-proxy-docker-traefik)

Add the following entry to your `/etc/hosts`

```
127.0.0.1 solidtime.test
127.0.0.1 playwright.solidtime.test
127.0.0.1 vite.solidtime.test
127.0.0.1 mail.solidtime.test
```

### Running E2E Tests

`./vendor/bin/sail up -d ` will automatically start a Playwright UI server that you can access at `https://playwright.solidtime.test`.
Make sure that you use HTTPS otherwise the resources will not be loaded correctly.

### Recording E2E Tests

To record E2E tests, you need to install and execute playwright locally (outside the Docker container) using:

```bash
npx playwright install
npx playwright codegen solidtime.test
```

### E2E Troubleshooting

If E2E tests are not working at all, make sure you do not have the Vite server running and just run `npm run build` to update the version.
If the E2E tests are not working consistently and fail with a timeout during the authentication, you might want to delete the `test-results/.auth` directory to force new test accounts to be created.

### Generate ZOD Client

The Zodius HTTP client is generated using the following command:

```bash
npm run zod:generate
```
If you do not want to self-host solidtime or try it out you can sign up for [solidtime cloud](https://www.solidtime.io/)

## Contributing

Expand Down

0 comments on commit 49de8d0

Please sign in to comment.