169 lines
4.0 KiB
YAML
169 lines
4.0 KiB
YAML
version: '2.2'
|
|
|
|
services:
|
|
web:
|
|
image: azuracast/azuracast_web:latest
|
|
build:
|
|
context: ../docker-azuracast-web
|
|
depends_on:
|
|
- mariadb
|
|
- influxdb
|
|
- stations
|
|
- redis
|
|
environment: &default-environment
|
|
APPLICATION_ENV: "development" # "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:
|
|
- .:/var/azuracast/www
|
|
- tmp_data:/var/azuracast/www_tmp
|
|
- station_data:/var/azuracast/stations
|
|
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
|
|
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
|
|
environment:
|
|
<< : *default-environment
|
|
command: 'cron'
|
|
init: true
|
|
restart: always
|
|
|
|
cli:
|
|
build:
|
|
context: ./util/docker/testing
|
|
volumes_from:
|
|
- web
|
|
depends_on:
|
|
- mariadb
|
|
- influxdb
|
|
- stations
|
|
- redis
|
|
environment:
|
|
<< : *default-environment
|
|
INIT_BASE_URL: "docker.local"
|
|
INIT_GMAPS_API_KEY: "" # Populate this!
|
|
INIT_INSTANCE_NAME: "local development"
|
|
INIT_ADMIN_USERNAME: "" # Populate this!
|
|
INIT_ADMIN_PASSWORD: "" # Populate this!
|
|
INIT_MUSIC_PATH: "/var/azuracast/www/util/fixtures/init_music"
|
|
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
|
|
build:
|
|
context: ../docker-azuracast-stations
|
|
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
|
|
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: {}
|
|
tmp_data: {}
|