AzuraCast/docker-compose.dev.yml

180 lines
4 KiB
YAML

version: '2.2'
services:
web:
image: azuracast/azuracast_web:latest
build:
context: ../docker-azuracast-web
depends_on:
- mariadb
- influxdb
- stations
- redis
env_file: azuracast.env
environment: &default-environment
AZURACAST_DC_REVISION: 4
volumes:
- .:/var/azuracast/www
- tmp_data:/var/azuracast/www_tmp
- station_data:/var/azuracast/stations
- shoutcast2_install:/var/azuracast/servers/shoutcast2
init: true
restart: always
nginx:
image: azuracast/azuracast_nginx:latest
build:
context: ../docker-azuracast-nginx
ports:
- '80:80'
- '443:443'
depends_on:
- web
- stations
volumes:
- .:/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
build:
context: ../docker-azuracast-db
ports:
- "127.0.0.1:3306:3306"
volumes:
- db_data:/var/lib/mysql
env_file: azuracast.env
environment:
<< : *default-environment
restart: always
influxdb:
image: azuracast/azuracast_influxdb:latest
build:
context: ../docker-azuracast-influxdb
volumes:
- influx_data:/var/lib/influxdb
restart: always
redis:
image: azuracast/azuracast_redis:latest
build:
context: ../docker-azuracast-redis
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
env_file: azuracast.env
environment:
<<: *default-environment
command: 'cron'
init: true
restart: always
cli:
build:
context: ./util/docker/testing
volumes_from:
- web
depends_on:
- mariadb
- influxdb
- stations
- redis
env_file: azuracast.env
environment:
<<: *default-environment
user: 'azuracast'
working_dir: '/var/azuracast/www'
command: '/bin/true'
tty: true # Pretty colors
init: true
stations:
container_name: azuracast_stations
image: azuracast/azuracast_radio:latest
build:
context: ../docker-azuracast-radio
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'
volumes:
- station_data:/var/azuracast/stations
- nginx_letsencrypt_certs:/etc/nginx/ssl:ro
- shoutcast2_install:/var/azuracast/servers/shoutcast2
init: true
restart: always
# Developer Mode services
static:
build:
context: ./util/docker/static
volumes:
- ./web/static:/data
- static_node_modules:/data/node_modules
# chronograf:
# image: chronograf:alpine
# ports:
# - "8888:8888"
# command: "chronograf --influxdb-url=http://influxdb:8086"
# redis-commander:
# image: rediscommander/redis-commander:latest
# depends_on:
# - redis
# environment:
# REDIS_HOSTS: "local-app:redis:6379:0,local-sessions:redis:6379:1,local-doctrine:redis:6379:2"
# ports:
# - "127.0.0.1:8081:8081"
# blackfire:
# image: blackfire/blackfire
# environment:
# BLACKFIRE_SERVER_ID: ""
# BLACKFIRE_SERVER_TOKEN: ""
volumes:
nginx_letsencrypt_certs: {}
nginx_letsencrypt_www: {}
db_data: {}
influx_data: {}
station_data: {}
shoutcast2_install: {}
tmp_data: {}
static_node_modules: {}