version: "3.9" services: web: restart: unless-stopped container_name: ${CONTAINER_WEB} build: # context: ./builds context: ./ dockerfile: aether_nginx.Dockerfile env_file: - ./.env environment: # NOTE: This does not seem to work with nginx yet??? # NOTE: Use the template directory and .template extension for the .conf files. # - NGINX_SERVER_NAMES="dev-demo.oneskyit.com dev-example.oneskyit.com" # - NGINX_SERVER_NAMES="dev-idaa.oneskyit.com dev-ishlt.oneskyit.com" # - AE_DOMAIN_LIST:'dev-aapor.oneskyit.com dev-businessgroup.oneskyt.com dev-cmsc.oneskyit.com dev-idaa.oneskyit.com dev-ishlt.oneskyit.com dev-ncsd.oneskyit.com dev-npa.oneskyit.com dev-rli.oneskyit.com' # - NGINX_SERVER_NAMES="flask_gunicorn.localhost demo.localhost dev.localhost dev.oneskyit.com dev-app.oneskyit.com dev-connect.oneskyit.com *.dev-connect.oneskyit.com dev-demo.oneskyit.com *.dev-demo.oneskyit.com dev-aapor.oneskyit.com *.dev-aapor.oneskyit.com dev-businessgroup.oneskyt.com *.dev-businessgroup.oneskyt.com dev-cmsc.oneskyit.com *.dev-cmsc.oneskyit.com dev-idaa.oneskyit.com *.dev-idaa.oneskyit.com dev-ishlt.oneskyit.com *.dev-ishlt.oneskyit.com dev-ncsd.oneskyit.com *.dev-ncsd.oneskyit.com dev-npa.oneskyit.com *.dev-npa.oneskyit.com dev-rli.oneskyit.com *.dev-rli.oneskyit.com test-app.oneskyit.com" - NGINX_SERVER_NAMES="flask_gunicorn.localhost demo.localhost dev.localhost dev.oneskyit.com dev-app.oneskyit.com dev-connect.oneskyit.com dev-demo.oneskyit.com dev-aacc.oneskyit.com dev-aapor.oneskyit.com dev-businessgroup.oneskyt.com dev-chow.oneskyit.com dev-cmsc.oneskyit.com dev-idaa.oneskyit.com dev-ishlt.oneskyit.com dev-lci.oneskyit.com dev-ncsd.oneskyit.com dev-npa.oneskyit.com dev-rli.oneskyit.com test-app.oneskyit.com" ports: - "${OSIT_WEB_HTTP_PORT}:80" - "${OSIT_WEB_HTTPS_PORT}:443" # - "80:80" # - "443:443" # - "8181:80" # - "8443:443" # networks: # - local-net volumes: - ./srv/html_php:/srv/html_php - ./srv/oneskyit_site:/srv/oneskyit_site - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp # NOTE: Nextcloud Docker container requires (sort of) the path to be /var/www/html # - ./srv/nextcloud:/srv/nextcloud # - ./srv/nextcloud/app:/var/www/html # - ./srv/nextcloud/apps:/var/www/html/apps # - ./srv/nextcloud/config:/var/www/html/config # - ./srv/nextcloud/data:/var/www/html/data # - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf - ./conf/nginx/options-ssl-nginx.conf:/etc/nginx/options-ssl-nginx.conf # - ./conf/nginx/other.conf:/etc/nginx/conf.d/other.conf - ./conf/nginx/site.conf:/etc/nginx/conf.d/0_site.conf # - ./conf/nginx/site-enabled_aether-mailman2.conf:/etc/nginx/conf.d/site-enabled_aether-mailman2.conf # - ./conf/nginx/site-enabled_aether-nextcloud.conf:/etc/nginx/conf.d/site-enabled_aether-nextcloud.conf # - ./conf/nginx/site-enabled_aether-phpmyadmin.conf:/etc/nginx/templates/site-enabled_aether-phpmyadmin.conf.template # - ./conf/nginx/site-enabled_oneskyit.conf:/etc/nginx/conf.d/site-enabled_oneskyit.conf # - ./conf/nginx/site-enabled_oneskyit.conf:/etc/nginx/templates/site-enabled_oneskyit.conf.template - ./conf/nginx/site-enabled_aether_fastapi_gunicorn.conf:/etc/nginx/templates/site-enabled_aether_fastapi_gunicorn.conf.template # - ./conf/nginx/site-enabled_aether_api_v5_fastapi_gunicorn.conf:/etc/nginx/templates/site-enabled_aether_api_v5_fastapi_gunicorn.conf.template - ./conf/nginx/site-enabled_aether_flask_gunicorn.conf:/etc/nginx/templates/site-enabled_aether_flask_gunicorn.conf.template - ./conf/certs/oneskyit_wild_fullchain.pem:/etc/certs/fullchain_wild.pem - ./conf/certs/oneskyit_wild_privkey.pem:/etc/certs/privkey_wild.pem - ./conf/certs/oneskyit.com_fullchain.pem:/etc/certs/fullchain.pem - ./conf/certs/oneskyit.com_privkey.pem:/etc/certs/privkey.pem - ./conf/certs/ssl-dhparams.pem:/etc/certs/ssl-dhparams.pem - ./logs/web:/logs # volumes_from: # - nextcloud25 depends_on: # - php7 - aether_api_gunicorn # - aether_api_v5_gunicorn - aether_app_gunicorn # links: # # - nextcloud25 # - php7 # - aether_api_gunicorn # - aether_app_gunicorn # # - aether_api_gunicorn_bak # stdin_open: true # docker run -i # tty: true # docker run -t # php7: # restart: always # container_name: ${CONTAINER_PHP7} # # image: php:fpm # build: # context: ./ # dockerfile: php7.Dockerfile # volumes: # - ./srv/html_php:/srv/html_php # - ./srv/oneskyit_site:/srv/oneskyit_site # # - ./srv/nextcloud:/srv/nextcloud # - ./conf/php/custom_php7.ini:/usr/local/etc/php/conf.d/custom_php7.ini # - ./logs/php7:/logs # # ports: # # - "9007:9000" # # networks: # # - local-net # phpmyadmin: # image: phpmyadmin # container_name: ae_phpmyadmin # restart: unless-stopped # depends_on: # - mariadb # ports: # - 8888:80 # env_file: # - ./.env # environment: # - PMA_ARBITRARY=1 # - UPLOAD_LIMIT=1G redis: restart: always container_name: ${CONTAINER_REDIS} image: redis # By default redis saves every 3600 seconds if there is at least 1 change. command: redis-server --save "" --loglevel warning # command: redis-server --save 60 1 --loglevel warning # build: # ports: # # host to image # # default port is 6379 # - "${AE_REDIS_PORT}:6379" # API - Default aether_api_gunicorn: restart: always container_name: ${CONTAINER_AE_API} build: # context: ./builds context: ./ dockerfile: aether_fastapi_gunicorn.Dockerfile env_file: - ./.env ports: - "${AE_API_GUNICORN_PORT}:5005" extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # expose: # - 5005 # networks: # - local-net volumes: - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt - ./conf/aether_api_config.py:/srv/aether_api/app/config.py - ./logs/ae_api:/logs - ./srv/aether_api_ln:/srv/aether_api - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp # - ./tmp/ae_api:/tmp - ./temp/ae_api:/temp # links: # - redis depends_on: - redis stdin_open: true # docker run -i tty: true # docker run -t # API - Red aether_api_gunicorn_red: restart: always container_name: ${CONTAINER_AE_API_RED} build: # context: ./builds context: ./ dockerfile: aether_fastapi_gunicorn.Dockerfile env_file: - ./.env ports: - "${AE_API_GUNICORN_PORT_RED}:5005" extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # expose: # - 5005 # networks: # - local-net volumes: - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt - ./conf/aether_api_config.py:/srv/aether_api/app/config.py - ./logs/ae_api:/logs - ./srv/aether_api_ln:/srv/aether_api - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp # - ./tmp/ae_api:/tmp - ./temp/ae_api:/temp # links: # - redis depends_on: - redis stdin_open: true # docker run -i tty: true # docker run -t # API - Blue aether_api_gunicorn_blue: restart: always container_name: ${CONTAINER_AE_API_BLUE} build: # context: ./builds context: ./ dockerfile: aether_fastapi_gunicorn.Dockerfile env_file: - ./.env ports: - "${AE_API_GUNICORN_PORT_BLUE}:5005" extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # expose: # - 5005 # networks: # - local-net volumes: - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt - ./conf/aether_api_config.py:/srv/aether_api/app/config.py - ./logs/ae_api:/logs - ./srv/aether_api_ln:/srv/aether_api - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp # - ./tmp/ae_api:/tmp - ./temp/ae_api:/temp # links: # - redis depends_on: - redis stdin_open: true # docker run -i tty: true # docker run -t # API - Green aether_api_gunicorn_green: restart: always container_name: ${CONTAINER_AE_API_GREEN} build: # context: ./builds context: ./ dockerfile: aether_fastapi_gunicorn.Dockerfile env_file: - ./.env ports: - "${AE_API_GUNICORN_PORT_GREEN}:5005" extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # expose: # - 5005 # networks: # - local-net volumes: - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt - ./conf/aether_api_config.py:/srv/aether_api/app/config.py - ./logs/ae_api:/logs - ./srv/aether_api_ln:/srv/aether_api - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp # - ./tmp/ae_api:/tmp - ./temp/ae_api:/temp # links: # - redis depends_on: - redis stdin_open: true # docker run -i tty: true # docker run -t # API - Black aether_api_gunicorn_black: restart: always container_name: ${CONTAINER_AE_API_BLACK} build: # context: ./builds context: ./ dockerfile: aether_fastapi_gunicorn.Dockerfile env_file: - ./.env ports: - "${AE_API_GUNICORN_PORT_BLACK}:5005" extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" volumes: - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt - ./conf/aether_api_config.py:/srv/aether_api/app/config.py - ./logs/ae_api:/logs - ./srv/aether_api_ln:/srv/aether_api - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp - ./temp/ae_api:/temp depends_on: - redis stdin_open: true tty: true # API - White # aether_api_gunicorn_white: # restart: always # container_name: ${CONTAINER_AE_API_WHITE} # build: # context: ./ # dockerfile: aether_fastapi_gunicorn.Dockerfile # env_file: # - ./.env # ports: # - "${AE_API_GUNICORN_PORT_WHITE}:5005" # extra_hosts: # - "${DOCKER_AE_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_APP_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # volumes: # - ./conf/aether_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py # - ./conf/aether_fastapi_requirements_current.txt:/requirements_current.txt # - ./conf/aether_api_config.py:/srv/aether_api/app/config.py # - ./logs/ae_api:/logs # - ./srv/aether_api_ln:/srv/aether_api # - ./srv/hosted_files_ln:/srv/hosted_files # - ./srv/hosted_tmp_ln:/srv/hosted_tmp # - ./temp/ae_api:/temp # depends_on: # - redis # stdin_open: true # tty: true # aether_api_v5_gunicorn: # restart: always # container_name: ae_api_v5_dev # build: # # context: ./builds # context: ./ # dockerfile: aether_api_v5_fastapi_gunicorn.Dockerfile # env_file: # - ./.env # ports: # - "5067:5005" # volumes: # - ./conf/aether_api_v5_fastapi_gunicorn_conf.py:/conf/gunicorn_fastapi_conf.py # - ./conf/aether_api_v5_fastapi_requirements_current.txt:/conf/requirements_current.txt # - ./conf/aether_api_v5_fastapi_config.py:/srv/aether_api/app/config.py # # - ./logs/ae_api_v5:/logs # # - ./srv/aether_api_v5_ln:/srv/aether_api # - ./srv/hosted_files_ln:/srv/hosted_files # - ./srv/hosted_tmp_ln:/srv/hosted_tmp # # # - ./tmp/ae_api:/tmp # # - ./temp/ae_api:/temp # # - ./temp/ae_api/aether_fastapi_requirements_current.txt:/temp/requirements_current.txt # # links: # # - redis # depends_on: # - redis # stdin_open: true # docker run -i # tty: true # docker run -t aether_app_gunicorn: restart: always container_name: ${CONTAINER_AE_APP} build: # context: ./builds context: ./ dockerfile: aether_flask_gunicorn.Dockerfile # image: tiangolo/uvicorn-gunicorn:latest env_file: - ./.env ports: - "${AE_APP_GUNICORN_PORT}:5005" # expose: # - 5005 # networks: # - local-net extra_hosts: - "${DOCKER_AE_SERVER_EXTRA_HOST}" - "${DOCKER_AE_API_SERVER_EXTRA_HOST}" - "${DOCKER_AE_API_BAK_SERVER_EXTRA_HOST}" # - "${DOCKER_AE_API_V5_SERVER_EXTRA_HOST}" # - dev-api.oneskyit.com:192.168.32.20 volumes: - ./conf/aether_flask_gunicorn_conf.py:/conf/gunicorn_flask_conf.py - ./conf/aether_flask_requirements_current.txt:/requirements_current.txt - ./conf/aether_app_config.py:/srv/aether_app/flask_config_v2.py - ./logs/ae_app:/logs # - ./logs/aether_flask_gunicorn_access.log:/logs/gunicorn_access.log # - ./logs/aether_flask_gunicorn_error.log:/logs/gunicorn_error.log # - ./logs/aether_app.log:/logs/aether_app.log # - ./logs/aether_app_warning.log:/logs/aether_app_warning.log - ./srv/aether_app_ln:/srv/aether_app - ./srv/hosted_files_ln:/srv/hosted_files - ./srv/hosted_tmp_ln:/srv/hosted_tmp - ./tmp/ae_app:/tmp depends_on: - aether_api_gunicorn stdin_open: true # docker run -i tty: true # docker run -t # networks: # local-net: # driver: bridge # volumes: # ./tmp/ae_app: # external: true