From ec2d07cc3545e88907b9723b08dd323ff513a811 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Thu, 25 Jul 2024 23:00:14 +0300 Subject: [PATCH] castopod. refactoring configuration. --- castopod/.env.dist | 51 +++++++++++++++++++++++-------------- castopod/docker-compose.yml | 30 +++++++++++----------- 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/castopod/.env.dist b/castopod/.env.dist index 2c61a18..ad5217d 100644 --- a/castopod/.env.dist +++ b/castopod/.env.dist @@ -1,5 +1,8 @@ # see https://docs.castopod.org/main/en/getting-started/docker/ # see https://hub.docker.com/r/castopod/castopod +# see https://docs.castopod.org/main/en/getting-started/docker/#environment-variables + +IMAGE_TAG=latest # Ports EXTERNAL_ADDRESS=127.0.0.1 @@ -8,37 +11,47 @@ EXTERNAL_PORT=8393 # Castopod Settings CP_BASEURL=https://cp.domain.tld +#CP_MEDIA_BASEURL=https://cp.domain.tld CP_ANALYTICS_SALT=changeme -CP_CACHE_HANDLER=redis +#CP_CACHE_HANDLER=redis #CP_REDIS_HOST=redis CP_REDIS_PASSWORD=changeme +#CP_ADMIN_GATEWAY=custom-admin-path +#CP_AUTH_GATEWAY=custom-auth-path + +#CP_ENABLE_2FA=true + +CP_DATABASE_HOSTNAME=host.docker.internal +CP_DATABASE_NAME=castopod +CP_DATABASE_USERNAME=castopod +CP_DATABASE_PASSWORD=changeme + # Storage MEDIA_PATH=./media REDIS_DATA_PATH=./redis_data # See https://docs.castopod.org/main/en/getting-started/install/#s3 -#media.fileManager="s3" -#media.s3.endpoint="your_s3_host" -#media.s3.key="your_s3_key" -#media.s3.secret="your_s3_secret" -#media.s3.region="your_s3_region" -##media.s3.bucket="your_s3_bucket" +#CP_MEDIA_FILE_MANAGER="s3" +#CP_MEDIA_S3_ENDPOINT="your_s3_host" +#CP_MEDIA_S3_KEY="your_s3_key" +#CP_MEDIA_S3_SECRET="your_s3_secret" +#CP_MEDIA_S3_REGION="your_s3_region" +##CP_MEDIA_S3_BUCKET="your_s3_bucket" +##CP_MEDIA_S3_PROTOCOL= +##CP_MEDIA_S3_PATH_STYLE_ENDPOINT= +##CP_MEDIA_S3_KEY_PREFIX= + +#CP_MAX_BODY_SIZE=512M # Mailing -#email.fromEmail=your_email_address -#email.SMTPHost=your_smtp_host -#email.SMTPUser=your_smtp_user -#email.SMTPPass=your_smtp_password -##email.SMTPPort=12345 -##email.SMTPCrypto=tls - -# Database - -MYSQL_DATABASE=database -MYSQL_USER=user -MYSQL_PASSWORD=password +#CP_EMAIL_FROM=your_email_address +#CP_EMAIL_SMTP_HOST=your_smtp_host +#CP_EMAIL_SMTP_USERNAME=your_smtp_user +#CP_EMAIL_SMTP_PASSWORD=your_smtp_password +##CP_EMAIL_SMTP_PORT=12345 +##CP_EMAIL_SMTP_CRYPTO=tls LOG_MAX_SIZE=5m LOG_MAX_FILE=5 diff --git a/castopod/docker-compose.yml b/castopod/docker-compose.yml index c4eed20..1582ea0 100644 --- a/castopod/docker-compose.yml +++ b/castopod/docker-compose.yml @@ -1,35 +1,35 @@ services: castopod: - image: castopod/castopod:latest + image: 'castopod/castopod:${IMAGE_TAG:-latest}' container_name: 'castopod' volumes: - '${MEDIA_PATH:-./media}:/var/www/castopod/public/media' environment: - MYSQL_DATABASE: '${MYSQL_DATABASE:-host.docker.internal}' - MYSQL_USER: '${MYSQL_USER:-castopod}' - MYSQL_PASSWORD: '${MYSQL_PASSWORD}' - CP_BASEURL: "https://castopod.example.com" + MYSQL_DATABASE: '${CP_DATABASE_NAME:-castopod}' + MYSQL_USER: '${CP_DATABASE_USERNAME:-castopod}' + MYSQL_PASSWORD: '${CP_DATABASE_PASSWORD}' + CP_BASEURL: "${CP_BASEURL}" CP_ANALYTICS_SALT: '${CP_ANALYTICS_SALT}' - CP_CACHE_HANDLER: redis + CP_CACHE_HANDLER: '${CP_CACHE_HANDLER:-redis}' CP_REDIS_HOST: '${CP_REDIS_HOST:-redis}' CP_REDIS_PASSWORD: '${CP_REDIS_PASSWORD}' env_file: '.env' networks: - castopod extra_hosts: - - "host.docker.internal:host-gateway" + - 'host.docker.internal:host-gateway' ports: - '${EXTERNAL_ADDRESS:-127.0.0.1}:${EXTERNAL_PORT:-8393}:8000' restart: unless-stopped logging: - driver: "json-file" + driver: 'json-file' options: - max-size: "${LOG_MAX_SIZE:-5m}" - max-file: "${LOG_MAX_FILE:-5}" + max-size: '${LOG_MAX_SIZE:-5m}' + max-file: '${LOG_MAX_FILE:-5}' redis: - image: redis:7.2-alpine - container_name: "castopod-redis" + image: 'redis:7.2-alpine' + container_name: 'castopod-redis' command: '--requirepass ${CP_REDIS_PASSWORD}' volumes: - '${REDIS_DATA_PATH:-./redis_data}:/data' @@ -37,10 +37,10 @@ services: - castopod restart: unless-stopped logging: - driver: "json-file" + driver: 'json-file' options: - max-size: "${LOG_MAX_SIZE:-5m}" - max-file: "${LOG_MAX_FILE:-5}" + max-size: '${LOG_MAX_SIZE:-5m}' + max-file: '${LOG_MAX_FILE:-5}' networks: castopod: