version: '3.4' networks: traefik: external: true services: ########### ## MYSQL ## ########### ## MariaDB is currently not supported and neither is later versions of MySQL this may change. ## https://hub.docker.com/r/_/mariadb/ mysql: image: mysql.5.7.23 restart: always networks: traefik: ipv4_address: 10.5.1.11 aliases: - mysql environment: ## These variables are stored in the .env file next to this docker-compose.yml file. ## I will include a default .env file and .gitignore the ".env" pattern so you should be able to just git pull in the future if you need to. MYSQL_SERVER: ${MYSQL_SERVER:-10.5.1.11} MYSQL_USER: ${MYSQL_USER:-changeme} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-changeme} MYSQL_DATABASE: ${MYSQL_DATABASE:-reflector} MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-changeme} expose: - 3306 volumes: - ./data/db:/var/lib/mysql ################## ## reflector.go ## ################## reflector-go: build: . restart: always networks: traefik: ipv4_address: 10.5.1.20 environment: AWS_ID: ${AWS_ID:-default} AWS_SECRET: ${AWS_SECRET:-default} BUCKET_REGION: ${BUCKET_REGION:-default} BUCKET_NAME: ${BUCKET_NAME:-default} DB_USER: ${MYSQL_USER:-changeme} DB_PASSWORD: ${MYSQL_PASSWORD:-changeme} DB_HOSTIP: ${MYSQL_SERVER:-10.5.1.11} DB_PORT: ${DB_PORT:-3306} DB_NAME: ${MYSQL_DATABASE:-reflector} labels: - "traefik.expose=false" depends_on: - mysql