Create new local-dev-specific docker-compose file for easy spinup

This commit is contained in:
Buster "Silver Eagle" Neece 2018-07-10 13:59:31 -05:00
parent d039d98b89
commit 2af295c6f3
2 changed files with 168 additions and 42 deletions

167
docker-compose.dev.yml Normal file
View File

@ -0,0 +1,167 @@
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:
image: azuracast/azuracast_web:latest
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: {}

View File

@ -3,9 +3,6 @@ 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
@ -22,8 +19,6 @@ services:
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
@ -31,9 +26,6 @@ services:
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'
@ -42,8 +34,6 @@ services:
- 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
@ -59,12 +49,6 @@ services:
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:
@ -73,21 +57,12 @@ services:
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:
@ -126,9 +101,6 @@ services:
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.
@ -169,19 +141,6 @@ services:
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: {}
@ -189,4 +148,4 @@ volumes:
influx_data: {}
station_data: {}
www_data: {}
tmp_data: {}
tmp_data: {}