From db968d5c74a25d98fed429605f6e18458d8afbe2 Mon Sep 17 00:00:00 2001 From: Jose Celano Date: Mon, 27 Nov 2023 11:50:18 +0000 Subject: [PATCH] ci: [#363] fix container configuration following latest cahgnes in the Tracker and Index. --- .env.local | 12 ++++ .github/workflows/test_docker_build.yml | 13 ++-- .github/workflows/{test.yml => testing.yml} | 3 +- .gitignore | 1 + Dockerfile => Containerfile | 0 compose.yaml | 35 +++-------- .../dev-tools/container}/build.sh | 2 +- .../container/e2e/sqlite/e2e-env-down.sh | 6 ++ .../container/e2e/sqlite/e2e-env-up.sh | 15 +++++ .../dev-tools/container/e2e/sqlite/install.sh | 23 ++++++++ .../container/e2e/sqlite/run-e2e-tests.sh | 38 ++++++++++++ .../wait_for_container_to_be_healthy.sh | 26 ++++++++ .../dev-tools/container}/run.sh | 2 +- docker/bin/build-dev.sh | 17 ------ docker/bin/e2e-env-down.sh | 10 ---- docker/bin/e2e-env-install.sh | 23 -------- docker/bin/e2e-env-restart.sh | 4 -- docker/bin/e2e-env-up.sh | 11 ---- docker/bin/run-dev.sh | 9 --- docker/bin/run-e2e-tests.sh | 59 ------------------- docs/index.md | 2 +- dot.env.local | 1 - .../default/config/index.container.mysql.toml | 51 ++++++++++++++++ .../config/index.container.sqlite3.toml | 51 ++++++++++++++++ .../config/index.development.sqlite3.toml | 47 +++++++++++++++ .../config/index.e2e.container.mysql.toml | 51 ++++++++++++++++ .../config/index.e2e.container.sqlite3.toml | 8 ++- .../config/tracker.container.mysql.toml | 41 +++++++++++++ .../config/tracker.container.sqlite3.toml | 41 +++++++++++++ .../config/tracker.e2e.container.sqlite3.toml | 36 ++++++----- 30 files changed, 453 insertions(+), 185 deletions(-) create mode 100644 .env.local rename .github/workflows/{test.yml => testing.yml} (84%) rename Dockerfile => Containerfile (100%) rename {docker/bin => contrib/dev-tools/container}/build.sh (95%) create mode 100755 contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh create mode 100755 contrib/dev-tools/container/e2e/sqlite/e2e-env-up.sh create mode 100755 contrib/dev-tools/container/e2e/sqlite/install.sh create mode 100755 contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh create mode 100755 contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh rename {docker/bin => contrib/dev-tools/container}/run.sh (86%) delete mode 100755 docker/bin/build-dev.sh delete mode 100755 docker/bin/e2e-env-down.sh delete mode 100755 docker/bin/e2e-env-install.sh delete mode 100755 docker/bin/e2e-env-restart.sh delete mode 100755 docker/bin/e2e-env-up.sh delete mode 100755 docker/bin/run-dev.sh delete mode 100755 docker/bin/run-e2e-tests.sh create mode 100644 share/default/config/index.container.mysql.toml create mode 100644 share/default/config/index.container.sqlite3.toml create mode 100644 share/default/config/index.development.sqlite3.toml create mode 100644 share/default/config/index.e2e.container.mysql.toml rename config-idx-back.local.toml => share/default/config/index.e2e.container.sqlite3.toml (83%) create mode 100644 share/default/config/tracker.container.mysql.toml create mode 100644 share/default/config/tracker.container.sqlite3.toml rename config-tracker.local.toml => share/default/config/tracker.e2e.container.sqlite3.toml (59%) diff --git a/.env.local b/.env.local new file mode 100644 index 00000000..ff70dcca --- /dev/null +++ b/.env.local @@ -0,0 +1,12 @@ +# App build variables +API_BASE_URL=http://localhost:3001/v1 + +# Rust SQLx +DATABASE_URL=sqlite://storage/database/data.db?mode=rwc + +# Docker compose +TORRUST_INDEX_CONFIG= +USER_ID=1000 +TORRUST_TRACKER_CONFIG= +TORRUST_TRACKER_USER_UID=1000 +TORRUST_TRACKER_API_TOKEN=MyAccessToken diff --git a/.github/workflows/test_docker_build.yml b/.github/workflows/test_docker_build.yml index 28ff36a2..72c48b1c 100644 --- a/.github/workflows/test_docker_build.yml +++ b/.github/workflows/test_docker_build.yml @@ -17,11 +17,16 @@ jobs: uses: docker/build-push-action@v5 with: context: . - file: ./Dockerfile + file: ./Containerfile push: false cache-from: type=gha cache-to: type=gha,mode=max - # todo: enable when docker compose congiguration is ready - #- name: Build docker-compose images - # run: docker compose build + - id: checkout + name: Checkout Repository + uses: actions/checkout@v4 + + - id: compose + name: Compose + run: docker compose build + diff --git a/.github/workflows/test.yml b/.github/workflows/testing.yml similarity index 84% rename from .github/workflows/test.yml rename to .github/workflows/testing.yml index 58195dec..86255f30 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/testing.yml @@ -24,5 +24,4 @@ jobs: run: npm run generate - name: E2E Tests - run: ./docker/bin/run-e2e-tests.sh - + run: ./contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh diff --git a/.gitignore b/.gitignore index fc3f0b4b..8affe378 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .cache .env .env* +!.env.local .idea .nitro .nuxt diff --git a/Dockerfile b/Containerfile similarity index 100% rename from Dockerfile rename to Containerfile diff --git a/compose.yaml b/compose.yaml index 69e371c4..96461acc 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1,9 +1,10 @@ name: torrust services: - idx-fron: + index-gui: build: context: . + dockerfile: ./Containerfile args: RUN_AS_USER: appuser UID: ${TORRUST_INDEX_GUI_USER_UID:-1001} @@ -13,17 +14,6 @@ services: ports: - 3000:3000 - 24678:24678 - # todo: implement healthcheck - #healthcheck: - # test: - # [ - # "CMD-SHELL", - # "" - # ] - # interval: 10s - # retries: 5 - # start_period: 10s - # timeout: 3s volumes: - ./:/app depends_on: @@ -36,25 +26,16 @@ services: image: torrust/index:develop tty: true environment: + - USER_ID=${USER_ID} - TORRUST_INDEX_CONFIG=${TORRUST_INDEX_CONFIG} - - TORRUST_INDEX_DATABASE_DRIVER=${TORRUST_TRACKER_DATABASE_DRIVER:-sqlite3} - - TORRUST_INDEX_API_CORS_PERMISSIVE=${TORRUST_INDEX_API_CORS_PERMISSIVE:-true} + - TORRUST_INDEX_DATABASE=${TORRUST_INDEX_DATABASE:-e2e_testing_sqlite3} + - TORRUST_INDEX_DATABASE_DRIVER=${TORRUST_INDEX_DATABASE_DRIVER:-sqlite3} - TORRUST_INDEX_TRACKER_API_TOKEN=${TORRUST_INDEX_TRACKER_API_TOKEN:-MyAccessToken} + - TORRUST_INDEX_API_CORS_PERMISSIVE=${TORRUST_INDEX_API_CORS_PERMISSIVE:-true} networks: - server_side ports: - 3001:3001 - # todo: implement healthcheck - #healthcheck: - # test: - # [ - # "CMD-SHELL", - # "cargo run healthcheck" - # ] - # interval: 10s - # retries: 5 - # start_period: 10s - # timeout: 3s volumes: - ./storage/index/lib:/var/lib/torrust/index:Z - ./storage/index/log:/var/log/torrust/index:Z @@ -68,8 +49,10 @@ services: image: torrust/tracker:develop tty: true environment: + - USER_ID=${USER_ID} - TORRUST_TRACKER_CONFIG=${TORRUST_TRACKER_CONFIG} - - TORRUST_TRACKER_DATABASE=${TORRUST_TRACKER_DATABASE:-sqlite3} + - TORRUST_TRACKER_DATABASE=${TORRUST_TRACKER_DATABASE:-e2e_testing_sqlite3} + - TORRUST_TRACKER_DATABASE_DRIVER=${TORRUST_TRACKER_DATABASE_DRIVER:-sqlite3} - TORRUST_TRACKER_API_ADMIN_TOKEN=${TORRUST_TRACKER_API_ADMIN_TOKEN:-MyAccessToken} networks: - server_side diff --git a/docker/bin/build.sh b/contrib/dev-tools/container/build.sh similarity index 95% rename from docker/bin/build.sh rename to contrib/dev-tools/container/build.sh index d3ecf83d..34011117 100755 --- a/docker/bin/build.sh +++ b/contrib/dev-tools/container/build.sh @@ -13,4 +13,4 @@ docker build \ --build-arg UID="$TORRUST_INDEX_GUI_USER_UID" \ --build-arg RUN_AS_USER="$TORRUST_INDEX_GUI_RUN_AS_USER" \ --build-arg API_BASE_URL="$TORRUST_INDEX_GUI_API_BASE_URL" \ - -t torrust-index-frontend . + -t torrust-index-gui . diff --git a/contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh b/contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh new file mode 100755 index 00000000..896c56aa --- /dev/null +++ b/contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +USER_ID=${USER_ID:-1000} \ + TORRUST_INDEX_CONFIG=$(cat ./share/default/config/index.e2e.container.sqlite3.toml) \ + TORRUST_TRACKER_CONFIG=$(cat ./share/default/config/tracker.e2e.container.sqlite3.toml) \ + docker compose down diff --git a/contrib/dev-tools/container/e2e/sqlite/e2e-env-up.sh b/contrib/dev-tools/container/e2e/sqlite/e2e-env-up.sh new file mode 100755 index 00000000..952d1738 --- /dev/null +++ b/contrib/dev-tools/container/e2e/sqlite/e2e-env-up.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +TORRUST_INDEX_CONFIG=$(cat ./share/default/config/index.e2e.container.sqlite3.toml) \ + docker compose build + +USER_ID=${USER_ID:-1000} \ + TORRUST_INDEX_CONFIG=$(cat ./share/default/config/index.e2e.container.sqlite3.toml) \ + TORRUST_INDEX_DATABASE="e2e_testing_sqlite3" \ + TORRUST_INDEX_DATABASE_DRIVER="sqlite3" \ + TORRUST_INDEX_TRACKER_API_TOKEN="MyAccessToken" \ + TORRUST_TRACKER_CONFIG=$(cat ./share/default/config/tracker.e2e.container.sqlite3.toml) \ + TORRUST_TRACKER_DATABASE="e2e_testing_sqlite3" \ + TORRUST_TRACKER_DATABASE_DRIVER="sqlite3" \ + TORRUST_TRACKER_API_ADMIN_TOKEN="MyAccessToken" \ + docker compose up --detach --pull always --remove-orphans diff --git a/contrib/dev-tools/container/e2e/sqlite/install.sh b/contrib/dev-tools/container/e2e/sqlite/install.sh new file mode 100755 index 00000000..24bb5cd7 --- /dev/null +++ b/contrib/dev-tools/container/e2e/sqlite/install.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# This script is only intended to be used for E2E testing environment. + +## Index + +# Generate the Index sqlite database directory and file if it does not exist +mkdir -p ./storage/index/lib/database + +if ! [ -f "./storage/index/lib/database/${TORRUST_INDEX_DATABASE}.db" ]; then + echo "Creating index database '${TORRUST_INDEX_DATABASE}.db'" + sqlite3 "./storage/index/lib/database/${TORRUST_INDEX_DATABASE}.db" "VACUUM;" +fi + +## Tracker + +# Generate the Tracker sqlite database directory and file if it does not exist +mkdir -p ./storage/tracker/lib/database + +if ! [ -f "./storage/tracker/lib/database/${TORRUST_TRACKER_DATABASE}.db" ]; then + echo "Creating tracker database '${TORRUST_TRACKER_DATABASE}.db'" + sqlite3 "./storage/tracker/lib/database/${TORRUST_TRACKER_DATABASE}.db" "VACUUM;" +fi diff --git a/contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh b/contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh new file mode 100755 index 00000000..c8a38593 --- /dev/null +++ b/contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +CURRENT_USER_NAME=$(whoami) +CURRENT_USER_ID=$(id -u) +echo "User name: $CURRENT_USER_NAME" +echo "User id: $CURRENT_USER_ID" + +TORRUST_INDEX_GUI_USER_UID=$CURRENT_USER_ID +USER_ID=$CURRENT_USER_ID +export USER_ID +export TORRUST_INDEX_GUI_USER_UID + +export TORRUST_INDEX_DATABASE="e2e_testing_sqlite3" +export TORRUST_TRACKER_DATABASE="e2e_testing_sqlite3" + +# Install app +cp .env.local .env || exit 1 +./contrib/dev-tools/container/e2e/sqlite/install.sh || exit 1 + +# Start E2E testing environment +./contrib/dev-tools/container/e2e/sqlite/e2e-env-up.sh || exit 1 + +# Wait for conatiners to be healthy +./contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh torrust-mysql-1 10 3 || exit 1 +./contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh torrust-tracker-1 10 3 || exit 1 +./contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh torrust-index-1 10 3 || exit 1 + +# Wait for the Index GUI to be ready +sleep 10 + +# Just to make sure that everything is up and running +docker ps + +# Run E2E tests with shared app instance +npm run cypress:run || { ./contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh; exit 1; } + +# Stop E2E testing environment +./contrib/dev-tools/container/e2e/sqlite/e2e-env-down.sh diff --git a/contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh b/contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh new file mode 100755 index 00000000..9e67a434 --- /dev/null +++ b/contrib/dev-tools/container/functions/wait_for_container_to_be_healthy.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +wait_for_container_to_be_healthy() { + local container_name="$1" + local max_retries="$2" + local retry_interval="$3" + local retry_count=0 + + while [ $retry_count -lt "$max_retries" ]; do + container_health="$(docker inspect --format='{{json .State.Health}}' "$container_name")" + if [ "$container_health" != "{}" ]; then + container_status="$(echo "$container_health" | jq -r '.Status')" + if [ "$container_status" == "healthy" ]; then + echo "Container $container_name is healthy" + return 0 + fi + fi + + retry_count=$((retry_count + 1)) + echo "Waiting for container $container_name to become healthy (attempt $retry_count of $max_retries)..." + sleep "$retry_interval" + done + + echo "Timeout reached, container $container_name is not healthy" + return 1 +} \ No newline at end of file diff --git a/docker/bin/run.sh b/contrib/dev-tools/container/run.sh similarity index 86% rename from docker/bin/run.sh rename to contrib/dev-tools/container/run.sh index 80fabcb1..f573cd05 100755 --- a/docker/bin/run.sh +++ b/contrib/dev-tools/container/run.sh @@ -5,4 +5,4 @@ TORRUST_INDEX_GUI_USER_UID=${TORRUST_INDEX_GUI_USER_UID:-1001} docker run -it \ --user="$TORRUST_INDEX_GUI_USER_UID" \ --publish 3000:3000/tcp \ - torrust-index-frontend + torrust-index-gui diff --git a/docker/bin/build-dev.sh b/docker/bin/build-dev.sh deleted file mode 100755 index 4175fa2c..00000000 --- a/docker/bin/build-dev.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -TORRUST_INDEX_GUI_USER_UID=${TORRUST_INDEX_GUI_USER_UID:-1001} -TORRUST_INDEX_GUI_RUN_AS_USER=${TORRUST_INDEX_GUI_RUN_AS_USER:-appuser} -TORRUST_INDEX_GUI_API_BASE_URL=${TORRUST_INDEX_GUI_API_BASE_URL:-http://localhost:3001/v1} - -echo "Building docker image ..." -echo "TORRUST_INDEX_GUI_USER_UID: $TORRUST_INDEX_GUI_USER_UID" -echo "TORRUST_INDEX_GUI_RUN_AS_USER: $TORRUST_INDEX_GUI_RUN_AS_USER" -echo "TORRUST_INDEX_GUI_API_BASE_URL: $TORRUST_INDEX_GUI_API_BASE_URL" - -docker build \ - --target development \ - --build-arg UID="$TORRUST_INDEX_GUI_USER_UID" \ - --build-arg RUN_AS_USER="$TORRUST_INDEX_GUI_RUN_AS_USER" \ - --build-arg API_BASE_URL="$TORRUST_INDEX_GUI_API_BASE_URL" \ - -t torrust-index-frontend . diff --git a/docker/bin/e2e-env-down.sh b/docker/bin/e2e-env-down.sh deleted file mode 100755 index f019cc10..00000000 --- a/docker/bin/e2e-env-down.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -USER_ID=${USER_ID:-1000} \ - TORRUST_INDEX_CONFIG=$(cat config-idx-back.local.toml) \ - TORRUST_TRACKER_CONFIG=$(cat config-tracker.local.toml) \ - TORRUST_TRACKER_DATABASE=${TORRUST_TRACKER_DATABASE:-sqlite3} \ - TORRUST_TRACKER_API_ADMIN_TOKEN=${TORRUST_TRACKER_API_ADMIN_TOKEN:-MyAccessToken} \ - docker compose down - - diff --git a/docker/bin/e2e-env-install.sh b/docker/bin/e2e-env-install.sh deleted file mode 100755 index 66bb39e3..00000000 --- a/docker/bin/e2e-env-install.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# Generate the .env file if it does not exist -if ! [ -f "./.env" ]; then - # Copy .env file from development template - cp dot.env.local .env -fi - -# Generate storage directory if it does not exist -mkdir -p "./storage/index/lib/database/" -mkdir -p "./storage/tracker/lib/database/" - -# Generate the sqlite database for the index backend if it does not exist -if ! [ -f "./storage/index/lib/database/e2e_testing_sqlite3.db" ]; then - sqlite3 ./storage/index/lib/database/e2e_testing_sqlite3.db "VACUUM;" -fi - -# Generate the sqlite database for the tracker if it does not exist -if ! [ -f "./storage/tracker/lib/database/e2e_testing_sqlite3.db" ]; then - sqlite3 ./storage/tracker/lib/database/e2e_testing_sqlite3.db "VACUUM;" -fi - -npm install diff --git a/docker/bin/e2e-env-restart.sh b/docker/bin/e2e-env-restart.sh deleted file mode 100755 index 84731380..00000000 --- a/docker/bin/e2e-env-restart.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -./docker/bin/e2e-env-down.sh -./docker/bin/e2e-env-up.sh diff --git a/docker/bin/e2e-env-up.sh b/docker/bin/e2e-env-up.sh deleted file mode 100755 index 845eb870..00000000 --- a/docker/bin/e2e-env-up.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -USER_ID=${USER_ID:-1000} \ - docker compose build - -USER_ID=${USER_ID:-1000} \ - TORRUST_INDEX_CONFIG=$(cat config-idx-back.local.toml) \ - TORRUST_TRACKER_CONFIG=$(cat config-tracker.local.toml) \ - TORRUST_TRACKER_DATABASE=${TORRUST_TRACKER_DATABASE:-sqlite3} \ - TORRUST_TRACKER_API_ADMIN_TOKEN=${TORRUST_TRACKER_API_ADMIN_TOKEN:-MyAccessToken} \ - docker compose up -d diff --git a/docker/bin/run-dev.sh b/docker/bin/run-dev.sh deleted file mode 100755 index 612af96d..00000000 --- a/docker/bin/run-dev.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -TORRUST_INDEX_GUI_USER_UID=${TORRUST_INDEX_GUI_USER_UID:-1000} - -docker run -it \ - --user="$TORRUST_INDEX_GUI_USER_UID" \ - --publish 3000:3000/tcp \ - --volume "$(pwd)":"/app" \ - torrust-index-frontend diff --git a/docker/bin/run-e2e-tests.sh b/docker/bin/run-e2e-tests.sh deleted file mode 100755 index e98611a0..00000000 --- a/docker/bin/run-e2e-tests.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -CURRENT_USER_NAME=$(whoami) -CURRENT_USER_ID=$(id -u) -echo "User name: $CURRENT_USER_NAME" -echo "User id: $CURRENT_USER_ID" - -TORRUST_INDEX_GUI_USER_UID=$CURRENT_USER_ID -USER_ID=$CURRENT_USER_ID -TORRUST_TRACKER_USER_UID=$CURRENT_USER_ID -export TORRUST_INDEX_GUI_USER_UID -export USER_ID -export TORRUST_TRACKER_USER_UID - -wait_for_container_to_be_healthy() { - local container_name="$1" - local max_retries="$2" - local retry_interval="$3" - local retry_count=0 - - while [ $retry_count -lt "$max_retries" ]; do - container_health="$(docker inspect --format='{{json .State.Health}}' "$container_name")" - if [ "$container_health" != "{}" ]; then - container_status="$(echo "$container_health" | jq -r '.Status')" - if [ "$container_status" == "healthy" ]; then - echo "Container $container_name is healthy" - return 0 - fi - fi - - retry_count=$((retry_count + 1)) - echo "Waiting for container $container_name to become healthy (attempt $retry_count of $max_retries)..." - sleep "$retry_interval" - done - - echo "Timeout reached, container $container_name is not healthy" - return 1 -} - -./docker/bin/e2e-env-install.sh || exit 1 - -# Start E2E testing environment -./docker/bin/e2e-env-up.sh || exit 1 - -wait_for_container_to_be_healthy torrust-mysql-1 10 3 -# todo: implement healthchecks for tracker and backend and wait until they are healthy -#wait_for_container torrust-tracker-1 10 3 -#wait_for_container torrust-idx-back-1 10 3 -#wait_for_container torrust-idx-front-1 10 3 -sleep 20s - -# Just to make sure that everything is up and running -docker ps - -# Run E2E tests with shared app instance -npm run cypress:run || exit 1 - -# Stop E2E testing environment -./docker/bin/e2e-env-down.sh diff --git a/docs/index.md b/docs/index.md index 7e878b55..a4cbfd93 100644 --- a/docs/index.md +++ b/docs/index.md @@ -301,7 +301,7 @@ You can run the E2E test environments in two different ways: If you want to use the docker-compose environment you need to run the following command: ```s -./docker/bin/run-e2e-tests.sh +./contrib/dev-tools/container/e2e/sqlite/run-e2e-tests.sh ``` This is the way we run the E2E tests in the CI/CD pipeline. diff --git a/dot.env.local b/dot.env.local index ff70dcca..073ce77f 100644 --- a/dot.env.local +++ b/dot.env.local @@ -8,5 +8,4 @@ DATABASE_URL=sqlite://storage/database/data.db?mode=rwc TORRUST_INDEX_CONFIG= USER_ID=1000 TORRUST_TRACKER_CONFIG= -TORRUST_TRACKER_USER_UID=1000 TORRUST_TRACKER_API_TOKEN=MyAccessToken diff --git a/share/default/config/index.container.mysql.toml b/share/default/config/index.container.mysql.toml new file mode 100644 index 00000000..9857d6ae --- /dev/null +++ b/share/default/config/index.container.mysql.toml @@ -0,0 +1,51 @@ +log_level = "info" + +[website] +name = "Torrust" + +# Please override the tracker token setting the +# `TORRUST_INDEX_TRACKER_API_TOKEN` +# environmental variable! + +[tracker] +url = "udp://tracker:6969" +mode = "Public" +api_url = "http://tracker:1212" +token = "MyAccessToken" +token_valid_seconds = 7257600 + +[net] +port = 3001 + +[auth] +email_on_signup = "Optional" +min_password_length = 6 +max_password_length = 64 +secret_key = "MaxVerstappenWC2021" + +[database] +connect_url = "mysql://root:root_secret_password@mysql:3306/torrust_index" + +[mail] +email_verification_enabled = false +from = "example@email.com" +reply_to = "noreply@email.com" +username = "" +password = "" +server = "mailcatcher" +port = 1025 + +[image_cache] +max_request_timeout_ms = 1000 +capacity = 128000000 +entry_size_limit = 4000000 +user_quota_period_seconds = 3600 +user_quota_bytes = 64000000 + +[api] +default_torrent_page_size = 10 +max_torrent_page_size = 30 + +[tracker_statistics_importer] +torrent_info_update_interval = 3600 +port = 3002 \ No newline at end of file diff --git a/share/default/config/index.container.sqlite3.toml b/share/default/config/index.container.sqlite3.toml new file mode 100644 index 00000000..ac1dd71d --- /dev/null +++ b/share/default/config/index.container.sqlite3.toml @@ -0,0 +1,51 @@ +log_level = "info" + +[website] +name = "Torrust" + +# Please override the tracker token setting the +# `TORRUST_INDEX_TRACKER_API_TOKEN` +# environmental variable! + +[tracker] +url = "udp://tracker:6969" +mode = "Public" +api_url = "http://tracker:1212" +token = "MyAccessToken" +token_valid_seconds = 7257600 + +[net] +port = 3001 + +[auth] +email_on_signup = "Optional" +min_password_length = 6 +max_password_length = 64 +secret_key = "MaxVerstappenWC2021" + +[database] +connect_url = "sqlite:///var/lib/torrust/index/database/sqlite3.db?mode=rwc" + +[mail] +email_verification_enabled = false +from = "example@email.com" +reply_to = "noreply@email.com" +username = "" +password = "" +server = "mailcatcher" +port = 1025 + +[image_cache] +max_request_timeout_ms = 1000 +capacity = 128000000 +entry_size_limit = 4000000 +user_quota_period_seconds = 3600 +user_quota_bytes = 64000000 + +[api] +default_torrent_page_size = 10 +max_torrent_page_size = 30 + +[tracker_statistics_importer] +torrent_info_update_interval = 3600 +port = 3002 \ No newline at end of file diff --git a/share/default/config/index.development.sqlite3.toml b/share/default/config/index.development.sqlite3.toml new file mode 100644 index 00000000..669979af --- /dev/null +++ b/share/default/config/index.development.sqlite3.toml @@ -0,0 +1,47 @@ +log_level = "info" + +[website] +name = "Torrust" + +[tracker] +url = "udp://localhost:6969" +mode = "Public" +api_url = "http://localhost:1212" +token = "MyAccessToken" +token_valid_seconds = 7257600 + +[net] +port = 3001 + +[auth] +email_on_signup = "Optional" +min_password_length = 6 +max_password_length = 64 +secret_key = "MaxVerstappenWC2021" + +[database] +connect_url = "sqlite://data.db?mode=rwc" + +[mail] +email_verification_enabled = false +from = "example@email.com" +reply_to = "noreply@email.com" +username = "" +password = "" +server = "" +port = 25 + +[image_cache] +max_request_timeout_ms = 1000 +capacity = 128000000 +entry_size_limit = 4000000 +user_quota_period_seconds = 3600 +user_quota_bytes = 64000000 + +[api] +default_torrent_page_size = 10 +max_torrent_page_size = 30 + +[tracker_statistics_importer] +torrent_info_update_interval = 3600 +port = 3002 \ No newline at end of file diff --git a/share/default/config/index.e2e.container.mysql.toml b/share/default/config/index.e2e.container.mysql.toml new file mode 100644 index 00000000..c7b4c33c --- /dev/null +++ b/share/default/config/index.e2e.container.mysql.toml @@ -0,0 +1,51 @@ +log_level = "info" + +[website] +name = "Torrust" + +# Please override the tracker token setting the +# `TORRUST_INDEX_TRACKER_API_TOKEN` +# environmental variable! + +[tracker] +url = "udp://tracker:6969" +mode = "Public" +api_url = "http://tracker:1212" +token = "MyAccessToken" +token_valid_seconds = 7257600 + +[net] +port = 3001 + +[auth] +email_on_signup = "Optional" +min_password_length = 6 +max_password_length = 64 +secret_key = "MaxVerstappenWC2021" + +[database] +connect_url = "mysql://root:root_secret_password@mysql:3306/torrust_index_e2e_testing" + +[mail] +email_verification_enabled = false +from = "example@email.com" +reply_to = "noreply@email.com" +username = "" +password = "" +server = "mailcatcher" +port = 1025 + +[image_cache] +max_request_timeout_ms = 1000 +capacity = 128000000 +entry_size_limit = 4000000 +user_quota_period_seconds = 3600 +user_quota_bytes = 64000000 + +[api] +default_torrent_page_size = 10 +max_torrent_page_size = 30 + +[tracker_statistics_importer] +torrent_info_update_interval = 3600 +port = 3002 \ No newline at end of file diff --git a/config-idx-back.local.toml b/share/default/config/index.e2e.container.sqlite3.toml similarity index 83% rename from config-idx-back.local.toml rename to share/default/config/index.e2e.container.sqlite3.toml index 6fd42216..ec15023b 100644 --- a/config-idx-back.local.toml +++ b/share/default/config/index.e2e.container.sqlite3.toml @@ -3,6 +3,10 @@ log_level = "info" [website] name = "Torrust" +# Please override the tracker token setting the +# `TORRUST_INDEX_TRACKER_API_TOKEN` +# environmental variable! + [tracker] url = "udp://tracker:6969" mode = "Public" @@ -20,8 +24,7 @@ max_password_length = 64 secret_key = "MaxVerstappenWC2021" [database] -connect_url = "sqlite:///var/lib/torrust/index/database/e2e_testing_sqlite3.db?mode=rwc" # SQLite -#connect_url = "mysql://root:root_secret_password@mysql:3306/torrust_index_e2e_testing" # MySQL +connect_url = "sqlite:///var/lib/torrust/index/database/e2e_testing_sqlite3.db?mode=rwc" [mail] email_verification_enabled = false @@ -45,3 +48,4 @@ max_torrent_page_size = 30 [tracker_statistics_importer] torrent_info_update_interval = 3600 +port = 3002 \ No newline at end of file diff --git a/share/default/config/tracker.container.mysql.toml b/share/default/config/tracker.container.mysql.toml new file mode 100644 index 00000000..e7714c22 --- /dev/null +++ b/share/default/config/tracker.container.mysql.toml @@ -0,0 +1,41 @@ +announce_interval = 120 +db_driver = "MySQL" +db_path = "mysql://db_user:db_user_secret_password@mysql:3306/torrust_tracker" +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" +max_peer_timeout = 900 +min_announce_interval = 120 +mode = "public" +on_reverse_proxy = false +persistent_torrent_completed_stat = false +remove_peerless_torrents = true +tracker_usage_statistics = true + +[[udp_trackers]] +bind_address = "0.0.0.0:6969" +enabled = false + +[[http_trackers]] +bind_address = "0.0.0.0:7070" +enabled = false +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" + +[http_api] +bind_address = "0.0.0.0:1212" +enabled = true +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" + +# Please override the admin token setting the +# `TORRUST_TRACKER_API_ADMIN_TOKEN` +# environmental variable! + +[http_api.access_tokens] +admin = "MyAccessToken" + +[health_check_api] +bind_address = "127.0.0.1:1313" diff --git a/share/default/config/tracker.container.sqlite3.toml b/share/default/config/tracker.container.sqlite3.toml new file mode 100644 index 00000000..4ec055c5 --- /dev/null +++ b/share/default/config/tracker.container.sqlite3.toml @@ -0,0 +1,41 @@ +announce_interval = 120 +db_driver = "Sqlite3" +db_path = "/var/lib/torrust/tracker/database/sqlite3.db" +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" +max_peer_timeout = 900 +min_announce_interval = 120 +mode = "public" +on_reverse_proxy = false +persistent_torrent_completed_stat = false +remove_peerless_torrents = true +tracker_usage_statistics = true + +[[udp_trackers]] +bind_address = "0.0.0.0:6969" +enabled = false + +[[http_trackers]] +bind_address = "0.0.0.0:7070" +enabled = false +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" + +[http_api] +bind_address = "0.0.0.0:1212" +enabled = true +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" +ssl_enabled = false +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" + +# Please override the admin token setting the +# `TORRUST_TRACKER_API_ADMIN_TOKEN` +# environmental variable! + +[http_api.access_tokens] +admin = "MyAccessToken" + +[health_check_api] +bind_address = "127.0.0.1:1313" diff --git a/config-tracker.local.toml b/share/default/config/tracker.e2e.container.sqlite3.toml similarity index 59% rename from config-tracker.local.toml rename to share/default/config/tracker.e2e.container.sqlite3.toml index 28b63f4c..316c6f1d 100644 --- a/config-tracker.local.toml +++ b/share/default/config/tracker.e2e.container.sqlite3.toml @@ -1,34 +1,42 @@ -log_level = "info" -mode = "public" +announce_interval = 120 db_driver = "Sqlite3" db_path = "/var/lib/torrust/tracker/database/e2e_testing_sqlite3.db" -announce_interval = 120 -min_announce_interval = 120 +external_ip = "0.0.0.0" +inactive_peer_cleanup_interval = 600 +log_level = "info" max_peer_timeout = 900 +min_announce_interval = 120 +mode = "public" on_reverse_proxy = false -external_ip = "0.0.0.0" -tracker_usage_statistics = true persistent_torrent_completed_stat = false -inactive_peer_cleanup_interval = 600 remove_peerless_torrents = true +tracker_usage_statistics = true [[udp_trackers]] -enabled = true bind_address = "0.0.0.0:6969" +enabled = false [[http_trackers]] -enabled = false bind_address = "0.0.0.0:7070" +enabled = false +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" ssl_enabled = false -ssl_cert_path = "" -ssl_key_path = "" +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" [http_api] -enabled = true bind_address = "0.0.0.0:1212" +enabled = true +ssl_cert_path = "/var/lib/torrust/tracker/tls/localhost.crt" ssl_enabled = false -ssl_cert_path = "" -ssl_key_path = "" +ssl_key_path = "/var/lib/torrust/tracker/tls/localhost.key" + +# Please override the admin token setting the +# `TORRUST_TRACKER_API_ADMIN_TOKEN` +# environmental variable! [http_api.access_tokens] admin = "MyAccessToken" + +[health_check_api] +bind_address = "127.0.0.1:1313" +