Sign inSign up

tenfold/tenfold-application

By tenfold

•Updated 9 days ago

tenfold Community Edition

Image
Security
Monitoring & observability
5

4.1K

tenfold/tenfold-application repository overview


⁠Community Edition

⁠About this image

tenfold Community Edition comes packaged with an installer which downloads all the necessary files, except the product license.

A product license can be requested here⁠.

⁠How to use this image

⁠Install tenfold in a Docker container
  • Obtain the latest tenfold Docker Compose file; You can find it below.
  • Make sure you set the required environment variables for SQL Server⁠, e.g.:
    • ACCEPT_EULA=Y
    • MSSQL_SA_PASSWORD=yourStrong(!)Password
  • run docker compose up -d

The ACCEPT_EULA environment variable is required for sql server and accepts Microsoft's EULA, not ours.

The MSSQL_SA_PASSWORD is only used during setup. If you wish to change the password, you have to do so via the usual SQL Server administration tools and reconfigure tenfold accordingly.

⁠Enter your license key

After that you should navigate to your local web port and enter a license key. When the license check has succeeded, you will be guided through the setup.

⁠Ports
PortDescription
80HTTP - redirects to HTTPS
443HTTPS - Web Interface
61613JMS Queue - needed for communication with the tenfold agent
⁠DNS

Custom DNS resolution should work out of the box on Linux. On MacOS and Windows this depends on the virtualization technology used to run docker. See: https://docs.docker.com/engine/network/#dns-services⁠

Custom DNS Servers can be configured in the appropriate section in the compose.yaml file.

⁠A note on volumes

Our example compose file creates two volumes:

  • tenfold-database
  • tenfold-application

While it is possible to change those to bind mounts, we don't recommend it. Especially on NTFS Filesystems this carries a heavy performance penalty.

⁠How to update

Create a backup of the docker volumes, e.g.:

$ docker volume create --name <target-volume>
$ docker run --rm -it -v <source-volume>:/from -v <target-volume>:/to alpine ash -c 'cd /from ; cp -av . /to'

If you are using the latest tag of tenfold/tenfold-application

$ docker compose pull

Otherwise, you can just set the preferred version in your compose.yaml file. Recreate the container using:

$ docker compose up -d

⁠Troubleshooting

⁠SQL Server password requirements

For security reasons SQL Server requires a strong password, so some insecure passwords usually used for test installations might cause the server to refuse to start. You can check the logs by running

# Bash
$ docker compose logs mssql | grep -i error

# PowerShell
$ docker compose logs mssql | Select-String "error"
⁠Self-Signed SSL Certificates

If your firewall uses SSL interception, we recommend adding an exception for https://marketplace.tenfold-security.com. In case this is not possible, you can disable certificate validation during setup by setting the environment variable SETUP_TRUST_CERTIFICATES=Y at your own risk.

⁠Compose file

# Common environment variables
x-default-environment: &default-environment
  MSSQL_SA_PASSWORD:
  ACCEPT_EULA: N

services:
  mssql:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql
    environment:
      <<: *default-environment
      MSSQL_PID: Express
    volumes:
      - tenfold-database:/var/opt/mssql
    networks:
      - tenfold
    healthcheck:
      test: /opt/mssql-tools18/bin/sqlcmd -C -S localhost -U sa -P $$MSSQL_SA_PASSWORD -Q 'select 1' -b -o /dev/null
      interval: 10s
      retries: 10
      start_period: 10s
      timeout: 120s
    restart: unless-stopped

  mssql.setup:
    image: mcr.microsoft.com/mssql/server:2022-latest
    container_name: mssql.setup
    depends_on:
      mssql:
        condition: service_healthy
    environment:
      <<: *default-environment
    networks:
      - tenfold
    command: >
      bash -c '
      /opt/mssql-tools18/bin/sqlcmd -C -S mssql -U sa -P $$MSSQL_SA_PASSWORD -Q "create database tenfold collate Latin1_General_CI_AS"
      && /opt/mssql-tools18/bin/sqlcmd -C -S mssql -U sa -P $$MSSQL_SA_PASSWORD -Q "alter database tenfold set recovery simple"
      && /opt/mssql-tools18/bin/sqlcmd -C -S mssql -U sa -P $$MSSQL_SA_PASSWORD -Q "alter database tenfold set read_committed_snapshot on"
      '

  tenfold:
    image: tenfold/tenfold-application:latest
    container_name: tenfold
    depends_on:
      mssql:
        condition: service_healthy
      mssql.setup:
        condition: service_completed_successfully
        restart: false
    environment:
      <<: *default-environment
    volumes:
      - tenfold-application:/opt/tenfold
    networks:
      - tenfold
    ports:
      - "80:80"
      - "443:443"
      - "61613:61613"
    restart: unless-stopped
    # custom DNS resolution should work out of the box on linux
    # on mac and windows this depends on the virtualisation technology used to run docker
    # https://docs.docker.com/engine/network/#dns-services
    #dns:
    #  - 9.9.9.9

volumes:
  tenfold-database:
    name: tenfold-database
  tenfold-application:
    name: tenfold-application

networks:
  tenfold:
    name: tenfold

⁠Software End User License Agreement

Can be viewed here⁠

Tag summary

Content type

Image

Digest

sha256:c94ea4164…

Size

254.4 MB

Last updated

9 days ago

docker pull tenfold/tenfold-application