Diagnosing services

This guide walks you through the basic checks for a Team assistant deployment: verifying that the Docker Compose services are running, reading service logs, and testing reachability of a remote service such as the database.

Most of these checks are read-only and are safe to run at any time.

Some checks are available directly from the tas-manager menu; the rest are run from the system shell. The Docker Compose project is located in $TAS_COMPOSE_PATH (default ~/tas-compose), where the compose.yaml and .env files reside.

1. Check service status from the menu

In the main menu, go to:

Status → Team assistant

This shows the status of the three application services — tas-frontend, tas-backend, and tas-backend-cron — along with the configured frontend and backend URLs and image names. A dash () in the status column means the container is not running.

When you start the service set via Management → Team assistant → Manage services, the startup output and the health check of each service are shown live — the fastest way to spot a service that fails to start.

2. Check all containers from the shell

The menu shows only the three application services. To see the entire set — including supporting and one-shot containers — open the system shell:

Management → System → [!] Open system shell (advanced users only)

Confirm the warning dialog and then run:

cd "$TAS_COMPOSE_PATH"
docker compose ps
docker compose ps --all
  • docker compose ps lists the currently running containers.
  • docker compose ps --all additionally lists containers that have stopped, including the one-shot init-* containers (see step 3).

Read the STATUS column:

  • Up (possibly with (healthy)) means the service is running normally,
  • (starting) means the health check has not yet succeeded,
  • (unhealthy) or Exited means the service needs attention.

3. Understanding the init containers that exit

The set includes several one-shot initialization containers that perform a single setup task and then intentionally stop:

Container

Purpose

init-folders

Prepares the data folders

init-certificates

Prepares the TLS certificates

init-db

Prepares the database connection

init-db-migration

Runs the database schema migration

init-admin-password

Sets the initial administrator password

For these containers, the status Exited (0) means the step completed successfully — this is normal and not an error. A non-zero exit code (for example Exited (1)) means the setup step failed; read that container's logs to find out why (step 4).

4. Reading service logs

There is no menu item for viewing logs — read them from the system shell. For example, to check the backend:

docker compose logs tas-backend
docker compose logs --tail=100 --follow tas-backend
  • The first command prints the entire log.
  • The second shows the last 100 lines and then follows new output live; stop following by pressing Ctrl+C.

Replace tas-backend with the name of any service to check a different container — for example tas-frontend, tas-backend-cron, init-db, or traefik.

5. Testing network access to a remote service

Team assistant connects to a remote Microsoft SQL Server database. To verify that the database host and port are reachable from this machine, use curl from the system shell. Use the TAS_DB_HOSTNAME and TAS_DB_PORT values from the $TAS_COMPOSE_PATH/.env file (the default port is 1433):

curl -v telnet://sql.example.local:1433

A line such as Connected to sql.example.local (…) port 1433 confirms that the network path and port are open. curl does not attempt to log in to the database — it only tests the TCP connection. A Connection refused message or a timeout points to a firewall, a routing problem, or an incorrect host or port.

The same approach works for the frontend and backend HTTP endpoints shown on the Status → Team assistant page, for example:

curl -v <TAS_BACKEND_URL>

6. Checking system resources

In the main menu, go to:

Status → System

This shows the hostname, operating system, network interfaces, and mount points with disk usage.

A full disk is a common cause of containers failing to start or becoming unhealthy.

From the system shell you can check the same, as well as Docker's own usage:

df -h
docker system df

7. Checking the tas-manager log

tas-manager records its own actions and errors to $LOG_FILE (default ~/.local/state/tas-manager.log). Review it when the menu tool itself misbehaves — for example when a maintenance action fails without a clear message. From the system shell:

tail -n 100 "$LOG_FILE"
less "$LOG_FILE"

Returning to the menu

Type exit to leave the system shell and return to the tas-manager menu.

To restart the services after resolving a problem, use Management → Team assistant → Manage services. To change the database connection settings, see the article Connecting Team assistant to a different database server.

Frantisek Brych Updated by Frantisek Brych

Connecting to a different database

Contact

Syca (opens in a new tab)

Powered by HelpDocs (opens in a new tab)