Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions docker-compose-dev-mysql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name: devlake-mysql

services:
mysql:
image: mysql:8
volumes:
- mysql-storage:/var/lib/mysql
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: lake
MYSQL_USER: merico
MYSQL_PASSWORD: merico
TZ: UTC
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
--skip-log-bin

grafana:
image: devlake.docker.scarf.sh/apache/devlake-dashboard:latest
build:
context: grafana/
ports:
- 3001:3000
volumes:
- grafana-storage:/var/lib/grafana
- ./grafana/dashboards/mysql:/etc/grafana/dashboards:ro
environment:
GF_SERVER_ROOT_URL: "http://localhost:4001/grafana"
GF_USERS_DEFAULT_THEME: "light"
DATABASE_TYPE: mysql
DATABASE_HOST: mysql
DATABASE_PORT: 3306
DATABASE_NAME: lake
DATABASE_USER: merico
DATABASE_PASSWORD: merico
TZ: UTC
restart: always
depends_on:
- mysql

devlake:
image: devlake-local:latest
build:
context: backend
dockerfile: Dockerfile.local
args:
HTTPS_PROXY: "${HTTPS_PROXY}"
GOPROXY: "${GOPROXY}"
ports:
- 8083:8080
restart: always
volumes:
- devlake-log:/app/logs
env_file:
- ./.env
environment:
DB_URL: mysql://merico:merico@mysql:3306/lake?charset=utf8mb4&parseTime=True&loc=UTC
E2E_DB_URL: mysql://merico:merico@mysql:3306/lake_test?charset=utf8mb4&parseTime=True&loc=UTC
REMOTE_PLUGIN_DIR: ""
FORCE_MIGRATION: "true"
LOGGING_DIR: /app/logs
TZ: UTC
depends_on:
- mysql

config-ui:
image: devlake.docker.scarf.sh/apache/devlake-config-ui:latest
build:
context: "config-ui"
ports:
- 4001:4000
env_file:
- ./.env
environment:
DEVLAKE_ENDPOINT: devlake:8080
GRAFANA_ENDPOINT: grafana:3000
TZ: UTC
depends_on:
- devlake

authproxy:
image: quay.io/oauth2-proxy/oauth2-proxy:v7.4.0-amd64
network_mode: "host"
ports:
- 4181:4180
env_file:
- ./.env

volumes:
mysql-storage:
grafana-storage:
devlake-log:
76 changes: 15 additions & 61 deletions docker-compose-dev.yml → docker-compose-dev-postgresql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
version: "3"
services:
mysql:
image: mysql:8
volumes:
- mysql-storage:/var/lib/mysql
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: admin
MYSQL_DATABASE: lake
MYSQL_USER: merico
MYSQL_PASSWORD: merico
TZ: UTC
command: --character-set-server=utf8mb4
--collation-server=utf8mb4_bin
--skip-log-bin
name: devlake-postgresql

services:
postgres:
image: postgres:14.2
volumes:
- postgres-storage:/var/lib/postgresql
restart: always
ports:
- 5432:5432
environment:
POSTGRES_DB: lake
POSTGRES_USER: merico
POSTGRES_PASSWORD: merico
TZ: UTC

postgres17:
image: postgres:17.2
volumes:
- postgres17-storage:/var/lib/postgresql
- postgres-storage:/var/lib/postgresql
restart: always
ports:
- 5432:5432
Expand All @@ -66,17 +37,20 @@ services:
- 3002:3000
volumes:
- grafana-storage:/var/lib/grafana
- ./grafana/dashboards/postgresql:/etc/grafana/dashboards:ro
environment:
GF_SERVER_ROOT_URL: "http://localhost:4000/grafana"
GF_USERS_DEFAULT_THEME: "light"
MYSQL_URL: mysql:3306
MYSQL_DATABASE: lake
MYSQL_USER: merico
MYSQL_PASSWORD: merico
DATABASE_TYPE: postgresql
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DATABASE_NAME: lake
DATABASE_USER: merico
DATABASE_PASSWORD: merico
TZ: UTC
restart: always
depends_on:
- mysql
- postgres

devlake:
image: devlake-local:latest
Expand All @@ -87,7 +61,7 @@ services:
HTTPS_PROXY: "${HTTPS_PROXY}"
GOPROXY: "${GOPROXY}"
ports:
- 8080:8080
- 8084:8080
restart: always
volumes:
- devlake-log:/app/logs
Expand All @@ -100,9 +74,8 @@ services:
FORCE_MIGRATION: "true"
LOGGING_DIR: /app/logs
TZ: UTC
# LOGOUT_URI: https://xxx.amazoncognito.com/logout?client_id=yyy&logout_uri=http%3A%2F%2Flocalhost%3A4180%2Foauth2%2Fsign_out
depends_on:
- mysql
- postgres

config-ui:
image: devlake.docker.scarf.sh/apache/devlake-config-ui:latest
Expand All @@ -116,8 +89,6 @@ services:
DEVLAKE_ENDPOINT: devlake:8080
GRAFANA_ENDPOINT: grafana:3000
TZ: UTC
#ADMIN_USER: devlake
#ADMIN_PASS: letsdivein
depends_on:
- devlake

Expand All @@ -128,25 +99,8 @@ services:
- 4180:4180
env_file:
- ./.env
# environment:
# OAUTH2_PROXY_PROVIDER: oidc
# OAUTH2_PROXY_PROVIDER_DISPLAY_NAME: my provider
# OAUTH2_PROXY_COOKIE_SECRET:
# OAUTH2_PROXY_COOKIE_DOMAINS: localhost:4180
# OAUTH2_PROXY_COOKIE_SECURE: 'false'
# OAUTH2_PROXY_EMAIL_DOMAINS: *
# OAUTH2_PROXY_OIDC_ISSUER_URL:
# OAUTH2_PROXY_OIDC_JWKS_URL:
# OAUTH2_PROXY_CLIENT_ID:
# OAUTH2_PROXY_CLIENT_SECRET:
# OAUTH2_PROXY_UPSTREAMS: http://localhost:4000
# OAUTH2_PROXY_HTTP_ADDRESS: http://0.0.0.0:4180
# OAUTH2_PROXY_REVERSE_PROXY: 'true'
# OAUTH2_PROXY_SKIP_AUTH_ROUTES: ^/grafana.*

volumes:
mysql-storage:
grafana-storage:
postgres-storage:
postgres17-storage:
devlake-log:
grafana-storage:
devlake-log:
9 changes: 5 additions & 4 deletions grafana/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,18 @@

FROM grafana/grafana:11.6.2
COPY ./provisioning/dashboards /etc/grafana/provisioning/dashboards
COPY ./provisioning/datasources /etc/grafana/provisioning/datasources
COPY ./dashboards /etc/grafana/dashboards
COPY ./scripts/entrypoint.sh /entrypoint.sh
COPY ./img/grafana_icon.svg /usr/share/grafana/public/img/grafana_icon.svg
COPY ./img /usr/share/grafana/public/img/lake
ENV GF_USERS_ALLOW_SIGN_UP=false
ENV GF_SERVER_SERVE_FROM_SUB_PATH=true
ENV GF_DASHBOARDS_JSON_ENABLED=true
ENV GF_LIVE_ALLOWED_ORIGINS='*'
ENV GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/etc/grafana/dashboards/Homepage.json
USER root
RUN grafana-cli plugins install grafana-piechart-panel
RUN chgrp -R 0 /etc/grafana /usr/share/grafana /var/lib/grafana && \
RUN grafana-cli plugins install grafana-piechart-panel && \
chmod +x /entrypoint.sh && \
chgrp -R 0 /etc/grafana /usr/share/grafana /var/lib/grafana && \
chmod -R g=u /etc/grafana /usr/share/grafana /var/lib/grafana
USER 101
ENTRYPOINT ["/entrypoint.sh"]
Loading
Loading