192 lines
5.1 KiB
YAML
192 lines
5.1 KiB
YAML
version: '2.2'
|
|
|
|
services:
|
|
web:
|
|
image: azuracast/azuracast_web:latest
|
|
# Uncomment the lines below to build this image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-web
|
|
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
|
|
# For development, comment the line above and uncomment the line below.
|
|
# - .:/var/azuracast/www
|
|
- tmp_data:/var/azuracast/www_tmp
|
|
- station_data:/var/azuracast/stations
|
|
init: true
|
|
restart: always
|
|
|
|
nginx:
|
|
image: azuracast/azuracast_nginx:latest
|
|
# Uncomment the lines below to build this image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-nginx
|
|
ports:
|
|
- '80:80'
|
|
- '443:443'
|
|
depends_on:
|
|
- web
|
|
- stations
|
|
volumes:
|
|
- www_data:/var/azuracast/www
|
|
# For development, comment the line above and uncomment the line below.
|
|
# - .:/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
|
|
# Uncomment the lines below to build this image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-db
|
|
# Uncomment to expose MariaDB to the host computer (for testing only!)
|
|
# ports:
|
|
# - "127.0.0.1:3306:3306"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
environment:
|
|
<< : *default-environment
|
|
restart: always
|
|
|
|
influxdb:
|
|
image: azuracast/azuracast_influxdb:latest
|
|
# Uncomment the lines below to build this image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-influxdb
|
|
volumes:
|
|
- influx_data:/var/lib/influxdb
|
|
restart: always
|
|
|
|
redis:
|
|
image: azuracast/azuracast_redis:latest
|
|
# Uncomment the lines below to build this image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-redis
|
|
# Uncomment to expose Redis to the host computer (for testing only!)
|
|
# ports:
|
|
# - "127.0.0.1:6379:6379"
|
|
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
|
|
# Enable the lines below to build the image locally (Developer option)
|
|
# build:
|
|
# context: ../docker-azuracast-stations
|
|
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
|
|
|
|
# Developer Mode services
|
|
# static:
|
|
# build:
|
|
# context: ./util/docker/static
|
|
# volumes:
|
|
# - ./web/static:/data
|
|
#
|
|
# chronograf:
|
|
# image: chronograf:alpine
|
|
# ports:
|
|
# - "8888:8888"
|
|
# command: "chronograf --influxdb-url=http://influxdb:8086"
|
|
|
|
volumes:
|
|
nginx_letsencrypt_certs: {}
|
|
nginx_letsencrypt_www: {}
|
|
db_data: {}
|
|
influx_data: {}
|
|
station_data: {}
|
|
www_data: {}
|
|
tmp_data: {} |