Skip to content

Setup Instructions

Dilan Gilluly edited this page Sep 19, 2024 · 4 revisions

The following are the setup instructions for the Ticket Auction Manager platform.

Setting up the server

First you need to setup the server. The way I chose to do it is via Docker/Docker Compose. There are some options using environment variables.

docker run -v ./data.db:/tam/server/data.db dbob16/tam-server

Should host a very simple version of it with SQLite, which would only be recommended for one-at-a-time entry.

For a basic setup with a better database platform for simultaneous inserts, you can use the docker-compose.yml below:

services:
  mariadb:
    image: mariadb
    container_name: mariadb-tam
    environment:
      MARIADB_USER: tam # For security and production sake, these three things can be changed.
      MARIADB_PASSWORD: password # But you must change MYSQL_USER, MYSQL_PASSWORD, and MYSQL_DB
      MARIADB_DATABASE: tam # to match
      MARIADB_RANDOM_ROOT_PASSWORD: 1
    volumes:
      - ./db-data:/var/lib/mysql:Z
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      start_period: 10s
      interval: 10s
      timeout: 5s
      retries: 3
    restart: always
  tam:
    image: dbob16/tam-server
    container_name: tam1
    depends_on:
      mariadb:
        condition: service_healthy
        restart: true
    environment:
      DB_TYPE: MYSQL
      MYSQL_HOST: mariadb
      MYSQL_USER: tam
      MYSQL_PASSWORD: password
      MYSQL_DB: tam
    ports:
      - '8000:80'
    healthcheck:
      test: curl --fail http://localhost:80/health/ || exit 1
      interval: 2s
      timeout: 5s
      retries: 3
      start_period: 5s
    restart: always
# Enable ssl by uncommenting these following lines and putting nginx.crt (server certificate) and nginx.key (server key) in certs
  # nginx:
  #   image: nginx
  #   container_name: nginx-tam-rp
  #   depends_on:
  #     mariadb:
  #       condition: service_healthy
  #       restart: true
  #     tam:
  #       condition: service_started
  #       restart: true
  #   ports:
  #     - "8443:8443"
  #   volumes:
  #     - ./nginx.conf:/etc/nginx/nginx.conf:ro
  #     - ./certs:/etc/nginx/certs
  #   healthcheck:
  #     test: ["CMD", "service", "nginx", "status"]
  #     interval: 5s
  #     timeout: 5s
  #     retries: 3
  #     start_period: 5s
  #   restart: always

# Enable restarting of unhealthy services by uncommenting the following lines:
  # autoheal:
  #   restart: always
  #   image: willfarrell/autoheal
  #   container_name: autoheal
  #   environment:
  #     - AUTOHEAL_CONTAINER_LABEL=all
  #   volumes:
  #     - /var/run/docker.sock:/var/run/docker.sock

A video on how to do this is linked below.

Setting up the client

Download and extract the client version. Double click or launch the TAM Client file.

Clicking the Settings button should open up the settings dialog. From there you can input the base url which is typically one of the following:

  • For plaintext (HTTP):
    • http://hostname_or_ip:8000/
  • For encrypted (HTTPS):
    • https://hostname_or_ip:8443/

If you setup an API_PW in the environment section of tam on your docker-compose.yml, you may enter that value into the API_PW box. To be able to reference it later, it's also a good idea to put a name or some sort of identifier in the Computer Name box as well. Click Generate API Key. If it says that it generated it successfully and appended it to the save, then you should be all set (once you close and reopen the TAM client, it should say that it's connected on the bottom of the main menu).

Then open TAM and the Settings dialog again, there should be a Prefix Manager button on the bottom left of the Settings dialog. This will allow you to create prefixes.

  • What is a prefix? A prefix is as named: it creates a unique tableset for each prefix (multiple sets of tickets and items). So if you're running an auction with specialty items and tickets or door prizes, you can create a prefix specifically for those.

Then once you save, close, and reopen once again, you should be all set to start using it.

Clone this wiki locally