## @deep-foundation/deeplinks

# Usage

## Generate deep.config.json

Automatically catch public ip of server.

    npx @deep-foundation/deeplinks -g

Manual define domains.

    npx @deep-foundation/deeplinks -g --ssl --deeplinks "https://deeplinks.deep.foundation" --deepcase "https://deepcase.deep.foundation"

## Deep Terminal

    npx @deep-foundation/deeplinks -e
    >

## Launch command envs based on config

For example, let's run migrations. Don't forget to clear the timestamp keys in the .migrate file before migrating.

    npm @deep-foundation/deeplinks --bash "npx migrate@latest up --matches '*.js'"

## Alternative deep.config.json

By default, deep.config.json is taken from the folder in which the command is executed. You can set config alternatively.

    npm @deep-foundation/deeplinks -c "$(cat ../../call-options.json)"

## Restart

### Server

    docker restart deep-links

### GitPod

Deep.Links is started together with Deep.Case app and other services in GitPod. So to restart it from GitPod you should do the following:

1. Find terminal there `npm run gitpod-start` command was executed.

2. Press `CTRL+C` in terminal to stop a Deep instance (Deep.Links and Deep.Case).

3. Press `↑` button on your keyboard to get last executed command.

4. Press `Enter` to execute that command again, that will finish restart sequence.

## Dignostics

### Get all logs:

    docker logs deep-links

### Get live logs:

    docker logs -f deep-links

### Enter the sh from inside the docker container:

    docker exec -it deep-links sh

## Library

See Documentation for examples and API

## Maintenance

### Refresh package-lock.json

This command deletes `node_modules`, `package-lock.json` and runs `npm i`. So everything is refreshed.

    npm run package:refresh

### Release a new version

    npm run package:release

After that it might be required to release new versions of:

1. https://github.com/deep-foundation/deepcase
2. https://github.com/deep-foundation/deepcase-app