Init
This commit is contained in:
commit
90ad8bd730
0
.docker.sh.swp
Normal file
0
.docker.sh.swp
Normal file
59
.env
Normal file
59
.env
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# (Docker Compose) All Docker containers are prefixed by this name. Do not change this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
COMPOSE_PROJECT_NAME=azuracast
|
||||||
|
|
||||||
|
# (Docker Compose) The amount of time to wait before a Docker Compose operation fails. Increase this on lower performance computers.
|
||||||
|
# Default: 300
|
||||||
|
COMPOSE_HTTP_TIMEOUT=300
|
||||||
|
|
||||||
|
# Release Channel
|
||||||
|
# Valid options: latest, stable
|
||||||
|
# Default: latest
|
||||||
|
AZURACAST_VERSION=stable
|
||||||
|
|
||||||
|
# HTTP Port
|
||||||
|
# The main port AzuraCast listens to for insecure HTTP connections.
|
||||||
|
# Default: 80
|
||||||
|
AZURACAST_HTTP_PORT=8600
|
||||||
|
|
||||||
|
# HTTPS Port
|
||||||
|
# The main port AzuraCast listens to for secure HTTPS connections.
|
||||||
|
# Default: 443
|
||||||
|
# AZURACAST_HTTPS_PORT=443
|
||||||
|
|
||||||
|
# SFTP Port
|
||||||
|
# The port AzuraCast listens to for SFTP file management connections.
|
||||||
|
# Default: 2022
|
||||||
|
# AZURACAST_SFTP_PORT=2022
|
||||||
|
|
||||||
|
# Station Ports
|
||||||
|
# The ports AzuraCast should listen to for station broadcasts and incoming DJ
|
||||||
|
# connections.
|
||||||
|
# Default: 8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
|
||||||
|
AZURACAST_STATION_PORTS=8000,8005,8006,8010,8015,8016,8020,8025,8026,8030
|
||||||
|
|
||||||
|
# Docker User UID
|
||||||
|
# Set the UID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host UID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PUID=1000
|
||||||
|
|
||||||
|
# Docker User GID
|
||||||
|
# Set the GID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host GID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PGID=1000
|
||||||
|
|
||||||
|
# Use Podman instead of Docker.
|
||||||
|
# AZURACAST_PODMAN_MODE=
|
||||||
|
|
||||||
|
# Advanced: Use Privileged Docker Settings
|
||||||
|
# Default: 1
|
||||||
|
# AZURACAST_COMPOSE_PRIVILEGED=1
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
NGINX_TIMEOUT=1800
|
187
azuracast.env
Normal file
187
azuracast.env
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# The locale to use for CLI commands.
|
||||||
|
# Valid options: en_US, cs_CZ, nl_NL, fr_FR, de_DE, el_GR, it_IT, ja_JP, ko_KR, nb_NO, pl_PL, pt_PT, pt_BR, ru_RU, zh_CN, es_ES, sv_SE, tr_TR, uk_UA
|
||||||
|
# Default: en_US
|
||||||
|
LANG=en_US
|
||||||
|
|
||||||
|
# The application environment.
|
||||||
|
# Valid options: Production, Testing, Development
|
||||||
|
APPLICATION_ENV=production
|
||||||
|
|
||||||
|
# Manually modify the logging level.
|
||||||
|
# This allows you to log debug-level errors temporarily (for problem-solving)
|
||||||
|
# or reduce the volume of logs that are produced by your installation,
|
||||||
|
# without needing to modify whether your installation is a production or
|
||||||
|
# development instance.
|
||||||
|
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
|
||||||
|
# LOG_LEVEL=
|
||||||
|
|
||||||
|
# Enable Custom Code Plugins
|
||||||
|
# Enable the composer "merge" functionality to combine the main application's
|
||||||
|
# composer.json file with any plugin composer files. This can have
|
||||||
|
# performance implications, so you should only use it if you use one or more
|
||||||
|
# plugins with their own Composer dependencies.
|
||||||
|
# Valid options: 1,
|
||||||
|
# COMPOSER_PLUGIN_MODE=
|
||||||
|
|
||||||
|
# Minimum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# AUTO_ASSIGN_PORT_MIN=
|
||||||
|
|
||||||
|
# Maximum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# AUTO_ASSIGN_PORT_MAX=
|
||||||
|
|
||||||
|
# Show Detailed Slim Application Errors
|
||||||
|
# This allows you to debug Slim Application Errors you may encounter. Please
|
||||||
|
# report any Slim Application Error logs to the development team on GitHub.
|
||||||
|
# Valid options: 1,
|
||||||
|
# SHOW_DETAILED_ERRORS=
|
||||||
|
|
||||||
|
# MariaDB Host
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: localhost
|
||||||
|
MYSQL_HOST=localhost
|
||||||
|
|
||||||
|
# MariaDB Port
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: 3306
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
|
||||||
|
# MariaDB Username
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_USER=azuracast
|
||||||
|
|
||||||
|
# MariaDB Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azur4c457
|
||||||
|
MYSQL_PASSWORD=JcwgjT66MnKg
|
||||||
|
|
||||||
|
# MariaDB Database Name
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_DATABASE=azuracast
|
||||||
|
|
||||||
|
# Auto-generate Random MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# MYSQL_RANDOM_ROOT_PASSWORD=
|
||||||
|
|
||||||
|
# MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
MYSQL_ROOT_PASSWORD=XJwDwXYRy4QmFgJtdmRt
|
||||||
|
|
||||||
|
# Enable MariaDB Slow Query Log
|
||||||
|
# Log slower queries to diagnose possible database issues. Only turn this on
|
||||||
|
# if needed.
|
||||||
|
# MYSQL_SLOW_QUERY_LOG=
|
||||||
|
|
||||||
|
# MariaDB Maximum Connections
|
||||||
|
# Set the amount of allowed connections to the database. This value should be
|
||||||
|
# increased if you are seeing the "Too many connections" error in the logs.
|
||||||
|
# Default: 100
|
||||||
|
# MYSQL_MAX_CONNECTIONS=100
|
||||||
|
|
||||||
|
# MariaDB InnoDB Buffer Pool Size
|
||||||
|
# The InnoDB buffer pool size controls how much data & indexes are kept in
|
||||||
|
# memory. Making sure that this value is as large as possible reduces the
|
||||||
|
# amount of disk IO.
|
||||||
|
# Default: 128M
|
||||||
|
# MYSQL_INNODB_BUFFER_POOL_SIZE=128M
|
||||||
|
|
||||||
|
# MariaDB InnoDB Log File Size
|
||||||
|
# The InnoDB log file is used to achieve data durability in case of crashes
|
||||||
|
# or unexpected shutoffs and to allow the DB to better optimize IO for write
|
||||||
|
# operations.
|
||||||
|
# Default: 16M
|
||||||
|
# MYSQL_INNODB_LOG_FILE_SIZE=16M
|
||||||
|
|
||||||
|
# Enable Redis
|
||||||
|
# Disable to use a flatfile cache instead of Redis.
|
||||||
|
# ENABLE_REDIS=
|
||||||
|
|
||||||
|
# Redis Host
|
||||||
|
# Default: localhost
|
||||||
|
REDIS_HOST=localhost
|
||||||
|
|
||||||
|
# Redis Port
|
||||||
|
# Default: 6379
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
# PHP Maximum POST File Size
|
||||||
|
# Default: 25M
|
||||||
|
# PHP_MAX_FILE_SIZE=25M
|
||||||
|
|
||||||
|
# PHP Memory Limit
|
||||||
|
# Default: 128M
|
||||||
|
# PHP_MEMORY_LIMIT=128M
|
||||||
|
|
||||||
|
# PHP Script Maximum Execution Time (Seconds)
|
||||||
|
# Default: 30
|
||||||
|
# PHP_MAX_EXECUTION_TIME=30
|
||||||
|
|
||||||
|
# Short Sync Task Execution Time (Seconds)
|
||||||
|
# The maximum execution time (and lock timeout) for the 15-second, 1-minute
|
||||||
|
# and 5-minute synchronization tasks.
|
||||||
|
# SYNC_SHORT_EXECUTION_TIME=
|
||||||
|
|
||||||
|
# Long Sync Task Execution Time (Seconds)
|
||||||
|
# The maximum execution time (and lock timeout) for the 1-hour
|
||||||
|
# synchronization task.
|
||||||
|
# SYNC_LONG_EXECUTION_TIME=
|
||||||
|
|
||||||
|
# Now Playing Delay Time (Seconds)
|
||||||
|
# The delay between Now Playing checks for every station. Decrease for more
|
||||||
|
# frequent checks at the expense of performance; increase for less frequent
|
||||||
|
# checks but better performance (for large installations).
|
||||||
|
# NOW_PLAYING_DELAY_TIME=
|
||||||
|
|
||||||
|
# Now Playing Max Concurrent Processes
|
||||||
|
# The maximum number of concurrent processes for now playing updates.
|
||||||
|
# Increasing this can help reduce the latency between updates now playing
|
||||||
|
# updates on large installations.
|
||||||
|
# NOW_PLAYING_MAX_CONCURRENT_PROCESSES=
|
||||||
|
|
||||||
|
# Maximum PHP-FPM Worker Processes
|
||||||
|
# Default: 5
|
||||||
|
# PHP_FPM_MAX_CHILDREN=5
|
||||||
|
|
||||||
|
# Enable Performance Profiling Extension
|
||||||
|
# Profiling data can be viewed by visiting
|
||||||
|
# http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/.
|
||||||
|
# PROFILING_EXTENSION_ENABLED=
|
||||||
|
|
||||||
|
# Profile Performance on All Requests
|
||||||
|
# This will have a significant performance impact on your installation.
|
||||||
|
# PROFILING_EXTENSION_ALWAYS_ON=
|
||||||
|
|
||||||
|
# Profiling Extension HTTP Key
|
||||||
|
# The value for the "SPX_KEY" parameter for viewing profiling pages.
|
||||||
|
# PROFILING_EXTENSION_HTTP_KEY=
|
||||||
|
|
||||||
|
# Profiling Extension IP Allow List
|
||||||
|
# Valid options: 127.0.0.1, *
|
||||||
|
# Default: *
|
||||||
|
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*
|
||||||
|
|
||||||
|
# Nginx Max Client Body Size
|
||||||
|
# This is the total size any single request body can be. AzuraCast chunks its
|
||||||
|
# uploads into smaller file sizes, so this only applies when doing custom
|
||||||
|
# uploads via the API. Sizes should be listed in a format like "100K",
|
||||||
|
# "128M", "1G" for kilobytes, megabytes, and gigabytes respectively.
|
||||||
|
# Default: 50M
|
||||||
|
# NGINX_CLIENT_MAX_BODY_SIZE=50M
|
||||||
|
|
||||||
|
# Enable web-based Docker image updates
|
||||||
|
# Default: 1
|
||||||
|
# ENABLE_WEB_UPDATER=1
|
||||||
|
|
||||||
|
# Extra Ubuntu packages to install upon startup
|
||||||
|
# Default: "Separate package names with a space. Packages will be installed during container startup."
|
||||||
|
# INSTALL_PACKAGES_ON_STARTUP="Separate package names with a space. Packages will be installed during container startup."
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
REDIS_DB=1
|
187
azuracast.env.bak
Normal file
187
azuracast.env.bak
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# The locale to use for CLI commands.
|
||||||
|
# Valid options: en_US, cs_CZ, nl_NL, fr_FR, de_DE, el_GR, it_IT, ja_JP, ko_KR, nb_NO, pl_PL, pt_PT, pt_BR, ru_RU, zh_CN, es_ES, sv_SE, tr_TR, uk_UA
|
||||||
|
# Default: en_US
|
||||||
|
LANG=en_US
|
||||||
|
|
||||||
|
# The application environment.
|
||||||
|
# Valid options: Production, Testing, Development
|
||||||
|
APPLICATION_ENV=production
|
||||||
|
|
||||||
|
# Manually modify the logging level.
|
||||||
|
# This allows you to log debug-level errors temporarily (for problem-solving)
|
||||||
|
# or reduce the volume of logs that are produced by your installation,
|
||||||
|
# without needing to modify whether your installation is a production or
|
||||||
|
# development instance.
|
||||||
|
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
|
||||||
|
# LOG_LEVEL=
|
||||||
|
|
||||||
|
# Enable Custom Code Plugins
|
||||||
|
# Enable the composer "merge" functionality to combine the main application's
|
||||||
|
# composer.json file with any plugin composer files. This can have
|
||||||
|
# performance implications, so you should only use it if you use one or more
|
||||||
|
# plugins with their own Composer dependencies.
|
||||||
|
# Valid options: 1,
|
||||||
|
# COMPOSER_PLUGIN_MODE=
|
||||||
|
|
||||||
|
# Minimum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# AUTO_ASSIGN_PORT_MIN=
|
||||||
|
|
||||||
|
# Maximum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# AUTO_ASSIGN_PORT_MAX=
|
||||||
|
|
||||||
|
# Show Detailed Slim Application Errors
|
||||||
|
# This allows you to debug Slim Application Errors you may encounter. Please
|
||||||
|
# report any Slim Application Error logs to the development team on GitHub.
|
||||||
|
# Valid options: 1,
|
||||||
|
# SHOW_DETAILED_ERRORS=
|
||||||
|
|
||||||
|
# MariaDB Host
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: localhost
|
||||||
|
MYSQL_HOST=localhost
|
||||||
|
|
||||||
|
# MariaDB Port
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: 3306
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
|
||||||
|
# MariaDB Username
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_USER=azuracast
|
||||||
|
|
||||||
|
# MariaDB Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azur4c457
|
||||||
|
MYSQL_PASSWORD=JcwgjT66MnKg
|
||||||
|
|
||||||
|
# MariaDB Database Name
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_DATABASE=azuracast
|
||||||
|
|
||||||
|
# Auto-generate Random MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# MYSQL_RANDOM_ROOT_PASSWORD=
|
||||||
|
|
||||||
|
# MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
MYSQL_ROOT_PASSWORD=XJwDwXYRy4QmFgJtdmRt
|
||||||
|
|
||||||
|
# Enable MariaDB Slow Query Log
|
||||||
|
# Log slower queries to diagnose possible database issues. Only turn this on
|
||||||
|
# if needed.
|
||||||
|
# MYSQL_SLOW_QUERY_LOG=
|
||||||
|
|
||||||
|
# MariaDB Maximum Connections
|
||||||
|
# Set the amount of allowed connections to the database. This value should be
|
||||||
|
# increased if you are seeing the "Too many connections" error in the logs.
|
||||||
|
# Default: 100
|
||||||
|
# MYSQL_MAX_CONNECTIONS=100
|
||||||
|
|
||||||
|
# MariaDB InnoDB Buffer Pool Size
|
||||||
|
# The InnoDB buffer pool size controls how much data & indexes are kept in
|
||||||
|
# memory. Making sure that this value is as large as possible reduces the
|
||||||
|
# amount of disk IO.
|
||||||
|
# Default: 128M
|
||||||
|
# MYSQL_INNODB_BUFFER_POOL_SIZE=128M
|
||||||
|
|
||||||
|
# MariaDB InnoDB Log File Size
|
||||||
|
# The InnoDB log file is used to achieve data durability in case of crashes
|
||||||
|
# or unexpected shutoffs and to allow the DB to better optimize IO for write
|
||||||
|
# operations.
|
||||||
|
# Default: 16M
|
||||||
|
# MYSQL_INNODB_LOG_FILE_SIZE=16M
|
||||||
|
|
||||||
|
# Enable Redis
|
||||||
|
# Disable to use a flatfile cache instead of Redis.
|
||||||
|
# ENABLE_REDIS=
|
||||||
|
|
||||||
|
# Redis Host
|
||||||
|
# Default: localhost
|
||||||
|
REDIS_HOST=localhost
|
||||||
|
|
||||||
|
# Redis Port
|
||||||
|
# Default: 6379
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
# PHP Maximum POST File Size
|
||||||
|
# Default: 25M
|
||||||
|
# PHP_MAX_FILE_SIZE=25M
|
||||||
|
|
||||||
|
# PHP Memory Limit
|
||||||
|
# Default: 128M
|
||||||
|
# PHP_MEMORY_LIMIT=128M
|
||||||
|
|
||||||
|
# PHP Script Maximum Execution Time (Seconds)
|
||||||
|
# Default: 30
|
||||||
|
# PHP_MAX_EXECUTION_TIME=30
|
||||||
|
|
||||||
|
# Short Sync Task Execution Time (Seconds)
|
||||||
|
# The maximum execution time (and lock timeout) for the 15-second, 1-minute
|
||||||
|
# and 5-minute synchronization tasks.
|
||||||
|
# SYNC_SHORT_EXECUTION_TIME=
|
||||||
|
|
||||||
|
# Long Sync Task Execution Time (Seconds)
|
||||||
|
# The maximum execution time (and lock timeout) for the 1-hour
|
||||||
|
# synchronization task.
|
||||||
|
# SYNC_LONG_EXECUTION_TIME=
|
||||||
|
|
||||||
|
# Now Playing Delay Time (Seconds)
|
||||||
|
# The delay between Now Playing checks for every station. Decrease for more
|
||||||
|
# frequent checks at the expense of performance; increase for less frequent
|
||||||
|
# checks but better performance (for large installations).
|
||||||
|
# NOW_PLAYING_DELAY_TIME=
|
||||||
|
|
||||||
|
# Now Playing Max Concurrent Processes
|
||||||
|
# The maximum number of concurrent processes for now playing updates.
|
||||||
|
# Increasing this can help reduce the latency between updates now playing
|
||||||
|
# updates on large installations.
|
||||||
|
# NOW_PLAYING_MAX_CONCURRENT_PROCESSES=
|
||||||
|
|
||||||
|
# Maximum PHP-FPM Worker Processes
|
||||||
|
# Default: 5
|
||||||
|
# PHP_FPM_MAX_CHILDREN=5
|
||||||
|
|
||||||
|
# Enable Performance Profiling Extension
|
||||||
|
# Profiling data can be viewed by visiting
|
||||||
|
# http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/.
|
||||||
|
# PROFILING_EXTENSION_ENABLED=
|
||||||
|
|
||||||
|
# Profile Performance on All Requests
|
||||||
|
# This will have a significant performance impact on your installation.
|
||||||
|
# PROFILING_EXTENSION_ALWAYS_ON=
|
||||||
|
|
||||||
|
# Profiling Extension HTTP Key
|
||||||
|
# The value for the "SPX_KEY" parameter for viewing profiling pages.
|
||||||
|
# PROFILING_EXTENSION_HTTP_KEY=
|
||||||
|
|
||||||
|
# Profiling Extension IP Allow List
|
||||||
|
# Valid options: 127.0.0.1, *
|
||||||
|
# Default: *
|
||||||
|
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*
|
||||||
|
|
||||||
|
# Nginx Max Client Body Size
|
||||||
|
# This is the total size any single request body can be. AzuraCast chunks its
|
||||||
|
# uploads into smaller file sizes, so this only applies when doing custom
|
||||||
|
# uploads via the API. Sizes should be listed in a format like "100K",
|
||||||
|
# "128M", "1G" for kilobytes, megabytes, and gigabytes respectively.
|
||||||
|
# Default: 50M
|
||||||
|
# NGINX_CLIENT_MAX_BODY_SIZE=50M
|
||||||
|
|
||||||
|
# Enable web-based Docker image updates
|
||||||
|
# Default: 1
|
||||||
|
# ENABLE_WEB_UPDATER=1
|
||||||
|
|
||||||
|
# Extra Ubuntu packages to install upon startup
|
||||||
|
# Default: "Separate package names with a space. Packages will be installed during container startup."
|
||||||
|
# INSTALL_PACKAGES_ON_STARTUP="Separate package names with a space. Packages will be installed during container startup."
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
REDIS_DB=1
|
155
azuracast.env_backup_20240306-091007.bak
Normal file
155
azuracast.env_backup_20240306-091007.bak
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# The locale to use for CLI commands.
|
||||||
|
# Valid options: en_US, cs_CZ, de_DE, es_ES, fr_FR, el_GR, it_IT, hu_HU, nl_NL, pl_PL, pt_PT, pt_BR, ru_RU, sv_SE, tr_TR, zh_CN, ko_KR
|
||||||
|
# Default: en_US
|
||||||
|
LANG=en_US
|
||||||
|
|
||||||
|
# The application environment.
|
||||||
|
# Valid options: Production, Testing, Development
|
||||||
|
APPLICATION_ENV=production
|
||||||
|
|
||||||
|
# Manually modify the logging level.
|
||||||
|
# This allows you to log debug-level errors temporarily (for problem-solving)
|
||||||
|
# or reduce the volume of logs that are produced by your installation,
|
||||||
|
# without needing to modify whether your installation is a production or
|
||||||
|
# development instance.
|
||||||
|
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
|
||||||
|
# Default: notice
|
||||||
|
# LOG_LEVEL=notice
|
||||||
|
|
||||||
|
# Enable Custom Code Plugins
|
||||||
|
# Enable the composer "merge" functionality to combine the main application's
|
||||||
|
# composer.json file with any plugin composer files. This can have
|
||||||
|
# performance implications, so you should only use it if you use one or more
|
||||||
|
# plugins with their own Composer dependencies.
|
||||||
|
# Valid options: true, false
|
||||||
|
# COMPOSER_PLUGIN_MODE=
|
||||||
|
|
||||||
|
# Minimum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# Default: 8000
|
||||||
|
# AUTO_ASSIGN_PORT_MIN=8000
|
||||||
|
|
||||||
|
# Maximum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# Default: 8499
|
||||||
|
# AUTO_ASSIGN_PORT_MAX=8499
|
||||||
|
|
||||||
|
# Show Detailed Slim Application Errors
|
||||||
|
# This allows you to debug Slim Application Errors you may encounter. Please
|
||||||
|
# report any Slim Application Error logs to the development team on GitHub.
|
||||||
|
# Valid options: true, false
|
||||||
|
# SHOW_DETAILED_ERRORS=
|
||||||
|
|
||||||
|
# MariaDB Host
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: localhost
|
||||||
|
MYSQL_HOST=localhost
|
||||||
|
|
||||||
|
# MariaDB Port
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: 3306
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
|
||||||
|
# MariaDB Username
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_USER=azuracast
|
||||||
|
|
||||||
|
# MariaDB Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azur4c457
|
||||||
|
MYSQL_PASSWORD=JcwgjT66MnKg
|
||||||
|
|
||||||
|
# MariaDB Database Name
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_DATABASE=azuracast
|
||||||
|
|
||||||
|
# Auto-generate Random MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# MYSQL_RANDOM_ROOT_PASSWORD=
|
||||||
|
|
||||||
|
# MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
MYSQL_ROOT_PASSWORD=XJwDwXYRy4QmFgJtdmRt
|
||||||
|
|
||||||
|
# Enable MariaDB Slow Query Log
|
||||||
|
# Log slower queries to diagnose possible database issues. Only turn this on
|
||||||
|
# if needed.
|
||||||
|
# MYSQL_SLOW_QUERY_LOG=
|
||||||
|
|
||||||
|
# MariaDB Maximum Connections
|
||||||
|
# Set the amount of allowed connections to the database. This value should be
|
||||||
|
# increased if you are seeing the "Too many connections" error in the logs.
|
||||||
|
# Default: 100
|
||||||
|
# MYSQL_MAX_CONNECTIONS=100
|
||||||
|
|
||||||
|
# Enable Redis
|
||||||
|
# Disable to use a flatfile cache instead of Redis.
|
||||||
|
# Default: true
|
||||||
|
# ENABLE_REDIS=true
|
||||||
|
|
||||||
|
# Redis Host
|
||||||
|
# Default: localhost
|
||||||
|
REDIS_HOST=localhost
|
||||||
|
|
||||||
|
# Redis Port
|
||||||
|
# Default: 6379
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
# Redis Database Index
|
||||||
|
# Valid options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
||||||
|
# Default: 1
|
||||||
|
REDIS_DB=1
|
||||||
|
|
||||||
|
# PHP Maximum POST File Size
|
||||||
|
# Default: 25M
|
||||||
|
# PHP_MAX_FILE_SIZE=25M
|
||||||
|
|
||||||
|
# PHP Memory Limit
|
||||||
|
# Default: 128M
|
||||||
|
# PHP_MEMORY_LIMIT=128M
|
||||||
|
|
||||||
|
# PHP Script Maximum Execution Time
|
||||||
|
# (in seconds)
|
||||||
|
# Default: 30
|
||||||
|
# PHP_MAX_EXECUTION_TIME=30
|
||||||
|
|
||||||
|
# Short Sync Task Execution Time
|
||||||
|
# The maximum execution time (and lock timeout) for the 15-second, 1-minute
|
||||||
|
# and 5-minute synchronization tasks.
|
||||||
|
# Default: 600
|
||||||
|
# SYNC_SHORT_EXECUTION_TIME=600
|
||||||
|
|
||||||
|
# Long Sync Task Execution Time
|
||||||
|
# The maximum execution time (and lock timeout) for the 1-hour
|
||||||
|
# synchronization task.
|
||||||
|
# Default: 1800
|
||||||
|
# SYNC_LONG_EXECUTION_TIME=1800
|
||||||
|
|
||||||
|
# Maximum PHP-FPM Worker Processes
|
||||||
|
# Default: 5
|
||||||
|
# PHP_FPM_MAX_CHILDREN=5
|
||||||
|
|
||||||
|
# Enable Performance Profiling Extension
|
||||||
|
# Profiling data can be viewed by visiting
|
||||||
|
# http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/.
|
||||||
|
# PROFILING_EXTENSION_ENABLED=
|
||||||
|
|
||||||
|
# Profile Performance on All Requests
|
||||||
|
# This will have a significant performance impact on your installation.
|
||||||
|
# PROFILING_EXTENSION_ALWAYS_ON=
|
||||||
|
|
||||||
|
# Profiling Extension HTTP Key
|
||||||
|
# The value for the "SPX_KEY" parameter for viewing profiling pages.
|
||||||
|
# Default: dev
|
||||||
|
# PROFILING_EXTENSION_HTTP_KEY=dev
|
||||||
|
|
||||||
|
# Profiling Extension IP Allow List
|
||||||
|
# Valid options: 127.0.0.1, *
|
||||||
|
# Default: *
|
||||||
|
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*
|
155
azuracast.env_backup_20240418-080053.bak
Normal file
155
azuracast.env_backup_20240418-080053.bak
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# The locale to use for CLI commands.
|
||||||
|
# Valid options: en_US, cs_CZ, de_DE, es_ES, fr_FR, el_GR, it_IT, hu_HU, nl_NL, pl_PL, pt_PT, pt_BR, ru_RU, sv_SE, tr_TR, zh_CN, ko_KR
|
||||||
|
# Default: en_US
|
||||||
|
LANG=en_US
|
||||||
|
|
||||||
|
# The application environment.
|
||||||
|
# Valid options: Production, Testing, Development
|
||||||
|
APPLICATION_ENV=production
|
||||||
|
|
||||||
|
# Manually modify the logging level.
|
||||||
|
# This allows you to log debug-level errors temporarily (for problem-solving)
|
||||||
|
# or reduce the volume of logs that are produced by your installation,
|
||||||
|
# without needing to modify whether your installation is a production or
|
||||||
|
# development instance.
|
||||||
|
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
|
||||||
|
# Default: notice
|
||||||
|
# LOG_LEVEL=notice
|
||||||
|
|
||||||
|
# Enable Custom Code Plugins
|
||||||
|
# Enable the composer "merge" functionality to combine the main application's
|
||||||
|
# composer.json file with any plugin composer files. This can have
|
||||||
|
# performance implications, so you should only use it if you use one or more
|
||||||
|
# plugins with their own Composer dependencies.
|
||||||
|
# Valid options: true, false
|
||||||
|
# COMPOSER_PLUGIN_MODE=
|
||||||
|
|
||||||
|
# Minimum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# Default: 8000
|
||||||
|
# AUTO_ASSIGN_PORT_MIN=8000
|
||||||
|
|
||||||
|
# Maximum Port for Station Port Assignment
|
||||||
|
# Modify this if your stations are listening on nonstandard ports.
|
||||||
|
# Default: 8499
|
||||||
|
# AUTO_ASSIGN_PORT_MAX=8499
|
||||||
|
|
||||||
|
# Show Detailed Slim Application Errors
|
||||||
|
# This allows you to debug Slim Application Errors you may encounter. Please
|
||||||
|
# report any Slim Application Error logs to the development team on GitHub.
|
||||||
|
# Valid options: true, false
|
||||||
|
# SHOW_DETAILED_ERRORS=
|
||||||
|
|
||||||
|
# MariaDB Host
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: localhost
|
||||||
|
MYSQL_HOST=localhost
|
||||||
|
|
||||||
|
# MariaDB Port
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: 3306
|
||||||
|
MYSQL_PORT=3306
|
||||||
|
|
||||||
|
# MariaDB Username
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_USER=azuracast
|
||||||
|
|
||||||
|
# MariaDB Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azur4c457
|
||||||
|
MYSQL_PASSWORD=JcwgjT66MnKg
|
||||||
|
|
||||||
|
# MariaDB Database Name
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
MYSQL_DATABASE=azuracast
|
||||||
|
|
||||||
|
# Auto-generate Random MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
# MYSQL_RANDOM_ROOT_PASSWORD=
|
||||||
|
|
||||||
|
# MariaDB Root Password
|
||||||
|
# Do not modify this after installation.
|
||||||
|
MYSQL_ROOT_PASSWORD=XJwDwXYRy4QmFgJtdmRt
|
||||||
|
|
||||||
|
# Enable MariaDB Slow Query Log
|
||||||
|
# Log slower queries to diagnose possible database issues. Only turn this on
|
||||||
|
# if needed.
|
||||||
|
# MYSQL_SLOW_QUERY_LOG=
|
||||||
|
|
||||||
|
# MariaDB Maximum Connections
|
||||||
|
# Set the amount of allowed connections to the database. This value should be
|
||||||
|
# increased if you are seeing the "Too many connections" error in the logs.
|
||||||
|
# Default: 100
|
||||||
|
# MYSQL_MAX_CONNECTIONS=100
|
||||||
|
|
||||||
|
# Enable Redis
|
||||||
|
# Disable to use a flatfile cache instead of Redis.
|
||||||
|
# Default: true
|
||||||
|
# ENABLE_REDIS=true
|
||||||
|
|
||||||
|
# Redis Host
|
||||||
|
# Default: localhost
|
||||||
|
REDIS_HOST=localhost
|
||||||
|
|
||||||
|
# Redis Port
|
||||||
|
# Default: 6379
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
# Redis Database Index
|
||||||
|
# Valid options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
|
||||||
|
# Default: 1
|
||||||
|
REDIS_DB=1
|
||||||
|
|
||||||
|
# PHP Maximum POST File Size
|
||||||
|
# Default: 25M
|
||||||
|
# PHP_MAX_FILE_SIZE=25M
|
||||||
|
|
||||||
|
# PHP Memory Limit
|
||||||
|
# Default: 128M
|
||||||
|
# PHP_MEMORY_LIMIT=128M
|
||||||
|
|
||||||
|
# PHP Script Maximum Execution Time
|
||||||
|
# (in seconds)
|
||||||
|
# Default: 30
|
||||||
|
# PHP_MAX_EXECUTION_TIME=30
|
||||||
|
|
||||||
|
# Short Sync Task Execution Time
|
||||||
|
# The maximum execution time (and lock timeout) for the 15-second, 1-minute
|
||||||
|
# and 5-minute synchronization tasks.
|
||||||
|
# Default: 600
|
||||||
|
# SYNC_SHORT_EXECUTION_TIME=600
|
||||||
|
|
||||||
|
# Long Sync Task Execution Time
|
||||||
|
# The maximum execution time (and lock timeout) for the 1-hour
|
||||||
|
# synchronization task.
|
||||||
|
# Default: 1800
|
||||||
|
# SYNC_LONG_EXECUTION_TIME=1800
|
||||||
|
|
||||||
|
# Maximum PHP-FPM Worker Processes
|
||||||
|
# Default: 5
|
||||||
|
# PHP_FPM_MAX_CHILDREN=5
|
||||||
|
|
||||||
|
# Enable Performance Profiling Extension
|
||||||
|
# Profiling data can be viewed by visiting
|
||||||
|
# http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/.
|
||||||
|
# PROFILING_EXTENSION_ENABLED=
|
||||||
|
|
||||||
|
# Profile Performance on All Requests
|
||||||
|
# This will have a significant performance impact on your installation.
|
||||||
|
# PROFILING_EXTENSION_ALWAYS_ON=
|
||||||
|
|
||||||
|
# Profiling Extension HTTP Key
|
||||||
|
# The value for the "SPX_KEY" parameter for viewing profiling pages.
|
||||||
|
# Default: dev
|
||||||
|
# PROFILING_EXTENSION_HTTP_KEY=dev
|
||||||
|
|
||||||
|
# Profiling Extension IP Allow List
|
||||||
|
# Valid options: 127.0.0.1, *
|
||||||
|
# Default: *
|
||||||
|
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*
|
199
docker-compose.backup.yml
Normal file
199
docker-compose.backup.yml
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
services:
|
||||||
|
web:
|
||||||
|
container_name: azuracast
|
||||||
|
image: 'ghcr.io/azuracast/azuracast:${AZURACAST_VERSION:-latest}'
|
||||||
|
labels:
|
||||||
|
- com.centurylinklabs.watchtower.scope=azuracast
|
||||||
|
ports:
|
||||||
|
- '${AZURACAST_HTTP_PORT:-80}:${AZURACAST_HTTP_PORT:-80}'
|
||||||
|
- '${AZURACAST_HTTPS_PORT:-443}:${AZURACAST_HTTPS_PORT:-443}'
|
||||||
|
- '${AZURACAST_SFTP_PORT:-2022}:${AZURACAST_SFTP_PORT:-2022}'
|
||||||
|
- '8000:8000'
|
||||||
|
- '8005:8005'
|
||||||
|
- '8006:8006'
|
||||||
|
- '8010:8010'
|
||||||
|
- '8015:8015'
|
||||||
|
- '8016:8016'
|
||||||
|
- '8020:8020'
|
||||||
|
- '8025:8025'
|
||||||
|
- '8026:8026'
|
||||||
|
- '8030:8030'
|
||||||
|
- '8035:8035'
|
||||||
|
- '8036:8036'
|
||||||
|
- '8040:8040'
|
||||||
|
- '8045:8045'
|
||||||
|
- '8046:8046'
|
||||||
|
- '8050:8050'
|
||||||
|
- '8055:8055'
|
||||||
|
- '8056:8056'
|
||||||
|
- '8060:8060'
|
||||||
|
- '8065:8065'
|
||||||
|
- '8066:8066'
|
||||||
|
- '8070:8070'
|
||||||
|
- '8075:8075'
|
||||||
|
- '8076:8076'
|
||||||
|
- '8090:8090'
|
||||||
|
- '8095:8095'
|
||||||
|
- '8096:8096'
|
||||||
|
- '8100:8100'
|
||||||
|
- '8105:8105'
|
||||||
|
- '8106:8106'
|
||||||
|
- '8110:8110'
|
||||||
|
- '8115:8115'
|
||||||
|
- '8116:8116'
|
||||||
|
- '8120:8120'
|
||||||
|
- '8125:8125'
|
||||||
|
- '8126:8126'
|
||||||
|
- '8130:8130'
|
||||||
|
- '8135:8135'
|
||||||
|
- '8136:8136'
|
||||||
|
- '8140:8140'
|
||||||
|
- '8145:8145'
|
||||||
|
- '8146:8146'
|
||||||
|
- '8150:8150'
|
||||||
|
- '8155:8155'
|
||||||
|
- '8156:8156'
|
||||||
|
- '8160:8160'
|
||||||
|
- '8165:8165'
|
||||||
|
- '8166:8166'
|
||||||
|
- '8170:8170'
|
||||||
|
- '8175:8175'
|
||||||
|
- '8176:8176'
|
||||||
|
- '8180:8180'
|
||||||
|
- '8185:8185'
|
||||||
|
- '8186:8186'
|
||||||
|
- '8190:8190'
|
||||||
|
- '8195:8195'
|
||||||
|
- '8196:8196'
|
||||||
|
- '8200:8200'
|
||||||
|
- '8205:8205'
|
||||||
|
- '8206:8206'
|
||||||
|
- '8210:8210'
|
||||||
|
- '8215:8215'
|
||||||
|
- '8216:8216'
|
||||||
|
- '8220:8220'
|
||||||
|
- '8225:8225'
|
||||||
|
- '8226:8226'
|
||||||
|
- '8230:8230'
|
||||||
|
- '8235:8235'
|
||||||
|
- '8236:8236'
|
||||||
|
- '8240:8240'
|
||||||
|
- '8245:8245'
|
||||||
|
- '8246:8246'
|
||||||
|
- '8250:8250'
|
||||||
|
- '8255:8255'
|
||||||
|
- '8256:8256'
|
||||||
|
- '8260:8260'
|
||||||
|
- '8265:8265'
|
||||||
|
- '8266:8266'
|
||||||
|
- '8270:8270'
|
||||||
|
- '8275:8275'
|
||||||
|
- '8276:8276'
|
||||||
|
- '8280:8280'
|
||||||
|
- '8285:8285'
|
||||||
|
- '8286:8286'
|
||||||
|
- '8290:8290'
|
||||||
|
- '8295:8295'
|
||||||
|
- '8296:8296'
|
||||||
|
- '8300:8300'
|
||||||
|
- '8305:8305'
|
||||||
|
- '8306:8306'
|
||||||
|
- '8310:8310'
|
||||||
|
- '8315:8315'
|
||||||
|
- '8316:8316'
|
||||||
|
- '8320:8320'
|
||||||
|
- '8325:8325'
|
||||||
|
- '8326:8326'
|
||||||
|
- '8330:8330'
|
||||||
|
- '8335:8335'
|
||||||
|
- '8336:8336'
|
||||||
|
- '8340:8340'
|
||||||
|
- '8345:8345'
|
||||||
|
- '8346:8346'
|
||||||
|
- '8350:8350'
|
||||||
|
- '8355:8355'
|
||||||
|
- '8356:8356'
|
||||||
|
- '8360:8360'
|
||||||
|
- '8365:8365'
|
||||||
|
- '8366:8366'
|
||||||
|
- '8370:8370'
|
||||||
|
- '8375:8375'
|
||||||
|
- '8376:8376'
|
||||||
|
- '8380:8380'
|
||||||
|
- '8385:8385'
|
||||||
|
- '8386:8386'
|
||||||
|
- '8390:8390'
|
||||||
|
- '8395:8395'
|
||||||
|
- '8396:8396'
|
||||||
|
- '8400:8400'
|
||||||
|
- '8405:8405'
|
||||||
|
- '8406:8406'
|
||||||
|
- '8410:8410'
|
||||||
|
- '8415:8415'
|
||||||
|
- '8416:8416'
|
||||||
|
- '8420:8420'
|
||||||
|
- '8425:8425'
|
||||||
|
- '8426:8426'
|
||||||
|
- '8430:8430'
|
||||||
|
- '8435:8435'
|
||||||
|
- '8436:8436'
|
||||||
|
- '8440:8440'
|
||||||
|
- '8445:8445'
|
||||||
|
- '8446:8446'
|
||||||
|
- '8450:8450'
|
||||||
|
- '8455:8455'
|
||||||
|
- '8456:8456'
|
||||||
|
- '8460:8460'
|
||||||
|
- '8465:8465'
|
||||||
|
- '8466:8466'
|
||||||
|
- '8470:8470'
|
||||||
|
- '8475:8475'
|
||||||
|
- '8476:8476'
|
||||||
|
- '8480:8480'
|
||||||
|
- '8485:8485'
|
||||||
|
- '8486:8486'
|
||||||
|
- '8490:8490'
|
||||||
|
- '8495:8495'
|
||||||
|
- '8496:8496'
|
||||||
|
env_file:
|
||||||
|
- azuracast.env
|
||||||
|
- .env
|
||||||
|
volumes:
|
||||||
|
- 'station_data:/var/azuracast/stations'
|
||||||
|
- 'backups:/var/azuracast/backups'
|
||||||
|
- 'db_data:/var/lib/mysql'
|
||||||
|
- 'www_uploads:/var/azuracast/storage/uploads'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/storage/shoutcast2'
|
||||||
|
- 'stereo_tool_install:/var/azuracast/storage/stereo_tool'
|
||||||
|
- 'geolite_install:/var/azuracast/storage/geoip'
|
||||||
|
- 'sftpgo_data:/var/azuracast/storage/sftpgo'
|
||||||
|
- 'acme:/var/azuracast/storage/acme'
|
||||||
|
- '/data/media/station_store:/var/azuracast/stations'
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
updater:
|
||||||
|
container_name: azuracast_updater
|
||||||
|
image: 'ghcr.io/azuracast/updater:latest'
|
||||||
|
volumes:
|
||||||
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
volumes:
|
||||||
|
db_data: { }
|
||||||
|
acme: { }
|
||||||
|
shoutcast2_install: { }
|
||||||
|
stereo_tool_install: { }
|
||||||
|
geolite_install: { }
|
||||||
|
sftpgo_data: { }
|
||||||
|
station_data: { }
|
||||||
|
www_uploads: { }
|
||||||
|
backups: { }
|
263
docker-compose.external.yml
Normal file
263
docker-compose.external.yml
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
services:
|
||||||
|
web:
|
||||||
|
container_name: azuracast_web
|
||||||
|
image: 'ghcr.io/azuracast/web:${AZURACAST_VERSION:-latest}'
|
||||||
|
ports:
|
||||||
|
- '${AZURACAST_HTTP_PORT:-80}:80'
|
||||||
|
- '${AZURACAST_HTTPS_PORT:-443}:443'
|
||||||
|
- '${AZURACAST_SFTP_PORT:-2022}:2022'
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
- stations
|
||||||
|
- redis
|
||||||
|
env_file: azuracast.env
|
||||||
|
environment:
|
||||||
|
LANG: '${LANG:-en_US.UTF-8}'
|
||||||
|
AZURACAST_DC_REVISION: 13
|
||||||
|
AZURACAST_VERSION: '${AZURACAST_VERSION:-latest}'
|
||||||
|
AZURACAST_SFTP_PORT: '${AZURACAST_SFTP_PORT:-2022}'
|
||||||
|
NGINX_TIMEOUT: '${NGINX_TIMEOUT:-1800}'
|
||||||
|
LETSENCRYPT_HOST: '${LETSENCRYPT_HOST:-}'
|
||||||
|
LETSENCRYPT_EMAIL: '${LETSENCRYPT_EMAIL:-}'
|
||||||
|
PUID: '${AZURACAST_PUID:-1000}'
|
||||||
|
PGID: '${AZURACAST_PGID:-1000}'
|
||||||
|
volumes:
|
||||||
|
- 'letsencrypt:/etc/nginx/certs'
|
||||||
|
- 'letsencrypt_acme:/etc/acme.sh'
|
||||||
|
- 'www_vendor:/var/azuracast/www/vendor'
|
||||||
|
- 'www_uploads:/var/azuracast/uploads'
|
||||||
|
- 'tmp_data:/var/azuracast/www_tmp'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/servers/shoutcast2'
|
||||||
|
- 'geolite_install:/var/azuracast/geoip'
|
||||||
|
- 'sftpgo_data:/var/azuracast/sftpgo/persist'
|
||||||
|
- 'backups:/var/azuracast/backups'
|
||||||
|
- '/data/media/station_store:/var/azuracast/stations'
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
mariadb:
|
||||||
|
container_name: azuracast_mariadb
|
||||||
|
image: 'ghcr.io/azuracast/db:${AZURACAST_VERSION:-latest}'
|
||||||
|
volumes:
|
||||||
|
- 'db_data:/var/lib/mysql'
|
||||||
|
env_file: azuracast.env
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
redis:
|
||||||
|
container_name: azuracast_redis
|
||||||
|
image: 'ghcr.io/azuracast/redis:${AZURACAST_VERSION:-latest}'
|
||||||
|
sysctls:
|
||||||
|
net.core.somaxconn: 1024
|
||||||
|
volumes:
|
||||||
|
- 'redis_data:/data'
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
stations:
|
||||||
|
container_name: azuracast_stations
|
||||||
|
image: 'ghcr.io/azuracast/radio:${AZURACAST_VERSION:-latest}'
|
||||||
|
environment:
|
||||||
|
PUID: '${AZURACAST_PUID:-1000}'
|
||||||
|
PGID: '${AZURACAST_PGID:-1000}'
|
||||||
|
ports:
|
||||||
|
- '8000:8000'
|
||||||
|
- '8005:8005'
|
||||||
|
- '8006:8006'
|
||||||
|
- '8010:8010'
|
||||||
|
- '8015:8015'
|
||||||
|
- '8016:8016'
|
||||||
|
- '8020:8020'
|
||||||
|
- '8025:8025'
|
||||||
|
- '8026:8026'
|
||||||
|
- '8030:8030'
|
||||||
|
- '8035:8035'
|
||||||
|
- '8036:8036'
|
||||||
|
- '8040:8040'
|
||||||
|
- '8045:8045'
|
||||||
|
- '8046:8046'
|
||||||
|
- '8050:8050'
|
||||||
|
- '8055:8055'
|
||||||
|
- '8056:8056'
|
||||||
|
- '8060:8060'
|
||||||
|
- '8065:8065'
|
||||||
|
- '8066:8066'
|
||||||
|
- '8070:8070'
|
||||||
|
- '8075:8075'
|
||||||
|
- '8076:8076'
|
||||||
|
- '8090:8090'
|
||||||
|
- '8095:8095'
|
||||||
|
- '8096:8096'
|
||||||
|
- '8100:8100'
|
||||||
|
- '8105:8105'
|
||||||
|
- '8106:8106'
|
||||||
|
- '8110:8110'
|
||||||
|
- '8115:8115'
|
||||||
|
- '8116:8116'
|
||||||
|
- '8120:8120'
|
||||||
|
- '8125:8125'
|
||||||
|
- '8126:8126'
|
||||||
|
- '8130:8130'
|
||||||
|
- '8135:8135'
|
||||||
|
- '8136:8136'
|
||||||
|
- '8140:8140'
|
||||||
|
- '8145:8145'
|
||||||
|
- '8146:8146'
|
||||||
|
- '8150:8150'
|
||||||
|
- '8155:8155'
|
||||||
|
- '8156:8156'
|
||||||
|
- '8160:8160'
|
||||||
|
- '8165:8165'
|
||||||
|
- '8166:8166'
|
||||||
|
- '8170:8170'
|
||||||
|
- '8175:8175'
|
||||||
|
- '8176:8176'
|
||||||
|
- '8180:8180'
|
||||||
|
- '8185:8185'
|
||||||
|
- '8186:8186'
|
||||||
|
- '8190:8190'
|
||||||
|
- '8195:8195'
|
||||||
|
- '8196:8196'
|
||||||
|
- '8200:8200'
|
||||||
|
- '8205:8205'
|
||||||
|
- '8206:8206'
|
||||||
|
- '8210:8210'
|
||||||
|
- '8215:8215'
|
||||||
|
- '8216:8216'
|
||||||
|
- '8220:8220'
|
||||||
|
- '8225:8225'
|
||||||
|
- '8226:8226'
|
||||||
|
- '8230:8230'
|
||||||
|
- '8235:8235'
|
||||||
|
- '8236:8236'
|
||||||
|
- '8240:8240'
|
||||||
|
- '8245:8245'
|
||||||
|
- '8246:8246'
|
||||||
|
- '8250:8250'
|
||||||
|
- '8255:8255'
|
||||||
|
- '8256:8256'
|
||||||
|
- '8260:8260'
|
||||||
|
- '8265:8265'
|
||||||
|
- '8266:8266'
|
||||||
|
- '8270:8270'
|
||||||
|
- '8275:8275'
|
||||||
|
- '8276:8276'
|
||||||
|
- '8280:8280'
|
||||||
|
- '8285:8285'
|
||||||
|
- '8286:8286'
|
||||||
|
- '8290:8290'
|
||||||
|
- '8295:8295'
|
||||||
|
- '8296:8296'
|
||||||
|
- '8300:8300'
|
||||||
|
- '8305:8305'
|
||||||
|
- '8306:8306'
|
||||||
|
- '8310:8310'
|
||||||
|
- '8315:8315'
|
||||||
|
- '8316:8316'
|
||||||
|
- '8320:8320'
|
||||||
|
- '8325:8325'
|
||||||
|
- '8326:8326'
|
||||||
|
- '8330:8330'
|
||||||
|
- '8335:8335'
|
||||||
|
- '8336:8336'
|
||||||
|
- '8340:8340'
|
||||||
|
- '8345:8345'
|
||||||
|
- '8346:8346'
|
||||||
|
- '8350:8350'
|
||||||
|
- '8355:8355'
|
||||||
|
- '8356:8356'
|
||||||
|
- '8360:8360'
|
||||||
|
- '8365:8365'
|
||||||
|
- '8366:8366'
|
||||||
|
- '8370:8370'
|
||||||
|
- '8375:8375'
|
||||||
|
- '8376:8376'
|
||||||
|
- '8380:8380'
|
||||||
|
- '8385:8385'
|
||||||
|
- '8386:8386'
|
||||||
|
- '8390:8390'
|
||||||
|
- '8395:8395'
|
||||||
|
- '8396:8396'
|
||||||
|
- '8400:8400'
|
||||||
|
- '8405:8405'
|
||||||
|
- '8406:8406'
|
||||||
|
- '8410:8410'
|
||||||
|
- '8415:8415'
|
||||||
|
- '8416:8416'
|
||||||
|
- '8420:8420'
|
||||||
|
- '8425:8425'
|
||||||
|
- '8426:8426'
|
||||||
|
- '8430:8430'
|
||||||
|
- '8435:8435'
|
||||||
|
- '8436:8436'
|
||||||
|
- '8440:8440'
|
||||||
|
- '8445:8445'
|
||||||
|
- '8446:8446'
|
||||||
|
- '8450:8450'
|
||||||
|
- '8455:8455'
|
||||||
|
- '8456:8456'
|
||||||
|
- '8460:8460'
|
||||||
|
- '8465:8465'
|
||||||
|
- '8466:8466'
|
||||||
|
- '8470:8470'
|
||||||
|
- '8475:8475'
|
||||||
|
- '8476:8476'
|
||||||
|
- '8480:8480'
|
||||||
|
- '8485:8485'
|
||||||
|
- '8486:8486'
|
||||||
|
- '8490:8490'
|
||||||
|
- '8495:8495'
|
||||||
|
- '8496:8496'
|
||||||
|
volumes:
|
||||||
|
- 'station_data:/var/azuracast/stations'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/servers/shoutcast2'
|
||||||
|
- 'letsencrypt:/etc/nginx/certs'
|
||||||
|
- 'tmp_data:/var/azuracast/www_tmp'
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
- backend
|
||||||
|
init: true
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
networks:
|
||||||
|
frontend:
|
||||||
|
driver: bridge
|
||||||
|
backend:
|
||||||
|
driver: bridge
|
||||||
|
volumes:
|
||||||
|
db_data: { }
|
||||||
|
letsencrypt: { }
|
||||||
|
letsencrypt_acme: { }
|
||||||
|
shoutcast2_install: { }
|
||||||
|
geolite_install: { }
|
||||||
|
sftpgo_data: { }
|
||||||
|
station_data: { }
|
||||||
|
www_vendor: { }
|
||||||
|
www_uploads: { }
|
||||||
|
tmp_data: { }
|
||||||
|
redis_data: { }
|
||||||
|
backups: { }
|
265
docker-compose.moved.yml
Normal file
265
docker-compose.moved.yml
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
services:
|
||||||
|
web:
|
||||||
|
container_name: azuracast_web
|
||||||
|
image: 'ghcr.io/azuracast/web:${AZURACAST_VERSION:-latest}'
|
||||||
|
ports:
|
||||||
|
- '${AZURACAST_HTTP_PORT:-80}:80'
|
||||||
|
- '${AZURACAST_HTTPS_PORT:-443}:443'
|
||||||
|
- '${AZURACAST_SFTP_PORT:-2022}:2022'
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
- stations
|
||||||
|
- redis
|
||||||
|
env_file: azuracast.env
|
||||||
|
environment:
|
||||||
|
LANG: '${LANG:-en_US.UTF-8}'
|
||||||
|
AZURACAST_DC_REVISION: 13
|
||||||
|
AZURACAST_VERSION: '${AZURACAST_VERSION:-latest}'
|
||||||
|
AZURACAST_SFTP_PORT: '${AZURACAST_SFTP_PORT:-2022}'
|
||||||
|
NGINX_TIMEOUT: '${NGINX_TIMEOUT:-1800}'
|
||||||
|
LETSENCRYPT_HOST: '${LETSENCRYPT_HOST:-}'
|
||||||
|
LETSENCRYPT_EMAIL: '${LETSENCRYPT_EMAIL:-}'
|
||||||
|
PUID: '${AZURACAST_PUID:-1000}'
|
||||||
|
PGID: '${AZURACAST_PGID:-1000}'
|
||||||
|
volumes:
|
||||||
|
- 'letsencrypt:/etc/nginx/certs'
|
||||||
|
- 'letsencrypt_acme:/etc/acme.sh'
|
||||||
|
- 'www_vendor:/var/azuracast/www/vendor'
|
||||||
|
- 'www_uploads:/var/azuracast/uploads'
|
||||||
|
- 'tmp_data:/var/azuracast/www_tmp'
|
||||||
|
- 'new_station_data:/var/azuracast/stations'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/servers/shoutcast2'
|
||||||
|
- 'geolite_install:/var/azuracast/geoip'
|
||||||
|
- 'sftpgo_data:/var/azuracast/sftpgo/persist'
|
||||||
|
- 'backups:/var/azuracast/backups'
|
||||||
|
- /data/media/station_store:/var/azuracast/stations/rakh/media/
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
mariadb:
|
||||||
|
container_name: azuracast_mariadb
|
||||||
|
image: 'ghcr.io/azuracast/db:${AZURACAST_VERSION:-latest}'
|
||||||
|
volumes:
|
||||||
|
- 'db_data:/var/lib/mysql'
|
||||||
|
env_file: azuracast.env
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
redis:
|
||||||
|
container_name: azuracast_redis
|
||||||
|
image: 'ghcr.io/azuracast/redis:${AZURACAST_VERSION:-latest}'
|
||||||
|
sysctls:
|
||||||
|
net.core.somaxconn: 1024
|
||||||
|
volumes:
|
||||||
|
- 'redis_data:/data'
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
stations:
|
||||||
|
container_name: azuracast_stations
|
||||||
|
image: 'ghcr.io/azuracast/radio:${AZURACAST_VERSION:-latest}'
|
||||||
|
environment:
|
||||||
|
PUID: '${AZURACAST_PUID:-1000}'
|
||||||
|
PGID: '${AZURACAST_PGID:-1000}'
|
||||||
|
ports:
|
||||||
|
- '8000:8000'
|
||||||
|
- '8005:8005'
|
||||||
|
- '8006:8006'
|
||||||
|
- '8010:8010'
|
||||||
|
- '8015:8015'
|
||||||
|
- '8016:8016'
|
||||||
|
- '8020:8020'
|
||||||
|
- '8025:8025'
|
||||||
|
- '8026:8026'
|
||||||
|
- '8030:8030'
|
||||||
|
- '8035:8035'
|
||||||
|
- '8036:8036'
|
||||||
|
- '8040:8040'
|
||||||
|
- '8045:8045'
|
||||||
|
- '8046:8046'
|
||||||
|
- '8050:8050'
|
||||||
|
- '8055:8055'
|
||||||
|
- '8056:8056'
|
||||||
|
- '8060:8060'
|
||||||
|
- '8065:8065'
|
||||||
|
- '8066:8066'
|
||||||
|
- '8070:8070'
|
||||||
|
- '8075:8075'
|
||||||
|
- '8076:8076'
|
||||||
|
- '8090:8090'
|
||||||
|
- '8095:8095'
|
||||||
|
- '8096:8096'
|
||||||
|
- '8100:8100'
|
||||||
|
- '8105:8105'
|
||||||
|
- '8106:8106'
|
||||||
|
- '8110:8110'
|
||||||
|
- '8115:8115'
|
||||||
|
- '8116:8116'
|
||||||
|
- '8120:8120'
|
||||||
|
- '8125:8125'
|
||||||
|
- '8126:8126'
|
||||||
|
- '8130:8130'
|
||||||
|
- '8135:8135'
|
||||||
|
- '8136:8136'
|
||||||
|
- '8140:8140'
|
||||||
|
- '8145:8145'
|
||||||
|
- '8146:8146'
|
||||||
|
- '8150:8150'
|
||||||
|
- '8155:8155'
|
||||||
|
- '8156:8156'
|
||||||
|
- '8160:8160'
|
||||||
|
- '8165:8165'
|
||||||
|
- '8166:8166'
|
||||||
|
- '8170:8170'
|
||||||
|
- '8175:8175'
|
||||||
|
- '8176:8176'
|
||||||
|
- '8180:8180'
|
||||||
|
- '8185:8185'
|
||||||
|
- '8186:8186'
|
||||||
|
- '8190:8190'
|
||||||
|
- '8195:8195'
|
||||||
|
- '8196:8196'
|
||||||
|
- '8200:8200'
|
||||||
|
- '8205:8205'
|
||||||
|
- '8206:8206'
|
||||||
|
- '8210:8210'
|
||||||
|
- '8215:8215'
|
||||||
|
- '8216:8216'
|
||||||
|
- '8220:8220'
|
||||||
|
- '8225:8225'
|
||||||
|
- '8226:8226'
|
||||||
|
- '8230:8230'
|
||||||
|
- '8235:8235'
|
||||||
|
- '8236:8236'
|
||||||
|
- '8240:8240'
|
||||||
|
- '8245:8245'
|
||||||
|
- '8246:8246'
|
||||||
|
- '8250:8250'
|
||||||
|
- '8255:8255'
|
||||||
|
- '8256:8256'
|
||||||
|
- '8260:8260'
|
||||||
|
- '8265:8265'
|
||||||
|
- '8266:8266'
|
||||||
|
- '8270:8270'
|
||||||
|
- '8275:8275'
|
||||||
|
- '8276:8276'
|
||||||
|
- '8280:8280'
|
||||||
|
- '8285:8285'
|
||||||
|
- '8286:8286'
|
||||||
|
- '8290:8290'
|
||||||
|
- '8295:8295'
|
||||||
|
- '8296:8296'
|
||||||
|
- '8300:8300'
|
||||||
|
- '8305:8305'
|
||||||
|
- '8306:8306'
|
||||||
|
- '8310:8310'
|
||||||
|
- '8315:8315'
|
||||||
|
- '8316:8316'
|
||||||
|
- '8320:8320'
|
||||||
|
- '8325:8325'
|
||||||
|
- '8326:8326'
|
||||||
|
- '8330:8330'
|
||||||
|
- '8335:8335'
|
||||||
|
- '8336:8336'
|
||||||
|
- '8340:8340'
|
||||||
|
- '8345:8345'
|
||||||
|
- '8346:8346'
|
||||||
|
- '8350:8350'
|
||||||
|
- '8355:8355'
|
||||||
|
- '8356:8356'
|
||||||
|
- '8360:8360'
|
||||||
|
- '8365:8365'
|
||||||
|
- '8366:8366'
|
||||||
|
- '8370:8370'
|
||||||
|
- '8375:8375'
|
||||||
|
- '8376:8376'
|
||||||
|
- '8380:8380'
|
||||||
|
- '8385:8385'
|
||||||
|
- '8386:8386'
|
||||||
|
- '8390:8390'
|
||||||
|
- '8395:8395'
|
||||||
|
- '8396:8396'
|
||||||
|
- '8400:8400'
|
||||||
|
- '8405:8405'
|
||||||
|
- '8406:8406'
|
||||||
|
- '8410:8410'
|
||||||
|
- '8415:8415'
|
||||||
|
- '8416:8416'
|
||||||
|
- '8420:8420'
|
||||||
|
- '8425:8425'
|
||||||
|
- '8426:8426'
|
||||||
|
- '8430:8430'
|
||||||
|
- '8435:8435'
|
||||||
|
- '8436:8436'
|
||||||
|
- '8440:8440'
|
||||||
|
- '8445:8445'
|
||||||
|
- '8446:8446'
|
||||||
|
- '8450:8450'
|
||||||
|
- '8455:8455'
|
||||||
|
- '8456:8456'
|
||||||
|
- '8460:8460'
|
||||||
|
- '8465:8465'
|
||||||
|
- '8466:8466'
|
||||||
|
- '8470:8470'
|
||||||
|
- '8475:8475'
|
||||||
|
- '8476:8476'
|
||||||
|
- '8480:8480'
|
||||||
|
- '8485:8485'
|
||||||
|
- '8486:8486'
|
||||||
|
- '8490:8490'
|
||||||
|
- '8495:8495'
|
||||||
|
- '8496:8496'
|
||||||
|
volumes:
|
||||||
|
- 'station_data:/var/azuracast/stations'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/servers/shoutcast2'
|
||||||
|
- 'letsencrypt:/etc/nginx/certs'
|
||||||
|
- 'tmp_data:/var/azuracast/www_tmp'
|
||||||
|
networks:
|
||||||
|
- frontend
|
||||||
|
- backend
|
||||||
|
init: true
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
networks:
|
||||||
|
frontend:
|
||||||
|
driver: bridge
|
||||||
|
backend:
|
||||||
|
driver: bridge
|
||||||
|
volumes:
|
||||||
|
db_data: { }
|
||||||
|
letsencrypt: { }
|
||||||
|
letsencrypt_acme: { }
|
||||||
|
shoutcast2_install: { }
|
||||||
|
geolite_install: { }
|
||||||
|
sftpgo_data: { }
|
||||||
|
station_data: { }
|
||||||
|
www_vendor: { }
|
||||||
|
www_uploads: { }
|
||||||
|
tmp_data: { }
|
||||||
|
redis_data: { }
|
||||||
|
backups: { }
|
||||||
|
new_station_data: { }
|
64
docker-compose.yml
Normal file
64
docker-compose.yml
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
services:
|
||||||
|
web:
|
||||||
|
container_name: azuracast
|
||||||
|
image: 'ghcr.io/azuracast/azuracast:${AZURACAST_VERSION:-latest}'
|
||||||
|
labels:
|
||||||
|
- com.centurylinklabs.watchtower.scope=azuracast
|
||||||
|
ports:
|
||||||
|
- '${AZURACAST_HTTP_PORT:-80}:${AZURACAST_HTTP_PORT:-80}'
|
||||||
|
- '${AZURACAST_HTTPS_PORT:-443}:${AZURACAST_HTTPS_PORT:-443}'
|
||||||
|
- '${AZURACAST_SFTP_PORT:-2022}:${AZURACAST_SFTP_PORT:-2022}'
|
||||||
|
- '8000:8000'
|
||||||
|
- '8005:8005'
|
||||||
|
- '8006:8006'
|
||||||
|
- '8010:8010'
|
||||||
|
- '8015:8015'
|
||||||
|
- '8016:8016'
|
||||||
|
- '8020:8020'
|
||||||
|
- '8025:8025'
|
||||||
|
- '8026:8026'
|
||||||
|
- '8030:8030'
|
||||||
|
env_file:
|
||||||
|
- azuracast.env
|
||||||
|
- .env
|
||||||
|
volumes:
|
||||||
|
- '/data/media/station_store:/var/azuracast/stations'
|
||||||
|
- 'backups:/var/azuracast/backups'
|
||||||
|
- 'db_data:/var/lib/mysql'
|
||||||
|
- 'www_uploads:/var/azuracast/storage/uploads'
|
||||||
|
- 'shoutcast2_install:/var/azuracast/storage/shoutcast2'
|
||||||
|
- 'stereo_tool_install:/var/azuracast/storage/stereo_tool'
|
||||||
|
- 'geolite_install:/var/azuracast/storage/geoip'
|
||||||
|
- 'sftpgo_data:/var/azuracast/storage/sftpgo'
|
||||||
|
- 'acme:/var/azuracast/storage/acme'
|
||||||
|
restart: unless-stopped
|
||||||
|
ulimits:
|
||||||
|
nofile:
|
||||||
|
soft: 65536
|
||||||
|
hard: 65536
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
environment:
|
||||||
|
NGINX_RADIO_PORTS: (8000|8010|8020|8030)
|
||||||
|
NGINX_WEBDJ_PORTS: (8005|8015|8025)
|
||||||
|
updater:
|
||||||
|
container_name: azuracast_updater
|
||||||
|
image: 'ghcr.io/azuracast/updater:latest'
|
||||||
|
volumes:
|
||||||
|
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||||
|
logging:
|
||||||
|
options:
|
||||||
|
max-size: 1m
|
||||||
|
max-file: '5'
|
||||||
|
volumes:
|
||||||
|
db_data: { }
|
||||||
|
acme: { }
|
||||||
|
shoutcast2_install: { }
|
||||||
|
stereo_tool_install: { }
|
||||||
|
geolite_install: { }
|
||||||
|
sftpgo_data: { }
|
||||||
|
station_data: { }
|
||||||
|
www_uploads: { }
|
||||||
|
backups: { }
|
922
docker.sh
Executable file
922
docker.sh
Executable file
@ -0,0 +1,922 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck disable=SC2145,SC2178,SC2120,SC2162
|
||||||
|
|
||||||
|
PODMAN_MODE=0
|
||||||
|
|
||||||
|
# Docker and Docker Compose aliases
|
||||||
|
d() {
|
||||||
|
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||||
|
podman "$@"
|
||||||
|
else
|
||||||
|
docker "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
dc() {
|
||||||
|
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||||
|
podman-compose "$@"
|
||||||
|
else
|
||||||
|
if [[ $(docker compose version) ]]; then
|
||||||
|
docker compose "$@"
|
||||||
|
else
|
||||||
|
docker-compose "$@"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Functions to manage .env files
|
||||||
|
__dotenv=
|
||||||
|
__dotenv_file=
|
||||||
|
__dotenv_cmd=.env
|
||||||
|
|
||||||
|
.env() {
|
||||||
|
REPLY=()
|
||||||
|
[[ $__dotenv_file || ${1-} == -* ]] || .env.--file .env || return
|
||||||
|
if declare -F -- ".env.${1-}" >/dev/null; then
|
||||||
|
.env."$@"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
return 64
|
||||||
|
}
|
||||||
|
|
||||||
|
.env.-f() { .env.--file "$@"; }
|
||||||
|
|
||||||
|
.env.get() {
|
||||||
|
.env::arg "get requires a key" "$@" &&
|
||||||
|
[[ "$__dotenv" =~ ^(.*(^|$'\n'))([ ]*)"$1="(.*)$ ]] &&
|
||||||
|
REPLY=${BASH_REMATCH[4]%%$'\n'*} && REPLY=${REPLY%"${REPLY##*[![:space:]]}"}
|
||||||
|
}
|
||||||
|
|
||||||
|
.env.parse() {
|
||||||
|
local line key
|
||||||
|
while IFS= read -r line; do
|
||||||
|
line=${line#"${line%%[![:space:]]*}"} # trim leading whitespace
|
||||||
|
line=${line%"${line##*[![:space:]]}"} # trim trailing whitespace
|
||||||
|
if [[ ! "$line" || "$line" == '#'* ]]; then continue; fi
|
||||||
|
if (($#)); then
|
||||||
|
for key; do
|
||||||
|
if [[ $key == "${line%%=*}" ]]; then
|
||||||
|
REPLY+=("$line")
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
REPLY+=("$line")
|
||||||
|
fi
|
||||||
|
done <<<"$__dotenv"
|
||||||
|
((${#REPLY[@]}))
|
||||||
|
}
|
||||||
|
|
||||||
|
.env.export() { ! .env.parse "$@" || export "${REPLY[@]}"; }
|
||||||
|
|
||||||
|
.env.set() {
|
||||||
|
.env::file load || return
|
||||||
|
local key saved=$__dotenv
|
||||||
|
while (($#)); do
|
||||||
|
key=${1#+}
|
||||||
|
key=${key%%=*}
|
||||||
|
if .env.get "$key"; then
|
||||||
|
REPLY=()
|
||||||
|
if [[ $1 == +* ]]; then
|
||||||
|
shift
|
||||||
|
continue # skip if already found
|
||||||
|
elif [[ $1 == *=* ]]; then
|
||||||
|
__dotenv=${BASH_REMATCH[1]}${BASH_REMATCH[3]}$1$'\n'${BASH_REMATCH[4]#*$'\n'}
|
||||||
|
else
|
||||||
|
__dotenv=${BASH_REMATCH[1]}${BASH_REMATCH[4]#*$'\n'}
|
||||||
|
continue # delete all occurrences
|
||||||
|
fi
|
||||||
|
elif [[ $1 == *=* ]]; then
|
||||||
|
__dotenv+="${1#+}"$'\n'
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
[[ $__dotenv == "$saved" ]] || .env::file save
|
||||||
|
}
|
||||||
|
|
||||||
|
.env.puts() { echo "${1-}" >>"$__dotenv_file" && __dotenv+="$1"$'\n'; }
|
||||||
|
|
||||||
|
.env.generate() {
|
||||||
|
.env::arg "key required for generate" "$@" || return
|
||||||
|
.env.get "$1" && return || REPLY=$("${@:2}") || return
|
||||||
|
.env::one "generate: ouptut of '${*:2}' has more than one line" "$REPLY" || return
|
||||||
|
.env.puts "$1=$REPLY"
|
||||||
|
}
|
||||||
|
|
||||||
|
.env.--file() {
|
||||||
|
.env::arg "filename required for --file" "$@" || return
|
||||||
|
__dotenv_file=$1
|
||||||
|
.env::file load || return
|
||||||
|
(($# < 2)) || .env "${@:2}"
|
||||||
|
}
|
||||||
|
|
||||||
|
.env::arg() { [[ "${2-}" ]] || {
|
||||||
|
echo "$__dotenv_cmd: $1" >&2
|
||||||
|
return 64
|
||||||
|
}; }
|
||||||
|
|
||||||
|
.env::one() { [[ "$2" != *$'\n'* ]] || .env::arg "$1"; }
|
||||||
|
|
||||||
|
.env::file() {
|
||||||
|
local REPLY=$__dotenv_file
|
||||||
|
case "$1" in
|
||||||
|
load)
|
||||||
|
__dotenv=
|
||||||
|
! [[ -f "$REPLY" ]] || __dotenv="$(<"$REPLY")"$'\n' || return
|
||||||
|
;;
|
||||||
|
save)
|
||||||
|
if [[ -L "$REPLY" ]] && declare -F -- realpath.resolved >/dev/null; then
|
||||||
|
realpath.resolved "$REPLY"
|
||||||
|
fi
|
||||||
|
{ [[ ! -f "$REPLY" ]] || cp -p "$REPLY" "$REPLY.bak"; } &&
|
||||||
|
printf %s "$__dotenv" >"$REPLY.bak" && mv "$REPLY.bak" "$REPLY"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
# Shortcut to convert semver version (x.yyy.zzz) into a comparable number.
|
||||||
|
version-number() {
|
||||||
|
echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Get the current release channel for AzuraCast
|
||||||
|
get-release-channel() {
|
||||||
|
local AZURACAST_VERSION="latest"
|
||||||
|
if [[ -f .env ]]; then
|
||||||
|
.env --file .env get AZURACAST_VERSION
|
||||||
|
AZURACAST_VERSION="${REPLY:-latest}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$AZURACAST_VERSION"
|
||||||
|
}
|
||||||
|
|
||||||
|
get-release-branch-name() {
|
||||||
|
if [[ $(get-release-channel) == "stable" ]]; then
|
||||||
|
echo "stable"
|
||||||
|
else
|
||||||
|
echo "main"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is a general-purpose function to ask Yes/No questions in Bash, either
|
||||||
|
# with or without a default answer. It keeps repeating the question until it
|
||||||
|
# gets a valid answer.
|
||||||
|
ask() {
|
||||||
|
# https://djm.me/ask
|
||||||
|
local prompt default reply
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
|
||||||
|
if [[ "${2:-}" == "Y" ]]; then
|
||||||
|
prompt="Y/n"
|
||||||
|
default=Y
|
||||||
|
elif [[ "${2:-}" == "N" ]]; then
|
||||||
|
prompt="y/N"
|
||||||
|
default=N
|
||||||
|
else
|
||||||
|
prompt="y/n"
|
||||||
|
default=
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ask the question (not using "read -p" as it uses stderr not stdout)
|
||||||
|
echo -n "$1 [$prompt] "
|
||||||
|
|
||||||
|
read reply
|
||||||
|
|
||||||
|
# Default?
|
||||||
|
if [[ -z "$reply" ]]; then
|
||||||
|
reply=${default}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the reply is valid
|
||||||
|
case "$reply" in
|
||||||
|
Y* | y*) return 0 ;;
|
||||||
|
N* | n*) return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Generate a prompt to set an environment file value.
|
||||||
|
envfile-set() {
|
||||||
|
local VALUE INPUT
|
||||||
|
|
||||||
|
.env --file .env
|
||||||
|
|
||||||
|
.env get "$1"
|
||||||
|
VALUE=${REPLY:-$2}
|
||||||
|
|
||||||
|
echo -n "$3 [$VALUE]: "
|
||||||
|
read INPUT
|
||||||
|
|
||||||
|
VALUE=${INPUT:-$VALUE}
|
||||||
|
|
||||||
|
.env set "${1}=${VALUE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Configure the ports used by AzuraCast.
|
||||||
|
#
|
||||||
|
setup-ports() {
|
||||||
|
envfile-set "AZURACAST_HTTP_PORT" "80" "Port to use for HTTP connections"
|
||||||
|
envfile-set "AZURACAST_HTTPS_PORT" "443" "Port to use for HTTPS connections"
|
||||||
|
envfile-set "AZURACAST_SFTP_PORT" "2022" "Port to use for SFTP connections"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Configure release mode settings.
|
||||||
|
#
|
||||||
|
setup-release() {
|
||||||
|
if [[ ! -f .env ]]; then
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/sample.env -o .env
|
||||||
|
fi
|
||||||
|
|
||||||
|
local OLD_RELEASE_CHANNEL
|
||||||
|
.env --file .env get AZURACAST_VERSION
|
||||||
|
OLD_RELEASE_CHANNEL="${REPLY:-latest}"
|
||||||
|
|
||||||
|
local AZURACAST_VERSION="${OLD_RELEASE_CHANNEL}"
|
||||||
|
|
||||||
|
if [[ $AZURACAST_VERSION == "latest" ]]; then
|
||||||
|
if ask "Your current release channel is 'Rolling Release'. Switch to 'Stable' release channel?" N; then
|
||||||
|
AZURACAST_VERSION="stable"
|
||||||
|
fi
|
||||||
|
elif [[ $AZURACAST_VERSION == "stable" ]]; then
|
||||||
|
if ask "Your current release channel is 'Stable'. Switch to 'Rolling Release' release channel?" N; then
|
||||||
|
AZURACAST_VERSION="latest"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if ask "Your current release channel is locked to a stable release, version '${OLD_RELEASE_CHANNEL}'. Switch to the 'Stable' release channel?" N; then
|
||||||
|
AZURACAST_VERSION="stable"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
.env --file .env set AZURACAST_VERSION=${AZURACAST_VERSION}
|
||||||
|
|
||||||
|
if [[ $AZURACAST_VERSION != $OLD_RELEASE_CHANNEL ]]; then
|
||||||
|
if ask "You should update the Docker Utility Script after changing release channels. Automatically update it now?" Y; then
|
||||||
|
update-self
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check-install-requirements() {
|
||||||
|
local CURRENT_OS CURRENT_ARCH REQUIRED_COMMANDS SCRIPT_DIR
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "Checking installation requirements for AzuraCast..."
|
||||||
|
|
||||||
|
CURRENT_OS=$(uname -s)
|
||||||
|
if [[ $CURRENT_OS == "Linux" ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m Operating System: ${CURRENT_OS}\n"
|
||||||
|
else
|
||||||
|
echo -en "\e[41m[FAIL]\e[0m Operating System: ${CURRENT_OS}\n"
|
||||||
|
|
||||||
|
echo " You are running an unsupported operating system."
|
||||||
|
echo " Automated AzuraCast installation is not currently supported on this"
|
||||||
|
echo " operating system."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
CURRENT_ARCH=$(uname -m)
|
||||||
|
if [[ $CURRENT_ARCH == "x86_64" ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m Architecture: ${CURRENT_ARCH}\n"
|
||||||
|
elif [[ $CURRENT_ARCH == "aarch64" ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m Architecture: ${CURRENT_ARCH}\n"
|
||||||
|
else
|
||||||
|
echo -en "\e[41m[FAIL]\e[0m Architecture: ${CURRENT_ARCH}\n"
|
||||||
|
|
||||||
|
echo " You are running an unsupported processor architecture."
|
||||||
|
echo " Automated AzuraCast installation is not currently supported on this "
|
||||||
|
echo " operating system."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
REQUIRED_COMMANDS=(curl awk)
|
||||||
|
for COMMAND in "${REQUIRED_COMMANDS[@]}" ; do
|
||||||
|
if [[ $(command -v "$COMMAND") ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m Command Present: ${COMMAND}\n"
|
||||||
|
else
|
||||||
|
echo -en "\e[41m[FAIL]\e[0m Command Present: ${COMMAND}\n"
|
||||||
|
|
||||||
|
echo " ${COMMAND} does not appear to be installed."
|
||||||
|
echo " Install ${COMMAND} using your host's package manager,"
|
||||||
|
echo " then continue installing using this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
if [[ $(command -v sudo) ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m User Permissions\n"
|
||||||
|
else
|
||||||
|
echo -en "\e[41m[FAIL]\e[0m User Permissions\n"
|
||||||
|
|
||||||
|
echo " You are not currently the root user, and "
|
||||||
|
echo " 'sudo' does not appear to be installed."
|
||||||
|
echo " Install sudo using your host's package manager,"
|
||||||
|
echo " then continue installing using this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -en "\e[32m[PASS]\e[0m User Permissions\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
if [[ $SCRIPT_DIR == "/var/azuracast" ]]; then
|
||||||
|
echo -en "\e[32m[PASS]\e[0m Installation Directory\n"
|
||||||
|
else
|
||||||
|
echo -en "\e[93m[WARN]\e[0m Installation Directory\n"
|
||||||
|
echo " AzuraCast is not installed in /var/azuracast, as is recommended"
|
||||||
|
echo " for most installations. This will not prevent AzuraCast from"
|
||||||
|
echo " working, but you will need to update any instructions in our"
|
||||||
|
echo " documentation to reflect your current directory:"
|
||||||
|
echo " $SCRIPT_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -en "\e[32m[PASS]\e[0m All requirements met!\n"
|
||||||
|
|
||||||
|
set +e
|
||||||
|
}
|
||||||
|
|
||||||
|
install-docker() {
|
||||||
|
set -e
|
||||||
|
|
||||||
|
curl -fsSL get.docker.com -o get-docker.sh
|
||||||
|
sh get-docker.sh
|
||||||
|
rm get-docker.sh
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
sudo usermod -aG docker "$(whoami)"
|
||||||
|
|
||||||
|
echo "You must log out or restart to apply necessary Docker permissions changes."
|
||||||
|
echo "Restart, then continue installing using this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set +e
|
||||||
|
}
|
||||||
|
|
||||||
|
install-docker-compose() {
|
||||||
|
set -e
|
||||||
|
echo "Installing Docker Compose..."
|
||||||
|
|
||||||
|
curl -fsSL -o docker-compose https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-$(uname -m)
|
||||||
|
|
||||||
|
ARCHITECTURE=amd64
|
||||||
|
if [ "$(uname -m)" = "aarch64" ]; then
|
||||||
|
ARCHITECTURE=arm64
|
||||||
|
fi
|
||||||
|
curl -fsSL -o docker-compose-switch https://github.com/docker/compose-switch/releases/download/v1.0.4/docker-compose-linux-${ARCHITECTURE}
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
sudo chmod a+x ./docker-compose
|
||||||
|
sudo chmod a+x ./docker-compose-switch
|
||||||
|
|
||||||
|
sudo mv ./docker-compose /usr/libexec/docker/cli-plugins/docker-compose
|
||||||
|
sudo mv ./docker-compose-switch /usr/local/bin/docker-compose
|
||||||
|
else
|
||||||
|
chmod a+x ./docker-compose
|
||||||
|
chmod a+x ./docker-compose-switch
|
||||||
|
|
||||||
|
mv ./docker-compose /usr/libexec/docker/cli-plugins/docker-compose
|
||||||
|
mv ./docker-compose-switch /usr/local/bin/docker-compose
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Docker Compose updated!"
|
||||||
|
set +e
|
||||||
|
}
|
||||||
|
|
||||||
|
run-installer() {
|
||||||
|
local AZURACAST_RELEASE_BRANCH
|
||||||
|
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
|
||||||
|
|
||||||
|
if [[ ! -f .env ]]; then
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/sample.env -o .env
|
||||||
|
fi
|
||||||
|
if [[ ! -f azuracast.env ]]; then
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/azuracast.sample.env -o azuracast.env
|
||||||
|
fi
|
||||||
|
if [[ ! -f docker-compose.yml ]]; then
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.sample.yml -o docker-compose.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
touch docker-compose.new.yml
|
||||||
|
|
||||||
|
local dc_config_test=$(dc -f docker-compose.new.yml config 2>/dev/null)
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
if ask "Docker Compose needs to be updated to continue. Update to latest version?" Y; then
|
||||||
|
install-docker-compose
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.installer.yml -o docker-compose.installer.yml
|
||||||
|
|
||||||
|
dc -p azuracast_installer -f docker-compose.installer.yml pull
|
||||||
|
dc -p azuracast_installer -f docker-compose.installer.yml run --rm installer install "$@"
|
||||||
|
|
||||||
|
rm docker-compose.installer.yml
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Run the initial installer of Docker and AzuraCast.
|
||||||
|
# Usage: ./docker.sh install
|
||||||
|
#
|
||||||
|
install() {
|
||||||
|
check-install-requirements
|
||||||
|
|
||||||
|
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||||
|
echo "Podman was detected and will be used instead of Docker..."
|
||||||
|
|
||||||
|
if [[ $(command -v podman-compose) ]]; then
|
||||||
|
echo "Podman-compose is installed!"
|
||||||
|
else
|
||||||
|
echo "Podman mode is active, but podman-compose is not found."
|
||||||
|
echo "Install it by following the instructions on this page:"
|
||||||
|
echo "https://github.com/containers/podman-compose"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ $(command -v docker) && $(docker --version) ]]; then
|
||||||
|
echo "Docker is already installed! Continuing..."
|
||||||
|
else
|
||||||
|
if ask "Docker does not appear to be installed. Install Docker now?" Y; then
|
||||||
|
install-docker
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $(docker compose version) ]]; then
|
||||||
|
echo "Docker Compose v2 is already installed. Continuing..."
|
||||||
|
else
|
||||||
|
if [[ $(command -v docker-compose) ]]; then
|
||||||
|
echo "Docker Compose is already installed. Continuing..."
|
||||||
|
else
|
||||||
|
if ask "Docker Compose does not appear to be installed. Install Docker Compose now?" Y; then
|
||||||
|
install-docker-compose
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
setup-release
|
||||||
|
|
||||||
|
run-installer "$@"
|
||||||
|
|
||||||
|
# Installer creates a file at docker-compose.new.yml; copy it to the main spot.
|
||||||
|
if [[ -s docker-compose.new.yml ]]; then
|
||||||
|
if [[ -f docker-compose.yml ]]; then
|
||||||
|
rm docker-compose.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
mv docker-compose.new.yml docker-compose.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If this script is running as a non-root user, set the PUID/PGID in the environment vars appropriately.
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PUID="$(id -u)"
|
||||||
|
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PODMAN_MODE=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc pull
|
||||||
|
|
||||||
|
dc run --rm web -- azuracast_install "$@"
|
||||||
|
dc up -d
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
install-dev() {
|
||||||
|
if [[ $(command -v docker) && $(docker --version) ]]; then
|
||||||
|
echo "Docker is already installed! Continuing..."
|
||||||
|
else
|
||||||
|
if ask "Docker does not appear to be installed. Install Docker now?" Y; then
|
||||||
|
install-docker
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $(docker compose version) ]]; then
|
||||||
|
echo "Docker Compose v2 is already installed. Continuing..."
|
||||||
|
else
|
||||||
|
if [[ $(command -v docker-compose) ]]; then
|
||||||
|
echo "Docker Compose is already installed. Continuing..."
|
||||||
|
else
|
||||||
|
if ask "Docker Compose does not appear to be installed. Install Docker Compose now?" Y; then
|
||||||
|
install-docker-compose
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f docker-compose.yml ]]; then
|
||||||
|
cp docker-compose.sample.yml docker-compose.yml
|
||||||
|
fi
|
||||||
|
if [[ ! -f docker-compose.override.yml ]]; then
|
||||||
|
cp docker-compose.dev.yml docker-compose.override.yml
|
||||||
|
fi
|
||||||
|
if [[ ! -f .env ]]; then
|
||||||
|
cp dev.env .env
|
||||||
|
fi
|
||||||
|
if [[ ! -f azuracast.env ]]; then
|
||||||
|
cp azuracast.dev.env azuracast.env
|
||||||
|
|
||||||
|
echo "Customize azuracast.env file now before continuing. Re-run this command to continue installation."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If this script is running as a non-root user, set the PUID/PGID in the environment vars appropriately.
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PUID="$(id -u)"
|
||||||
|
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PODMAN_MODE=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc build
|
||||||
|
dc run --rm web -- azuracast_dev_install "$@"
|
||||||
|
dc up -d
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Update the Docker images and codebase.
|
||||||
|
# Usage: ./docker.sh update
|
||||||
|
#
|
||||||
|
update() {
|
||||||
|
echo "[NOTICE] Before you continue, please make sure you have a recent snapshot of your system and or backed it up."
|
||||||
|
if ask "Are you ready to continue with the update?" Y; then
|
||||||
|
|
||||||
|
# Check for a new Docker Utility Script.
|
||||||
|
local AZURACAST_RELEASE_BRANCH
|
||||||
|
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
|
||||||
|
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker.sh -o docker.new.sh
|
||||||
|
|
||||||
|
local UTILITY_FILES_MATCH
|
||||||
|
UTILITY_FILES_MATCH="$(
|
||||||
|
cmp --silent docker.sh docker.new.sh
|
||||||
|
echo $?
|
||||||
|
)"
|
||||||
|
|
||||||
|
local UPDATE_UTILITY=0
|
||||||
|
if [[ ${UTILITY_FILES_MATCH} -ne 0 ]]; then
|
||||||
|
if ask "The Docker Utility Script has changed since your version. Update to latest version?" Y; then
|
||||||
|
UPDATE_UTILITY=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${UPDATE_UTILITY} -ne 0 ]]; then
|
||||||
|
mv docker.new.sh docker.sh
|
||||||
|
chmod a+x docker.sh
|
||||||
|
|
||||||
|
echo "A new Docker Utility Script has been downloaded."
|
||||||
|
echo "Please re-run the update process to continue."
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
rm docker.new.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check Docker version.
|
||||||
|
if [[ $PODMAN_MODE -eq 0 ]]; then
|
||||||
|
DOCKER_VERSION=$(docker version -f "{{.Server.Version}}")
|
||||||
|
DOCKER_VERSION_MAJOR=$(echo "$DOCKER_VERSION"| cut -d'.' -f 1)
|
||||||
|
|
||||||
|
if [ "${DOCKER_VERSION_MAJOR}" -ge 20 ]; then
|
||||||
|
echo "Docker server (version ${DOCKER_VERSION}) meets minimum version requirements."
|
||||||
|
else
|
||||||
|
if ask "Docker is out of date on this server. Attempt automatic upgrade?" Y; then
|
||||||
|
install-docker
|
||||||
|
install-docker-compose
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
run-installer --update "$@"
|
||||||
|
|
||||||
|
# Check for updated Docker Compose config.
|
||||||
|
local COMPOSE_FILES_MATCH
|
||||||
|
|
||||||
|
if [[ ! -s docker-compose.new.yml ]]; then
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.sample.yml -o docker-compose.new.yml
|
||||||
|
fi
|
||||||
|
|
||||||
|
COMPOSE_FILES_MATCH="$(
|
||||||
|
cmp --silent docker-compose.yml docker-compose.new.yml
|
||||||
|
echo $?
|
||||||
|
)"
|
||||||
|
|
||||||
|
if [[ ${COMPOSE_FILES_MATCH} -ne 0 ]]; then
|
||||||
|
dc -f docker-compose.new.yml pull
|
||||||
|
dc down --timeout 60
|
||||||
|
|
||||||
|
cp docker-compose.yml docker-compose.backup.yml
|
||||||
|
mv docker-compose.new.yml docker-compose.yml
|
||||||
|
else
|
||||||
|
rm docker-compose.new.yml
|
||||||
|
|
||||||
|
dc pull
|
||||||
|
dc down --timeout 60
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc run --rm web -- azuracast_update "$@"
|
||||||
|
dc up -d
|
||||||
|
|
||||||
|
if ask "Clean up all stopped Docker containers and images to save space?" Y; then
|
||||||
|
d system prune -f
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Update complete!"
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Update this Docker utility script.
|
||||||
|
# Usage: ./docker.sh update-self
|
||||||
|
#
|
||||||
|
update-self() {
|
||||||
|
local AZURACAST_RELEASE_BRANCH
|
||||||
|
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
|
||||||
|
|
||||||
|
curl -H 'Cache-Control: no-cache, no-store' -fsSL \
|
||||||
|
https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker.sh?$(date +%s) \
|
||||||
|
-o docker.sh
|
||||||
|
chmod a+x docker.sh
|
||||||
|
|
||||||
|
echo "New Docker utility script downloaded."
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Run a CLI command inside the Docker container.
|
||||||
|
# Usage: ./docker.sh cli [command]
|
||||||
|
#
|
||||||
|
cli() {
|
||||||
|
dc exec --user="azuracast" web azuracast_cli "$@"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enter the bash terminal of the running web container.
|
||||||
|
# Usage: ./docker.sh bash
|
||||||
|
#
|
||||||
|
bash() {
|
||||||
|
dc exec --user="azuracast" web bash
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enter the MariaDB database management terminal with the correct credentials.
|
||||||
|
#
|
||||||
|
db() {
|
||||||
|
dc exec web azuracast_db
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Back up the Docker volumes to a .tar.gz file.
|
||||||
|
# Usage:
|
||||||
|
# ./docker.sh backup [/custom/backup/dir/custombackupname.zip]
|
||||||
|
#
|
||||||
|
backup() {
|
||||||
|
local BACKUP_PATH BACKUP_DIR BACKUP_FILENAME BACKUP_EXT
|
||||||
|
BACKUP_PATH=$(readlink -f ${1:-"./backup.tar.gz"})
|
||||||
|
BACKUP_DIR=$(dirname -- "$BACKUP_PATH")
|
||||||
|
BACKUP_FILENAME=$(basename -- "$BACKUP_PATH")
|
||||||
|
BACKUP_EXT="${BACKUP_FILENAME##*.}"
|
||||||
|
shift
|
||||||
|
|
||||||
|
# Prepare permissions
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PUID="$(id -u)"
|
||||||
|
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc exec --user="azuracast" web azuracast_cli azuracast:backup "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||||
|
|
||||||
|
# Move from Docker volume to local filesystem
|
||||||
|
d run --rm -v "azuracast_backups:/backup_src" \
|
||||||
|
-v "$BACKUP_DIR:/backup_dest" \
|
||||||
|
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||||
|
|
||||||
|
echo "Backup completed."
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Restore an AzuraCast backup into Docker.
|
||||||
|
# Usage:
|
||||||
|
# ./docker.sh restore [/custom/backup/dir/custombackupname.zip]
|
||||||
|
#
|
||||||
|
restore() {
|
||||||
|
if [[ ! -f .env ]] || [[ ! -f azuracast.env ]]; then
|
||||||
|
echo "AzuraCast hasn't been installed yet on this server."
|
||||||
|
echo "You should run './docker.sh install' first before restoring."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ask "Restoring will remove any existing AzuraCast installation data, replacing it with your backup. Continue?" Y; then
|
||||||
|
if [[ $1 != "" ]]; then
|
||||||
|
local BACKUP_PATH BACKUP_DIR BACKUP_FILENAME BACKUP_EXT
|
||||||
|
BACKUP_PATH=$(readlink -f ${1:-"./backup.tar.gz"})
|
||||||
|
BACKUP_DIR=$(dirname -- "$BACKUP_PATH")
|
||||||
|
BACKUP_FILENAME=$(basename -- "$BACKUP_PATH")
|
||||||
|
BACKUP_EXT="${BACKUP_FILENAME##*.}"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [[ ! -f ${BACKUP_PATH} ]]; then
|
||||||
|
echo "File '${BACKUP_PATH}' does not exist. Nothing to restore."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc down
|
||||||
|
|
||||||
|
# Remove most AzuraCast volumes but preserve some essential ones.
|
||||||
|
d volume rm -f $(d volume ls | grep 'azuracast' | grep -v 'station\|install' | awk 'NR>1 {print $2}')
|
||||||
|
d volume create azuracast_backups
|
||||||
|
|
||||||
|
# Move from local filesystem to Docker volume
|
||||||
|
d run --rm -v "$BACKUP_DIR:/backup_src" \
|
||||||
|
-v "azuracast_backups:/backup_dest" \
|
||||||
|
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||||
|
|
||||||
|
# Prepare permissions
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
.env --file .env set AZURACAST_PUID="$(id -u)"
|
||||||
|
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dc run --rm web -- azuracast_restore "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||||
|
|
||||||
|
# Move file back from volume to local filesystem
|
||||||
|
d run --rm -v "azuracast_backups:/backup_src" \
|
||||||
|
-v "$BACKUP_DIR:/backup_dest" \
|
||||||
|
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||||
|
|
||||||
|
dc down --timeout 30
|
||||||
|
dc up -d
|
||||||
|
else
|
||||||
|
dc down
|
||||||
|
|
||||||
|
# Remove most AzuraCast volumes but preserve some essential ones.
|
||||||
|
d volume rm -f $(d volume ls | grep 'azuracast' | grep -v 'station\|backups\|install' | awk 'NR>1 {print $2}')
|
||||||
|
|
||||||
|
dc run --rm web -- azuracast_restore "$@"
|
||||||
|
|
||||||
|
dc down --timeout 30
|
||||||
|
dc up -d
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Restore the Docker volumes from a legacy backup format .tar.gz file.
|
||||||
|
# Usage:
|
||||||
|
# ./docker.sh restore [/custom/backup/dir/custombackupname.tar.gz]
|
||||||
|
#
|
||||||
|
restore-legacy() {
|
||||||
|
local APP_BASE_DIR BACKUP_PATH BACKUP_DIR BACKUP_FILENAME
|
||||||
|
|
||||||
|
APP_BASE_DIR=$(pwd)
|
||||||
|
|
||||||
|
BACKUP_PATH=${1:-"./backup.tar.gz"}
|
||||||
|
BACKUP_DIR=$(cd "$(dirname "$BACKUP_PATH")" && pwd)
|
||||||
|
BACKUP_FILENAME=$(basename "$BACKUP_PATH")
|
||||||
|
|
||||||
|
cd "$APP_BASE_DIR" || exit
|
||||||
|
|
||||||
|
if [ -f "$BACKUP_PATH" ]; then
|
||||||
|
dc down --timeout 30
|
||||||
|
|
||||||
|
d volume rm azuracast_db_data azuracast_station_data
|
||||||
|
d volume create azuracast_db_data
|
||||||
|
d volume create azuracast_station_data
|
||||||
|
|
||||||
|
d run --rm -v "$BACKUP_DIR:/backup" \
|
||||||
|
-v azuracast_db_data:/azuracast/db \
|
||||||
|
-v azuracast_station_data:/azuracast/stations \
|
||||||
|
busybox tar zxvf "/backup/$BACKUP_FILENAME"
|
||||||
|
|
||||||
|
dc up -d
|
||||||
|
else
|
||||||
|
echo "File $BACKUP_PATH does not exist in this directory. Nothing to restore."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Stop all Docker containers and remove related volumes.
|
||||||
|
# Usage: ./docker.sh uninstall
|
||||||
|
#
|
||||||
|
uninstall() {
|
||||||
|
if ask "This operation is destructive and will wipe your existing Docker containers. Continue?" N; then
|
||||||
|
|
||||||
|
dc down -v
|
||||||
|
dc rm -f
|
||||||
|
d volume prune -f
|
||||||
|
|
||||||
|
echo "All AzuraCast Docker containers and volumes were removed."
|
||||||
|
echo "To remove *all* Docker containers and volumes, run:"
|
||||||
|
echo " docker stop \$(docker ps -a -q)"
|
||||||
|
echo " docker rm \$(docker ps -a -q)"
|
||||||
|
echo " docker volume prune -f"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Roll back to a specific stable release version.
|
||||||
|
#
|
||||||
|
rollback() {
|
||||||
|
local AZURACAST_ROLLBACK_VERSION
|
||||||
|
AZURACAST_ROLLBACK_VERSION="$1"
|
||||||
|
|
||||||
|
if [[ -z "$AZURACAST_ROLLBACK_VERSION" ]]; then
|
||||||
|
echo "No version specified. Specify a version, like 0.19.0."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "[NOTICE] Before you continue, please make sure you have a recent snapshot of your system and or backed it up."
|
||||||
|
if ask "Are you ready to continue with the rollback?" Y; then
|
||||||
|
dc exec --user="azuracast" web azuracast_cli azuracast:setup:rollback "${AZURACAST_ROLLBACK_VERSION}"
|
||||||
|
dc down --timeout 60
|
||||||
|
|
||||||
|
.env --file .env set AZURACAST_VERSION=${AZURACAST_ROLLBACK_VERSION}
|
||||||
|
|
||||||
|
dc pull
|
||||||
|
dc run --rm web -- azuracast_update
|
||||||
|
dc up -d
|
||||||
|
|
||||||
|
if ask "Clean up all stopped Docker containers and images to save space?" Y; then
|
||||||
|
d system prune -f
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Rollback complete. Your installation has been returned to stable version '${AZURACAST_ROLLBACK_VERSION}'."
|
||||||
|
echo "To return to the regular update channels, run:"
|
||||||
|
echo " ./docker.sh setup-release"
|
||||||
|
echo " "
|
||||||
|
fi
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# LetsEncrypt: Now managed via the Web UI.
|
||||||
|
#
|
||||||
|
setup-letsencrypt() {
|
||||||
|
echo "LetsEncrypt is now managed from within the web interface."
|
||||||
|
echo "You can manage it via the 'Administration' panel, then 'System Settings'."
|
||||||
|
echo "Under 'Services' you will find the LetsEncrypt settings."
|
||||||
|
}
|
||||||
|
|
||||||
|
letsencrypt-create() {
|
||||||
|
setup-letsencrypt
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Utility script to facilitate switching ports.
|
||||||
|
# Usage: ./docker.sh change-ports
|
||||||
|
#
|
||||||
|
change-ports() {
|
||||||
|
setup-ports
|
||||||
|
|
||||||
|
dc down --timeout 60
|
||||||
|
dc up -d
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Helper scripts for basic Docker Compose functions
|
||||||
|
#
|
||||||
|
up() {
|
||||||
|
echo "Starting up AzuraCast services..."
|
||||||
|
dc up -d
|
||||||
|
}
|
||||||
|
|
||||||
|
down() {
|
||||||
|
echo "Shutting down AzuraCast services..."
|
||||||
|
dc down --timeout 60
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
down
|
||||||
|
up
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure we're in the same directory as this script.
|
||||||
|
cd "$( dirname "${BASH_SOURCE[0]}" )" || exit
|
||||||
|
|
||||||
|
# Podman support
|
||||||
|
if [[ $(command -v podman) ]]; then
|
||||||
|
PODMAN_MODE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
"$@"
|
59
env
Normal file
59
env
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# (Docker Compose) All Docker containers are prefixed by this name. Do not change this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
COMPOSE_PROJECT_NAME=azuracast
|
||||||
|
|
||||||
|
# (Docker Compose) The amount of time to wait before a Docker Compose operation fails. Increase this on lower performance computers.
|
||||||
|
# Default: 300
|
||||||
|
COMPOSE_HTTP_TIMEOUT=300
|
||||||
|
|
||||||
|
# Release Channel
|
||||||
|
# Valid options: latest, stable
|
||||||
|
# Default: latest
|
||||||
|
AZURACAST_VERSION=stable
|
||||||
|
|
||||||
|
# HTTP Port
|
||||||
|
# The main port AzuraCast listens to for insecure HTTP connections.
|
||||||
|
# Default: 80
|
||||||
|
AZURACAST_HTTP_PORT=8600
|
||||||
|
|
||||||
|
# HTTPS Port
|
||||||
|
# The main port AzuraCast listens to for secure HTTPS connections.
|
||||||
|
# Default: 443
|
||||||
|
# AZURACAST_HTTPS_PORT=443
|
||||||
|
|
||||||
|
# SFTP Port
|
||||||
|
# The port AzuraCast listens to for SFTP file management connections.
|
||||||
|
# Default: 2022
|
||||||
|
# AZURACAST_SFTP_PORT=2022
|
||||||
|
|
||||||
|
# Station Ports
|
||||||
|
# The ports AzuraCast should listen to for station broadcasts and incoming DJ
|
||||||
|
# connections.
|
||||||
|
# Default: 8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
|
||||||
|
AZURACAST_STATION_PORTS=8000,8005,8006,8010,8015,8016,8020,8025,8026,8030
|
||||||
|
|
||||||
|
# Docker User UID
|
||||||
|
# Set the UID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host UID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PUID=1000
|
||||||
|
|
||||||
|
# Docker User GID
|
||||||
|
# Set the GID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host GID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PGID=1000
|
||||||
|
|
||||||
|
# Use Podman instead of Docker.
|
||||||
|
# AZURACAST_PODMAN_MODE=
|
||||||
|
|
||||||
|
# Advanced: Use Privileged Docker Settings
|
||||||
|
# Default: 1
|
||||||
|
# AZURACAST_COMPOSE_PRIVILEGED=1
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
NGINX_TIMEOUT=1800
|
58
env_backup_20240306-091007.bak
Normal file
58
env_backup_20240306-091007.bak
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# (Docker Compose) All Docker containers are prefixed by this name. Do not change this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
COMPOSE_PROJECT_NAME=azuracast
|
||||||
|
|
||||||
|
# (Docker Compose) The amount of time to wait before a Docker Compose operation fails. Increase this on lower performance computers.
|
||||||
|
# Default: 300
|
||||||
|
COMPOSE_HTTP_TIMEOUT=300
|
||||||
|
|
||||||
|
# Release Channel
|
||||||
|
# Valid options: latest, stable
|
||||||
|
# Default: latest
|
||||||
|
AZURACAST_VERSION=stable
|
||||||
|
|
||||||
|
# HTTP Port
|
||||||
|
# The main port AzuraCast listens to for insecure HTTP connections.
|
||||||
|
# Default: 80
|
||||||
|
AZURACAST_HTTP_PORT=8600
|
||||||
|
|
||||||
|
# HTTPS Port
|
||||||
|
# The main port AzuraCast listens to for secure HTTPS connections.
|
||||||
|
# Default: 443
|
||||||
|
# AZURACAST_HTTPS_PORT=443
|
||||||
|
|
||||||
|
# SFTP Port
|
||||||
|
# The port AzuraCast listens to for SFTP file management connections.
|
||||||
|
# Default: 2022
|
||||||
|
# AZURACAST_SFTP_PORT=2022
|
||||||
|
|
||||||
|
# Station Ports
|
||||||
|
# The ports AzuraCast should listen to for station broadcasts and incoming DJ
|
||||||
|
# connections.
|
||||||
|
# Default: 8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
|
||||||
|
# AZURACAST_STATION_PORTS=8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
|
||||||
|
|
||||||
|
# Docker User UID
|
||||||
|
# Set the UID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host UID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PUID=1000
|
||||||
|
|
||||||
|
# Docker User GID
|
||||||
|
# Set the GID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host GID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PGID=1000
|
||||||
|
|
||||||
|
# Advanced: Use Privileged Docker Settings
|
||||||
|
# Default: true
|
||||||
|
# AZURACAST_COMPOSE_PRIVILEGED=true
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
NGINX_TIMEOUT=1800
|
||||||
|
AZURACAST_PUID=1000
|
||||||
|
AZURACAST_PGID=1000
|
61
env_backup_20240418-080053.bak
Normal file
61
env_backup_20240418-080053.bak
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# This file was automatically generated by AzuraCast.
|
||||||
|
# You can modify it as necessary. To apply changes, restart the Docker containers.
|
||||||
|
# Remove the leading "#" symbol from lines to uncomment them.
|
||||||
|
|
||||||
|
# (Docker Compose) All Docker containers are prefixed by this name. Do not change this after installation.
|
||||||
|
# Default: azuracast
|
||||||
|
COMPOSE_PROJECT_NAME=azuracast
|
||||||
|
|
||||||
|
# (Docker Compose) The amount of time to wait before a Docker Compose operation fails. Increase this on lower performance computers.
|
||||||
|
# Default: 300
|
||||||
|
COMPOSE_HTTP_TIMEOUT=300
|
||||||
|
|
||||||
|
# Release Channel
|
||||||
|
# Valid options: latest, stable
|
||||||
|
# Default: latest
|
||||||
|
AZURACAST_VERSION=stable
|
||||||
|
# AZURACAST_VERSION=0.17.2
|
||||||
|
|
||||||
|
# HTTP Port
|
||||||
|
# The main port AzuraCast listens to for insecure HTTP connections.
|
||||||
|
# Default: 80
|
||||||
|
AZURACAST_HTTP_PORT=8600
|
||||||
|
|
||||||
|
# HTTPS Port
|
||||||
|
# The main port AzuraCast listens to for secure HTTPS connections.
|
||||||
|
# Default: 443
|
||||||
|
# AZURACAST_HTTPS_PORT=443
|
||||||
|
|
||||||
|
# SFTP Port
|
||||||
|
# The port AzuraCast listens to for SFTP file management connections.
|
||||||
|
# Default: 2022
|
||||||
|
# AZURACAST_SFTP_PORT=2022
|
||||||
|
|
||||||
|
# Station Ports
|
||||||
|
# The ports AzuraCast should listen to for station broadcasts and incoming DJ
|
||||||
|
# connections.
|
||||||
|
# Default: 8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
|
||||||
|
AZURACAST_STATION_PORTS=8000,8005,8006,8010,8015,8016,8020,8025,8026,8030
|
||||||
|
|
||||||
|
|
||||||
|
# Docker User UID
|
||||||
|
# Set the UID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host UID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PUID=1000
|
||||||
|
|
||||||
|
# Docker User GID
|
||||||
|
# Set the GID of the user running inside the Docker containers. Matching this
|
||||||
|
# with your host GID can fix permission issues.
|
||||||
|
# Default: 1000
|
||||||
|
# AZURACAST_PGID=1000
|
||||||
|
|
||||||
|
# Use Podman instead of Docker.
|
||||||
|
# AZURACAST_PODMAN_MODE=
|
||||||
|
|
||||||
|
# Advanced: Use Privileged Docker Settings
|
||||||
|
# Default: 1
|
||||||
|
# AZURACAST_COMPOSE_PRIVILEGED=1
|
||||||
|
|
||||||
|
# Additional Environment Variables
|
||||||
|
NGINX_TIMEOUT=1800
|
Loading…
Reference in New Issue
Block a user