AzuraCast/docker-compose.sample.yml

152 lines
3.6 KiB
YAML

version: '2.2'
services:
web:
image: azuracast/azuracast_web:latest
depends_on:
- mariadb
- influxdb
- stations
- redis
environment: &default-environment
APPLICATION_ENV: "production" # "production" or "development"
MYSQL_HOST: "mariadb" # You can change this if you plan to connect to an external DB host.
MYSQL_PORT: 3306 # ^
MYSQL_USER: "azuracast" # Once the database has been installed, don't change this.
MYSQL_PASSWORD: "azur4c457" # ^
MYSQL_DATABASE: "azuracast" # ^
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
AZURACAST_DC_REVISION: 2 # Only modified when this Docker Compose file has changed.
volumes:
- www_data:/var/azuracast/www
- tmp_data:/var/azuracast/www_tmp
- station_data:/var/azuracast/stations
init: true
restart: always
nginx:
image: azuracast/azuracast_nginx:latest
ports:
- '80:80'
- '443:443'
depends_on:
- web
- stations
volumes:
- www_data:/var/azuracast/www
- nginx_letsencrypt_certs:/etc/nginx/ssl
- nginx_letsencrypt_www:/var/www/letsencrypt
restart: always
# To use the LetsEncrypt support:
# docker-compose run --rm letsencrypt certonly --webroot -w /var/www/letsencrypt
letsencrypt:
image: certbot/certbot
command: /bin/true
volumes:
- nginx_letsencrypt_certs:/etc/letsencrypt
- nginx_letsencrypt_www:/var/www/letsencrypt
mariadb:
image: azuracast/azuracast_db:latest
volumes:
- db_data:/var/lib/mysql
environment:
<< : *default-environment
restart: always
influxdb:
image: azuracast/azuracast_influxdb:latest
volumes:
- influx_data:/var/lib/influxdb
restart: always
redis:
image: azuracast/azuracast_redis:latest
restart: always
cron:
container_name: azuracast_cron
image: azuracast/azuracast_web:latest
volumes_from:
- web
depends_on:
- mariadb
- influxdb
- stations
- redis
environment:
<< : *default-environment
command: 'cron'
init: true
restart: always
cli:
image: azuracast/azuracast_web:latest
volumes_from:
- web
depends_on:
- mariadb
- influxdb
- stations
- redis
environment:
<< : *default-environment
user: 'azuracast'
working_dir: '/var/azuracast/www'
command: 'bash'
tty: true # Pretty colors
init: true
stations:
container_name: azuracast_stations
image: azuracast/azuracast_stations:latest
ports:
# Uncomment the line below to expose the full range of available station ports.
# Note: This is not recommended currently due to performance and memory usage problems with Docker.
# - '8000-8500:8000-8500'
- '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'
- '8080:8080'
- '8085:8085'
- '8086:8086'
- '8090:8090'
- '8095:8095'
- '8096:8096'
volumes:
- station_data:/var/azuracast/stations
- nginx_letsencrypt_certs:/etc/nginx/ssl:ro
init: true
restart: always
volumes:
nginx_letsencrypt_certs: {}
nginx_letsencrypt_www: {}
db_data: {}
influx_data: {}
station_data: {}
www_data: {}
tmp_data: {}