Sign inSign up

thermocontrol/testware

By thermocontrol

•Updated 7 days ago

Manage your equipment and track its testing in one application.

Image
Content management system
Monitoring & observability
0

9.3K

thermocontrol/testware repository overview

⁠testWare

⁠Content

testWare enables you to manage the testing and maintenance of your location and equipment.

Current version: 1.82.13

⁠Install testWare instance

There are two ways to install your testWare instance:

⁠LAPP/LAMP stack

Make sure your server meets the following requirements:

  • Linux based system (Ubuntu or Debian)
  • Apache server (or nginx reverse proxy)
  • PHP min. version 8.1
  • PostgreSQL database
  • Composer installed
  • npm installed
⁠Step 1: Clone repository
git clone https://github.com/daniel-koertvelyessy/testware.git
⁠Step 2: Setup database

Create a database and user, then add the credentials to your .env file:

DB_CONNECTION=pgsql
DB_HOST=[IP-address-of-your-database-server]
DB_PORT=5432
DB_DATABASE=[database-name]
DB_USERNAME=[username]
DB_PASSWORD=[password]
⁠Step 3: Setup e-mail connection (optional)
MAIL_MAILER=smtp
MAIL_HOST=[smtp.provider-address.com]
MAIL_PORT=[587]
MAIL_USERNAME=[username]
MAIL_PASSWORD=[password]
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=[[email protected]]
MAIL_FROM_NAME="${APP_NAME}"

Note: If you do not want to use e-mail features, set MAIL_MAILER=log and leave the other keys blank.

⁠Run testWare artisan installer

Within your project folder run:

php artisan testware:install

⁠Docker

Make sure Docker and Docker Compose are installed on your host system. All Docker-based instances use PostgreSQL as the database service.

⁠docker-compose.yml
services:
  app:
    image: thermocontrol/testware:latest
    restart: always
    container_name: testware-app
    env_file:
      - app.env
    ports:
      - 80:80
      - 443:443
    volumes:
      - testware-files:/var/www/html/storage/app
    depends_on:
      - db

  db:
    image: postgres:15
    restart: always
    env_file:
      - db.env
    ports:
      - 5432:5432
    container_name: testware-db
    volumes:
      - testware-db-data:/var/lib/postgresql/data

volumes:
  testware-files:
  testware-db-data:
⁠app.env
# testWare environment
APP_URL="https://domain.tld"
APP_PORT=443
APP_DEBUG=false

# Mail server (optional)
MAIL_MAILER=smtp
MAIL_HOST=smtp.provider.com
MAIL_PORT=587
MAIL_USERNAME=your-username
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="testWare"

# Database
DB_HOST=db
DB_PORT=5432
DB_DATABASE=testware
DB_USERNAME=testWareDbUser
DB_PASSWORD=yourSecurePassword

# IMPORTANT: DB credentials must match db.env
⁠db.env
POSTGRES_DB=testware
POSTGRES_USER=testWareDbUser
POSTGRES_PASSWORD=yourSecurePassword

# IMPORTANT: DB credentials must match app.env

Start the containers:

docker compose up -d

Run the installer:

docker compose exec app php artisan testware:install

⁠Run the web-installer

After completing the installation, run the web-based installer at https://domain.tld/installer.

The web-installer guides you through setting up your company, locations, users, and employees.

⁠testWare commands

⁠testware:install

Initializes the database with default values and creates the first SysAdmin user.

WARNING: Use this command only on a fresh system. It will overwrite existing data. Back up your database first if you have an existing installation.

⁠testware:hskey

Generates a new value for the APP_HSKEY used in equipment QR-code links.

WARNING: Changing this key will invalidate all previously printed QR-codes.

⁠testware:resetuserpw {user}

Resets the password for a given user account.

php artisan testware:resetuserpw '[email protected]'
⁠testware:promotesysadmin {user}

Promotes a user to the SysAdmin role.

php artisan testware:promotesysadmin '[email protected]'
⁠testware:demotesysadmin {user}

Removes the SysAdmin role from a user.

php artisan testware:demotesysadmin '[email protected]'

⁠TO-DO

  • Add user management for roles and abilities
  • Complete localization

⁠Contribute

Issues and pull requests are welcome! 😄

⁠Support

For support, please send an e-mail to [email protected]⁠

⁠License

testWare is open-sourced software licensed under the GPL license⁠.

Tag summary

Content type

Image

Digest

sha256:088f99ab5…

Size

253 MB

Last updated

7 days ago

docker pull thermocontrol/testware