diff --git a/.gitignore b/.gitignore index 2bbb354e..0e64181a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ **/.cache_ggshield -ansible/collections/ansible_collections/ \ No newline at end of file +ansible/collections/ansible_collections/ +**/.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 6535a861..86c2b440 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -271,9 +271,9 @@ services: authelia-pg: container_name: authelia-pg environment: - - POSTGRES_PASSWORD=${AUTHELIA_STORAGE_POSTGRES_PASSWORD} - - POSTGRES_USER=authelia - - POSTGRES_DB=authelia + POSTGRES_PASSWORD: ${AUTHELIA_STORAGE_POSTGRES_PASSWORD} + POSTGRES_USER: authelia + POSTGRES_DB: authelia expose: - 5432 image: postgres:16-alpine @@ -848,6 +848,159 @@ services: type: volume bind: create_host_path: true + dbgate: + container_name: dbgate + environment: + CONNECTIONS: authelia-pg,bitmagnet-pg-db,gitea-db,invidious-db,joplin-db,lobe-chat-pg-db,mariadb,mastodon-pg-db,mongodb,netbox-db,pgbackweb,pgbackweb-db,plausible-db,plausible-events-db,reactive-resume-pg,sonarqube-pg-db,synapse-db,tandoor-pg,traccar-pg,whodb,zitadel-pg-db + + LABEL_mariadb: mariadb + SERVER_mariadb: mariadb + USER_mariadb: root + PASSWORD_mariadb: ${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD} + PORT_mariadb: 3306 + ENGINE_mariadb: mariadb@dbgate-plugin-mysql + + LABEL_authelia-pg: authelia-pg + SERVER_authelia-pg: authelia-pg + USER_authelia-pg: authelia + DATABASE_authelia-pg: authelia + PASSWORD_authelia-pg: ${BITMAGNET_POSTGRESQL_PASSWORD} + PORT_authelia-pg: 5432 + ENGINE_authelia-pg: postgres@dbgate-plugin-postgres + + LABEL_bitmagnet-pg-db: bitmagnet-pg-db + SERVER_bitmagnet-pg-db: bitmagnet-pg-db + USER_bitmagnet-pg-db: bitmagnet-pg + DATABASE_bitmagnet-pg-db: bitmagnet + PASSWORD_bitmagnet-pg-db: ${BITMAGNET_POSTGRESQL_PASSWORD} + PORT_bitmagnet-pg-db: 5432 + ENGINE_bitmagnet-pg-db: postgres@dbgate-plugin-postgres + + LABEL_gitea-db: gitea-db + SERVER_gitea-db: gitea-db + USER_gitea-db: gitea + PASSWORD_gitea-db: ${GITEA_PG_DB_PASSWORD} + DATABASE_gitea-db: gitea + PORT_gitea-db: 5432 + ENGINE_gitea-db: postgres@dbgate-plugin-postgres + + LABEL_invidious-db: invidious-db + SERVER_invidious-db: invidious-db + USER_invidious-db: kemal + PASSWORD_invidious-db: ${INVID_PG_DB_PASSWORD} + PORT_invidious-db: 5432 + DATABASE_invidious-db: invidious + ENGINE_invidious-db: postgres@dbgate-plugin-postgres + + LABEL_joplin-db: joplin-db + SERVER_joplin-db: joplin-db + USER_joplin-db: ${JOPLIN_POSTGRES_USER} + PASSWORD_joplin-db: ${JOPLIN_POSTGRES_DATABASE} + DATABASE_joplin-db: joplin + PORT_joplin-db: 5432 + ENGINE_joplin-db: postgres@dbgate-plugin-postgres + + LABEL_lobe-chat-pg-db: lobe-chat-pg-db + SERVER_lobe-chat-pg-db: lobe-chat-pg-db + USER_lobe-chat-pg-db: lobe + PASSWORD_lobe-chat-pg-db: ${GITEA_PG_DB_PASSWORD} + DATABASE_lobe-chat-pg-db: lobe + PORT_lobe-chat-pg-db: 5432 + ENGINE_lobe-chat-pg-db: postgres@dbgate-plugin-postgres + + LABEL_mastodon-pg-db: mastodon-pg-db + SERVER_mastodon-pg-db: mastodon-pg-db + USER_mastodon-pg-db: mastodon + PASSWORD_mastodon-pg-db: ${MASTODON_PG_DB_PASSWORD} + DATABASE_mastodon-pg-db: mastodon + PORT_mastodon-pg-db: 5432 + ENGINE_mastodon-pg-db: postgres@dbgate-plugin-postgres + + LABEL_mongodb: mongodb + URI_mongodb: mongodb://mongodb:27017 + ENGINE_mongodb: mongo@dbgate-plugin-mongo + + LABEL_netbox-db: netbox-db + SERVER_netbox-db: netbox-db + USER_netbox-db: netbox + PASSWORD_netbox-db: ${NETBOX_PG_DB_PASSWORD} + PORT_netbox-db: 5432 + DATABASE_netbox-db: netbox + ENGINE_netbox-db: postgres@dbgate-plugin-postgres + + LABEL_pgbackweb-db: pgbackweb-db + SERVER_pgbackweb-db: pgbackweb-db + USER_pgbackweb-db: pgbackweb + PASSWORD_pgbackweb-db: ${PGBACKWEB_PG_DB_PASSWD} + PORT_pgbackweb-db: 5432 + ENGINE_pgbackweb-db: postgres@dbgate-plugin-postgres + + LABEL_plausible-db: plausible-db + SERVER_plausible-db: plausible-db + USER_plausible-db: plausible + PASSWORD_plausible-db: ${PLAUSIBLE_PG_PASSWORD} + PORT_plausible-db: 5432 + ENGINE_plausible-db: postgres@dbgate-plugin-postgres + + LABEL_reactive-resume-pg: reactive-resume-pg + SERVER_reactive-resume-pg: reactive-resume-pg + USER_reactive-resume-pg: reactiveresume + PASSWORD_reactive-resume-pg: ${REACTIVE_RESUME_PGSQL_PASSWORD} + PORT_reactive-resume-pg: 5432 + ENGINE_reactive-resume-pg: postgres@dbgate-plugin-postgres + + LABEL_sonarqube-pg-db: sonarqube-pg-db + SERVER_sonarqube-pg-db: sonarqube-pg-db + USER_sonarqube-pg-db: sonar + PASSWORD_sonarqube-pg-db: ${SONARQUBE_POSTGRES_PASSWORD} + PORT_sonarqube-pg-db: 5432 + ENGINE_sonarqube-pg-db: postgres@dbgate-plugin-postgres + + LABEL_synapse-db: synapse-db + SERVER_synapse-db: synapse-db + USER_synapse-db: synapse + PASSWORD_synapse-db: ${SYNAPSE_POSTGRES_PASSWORD} + PORT_synapse-db: 5432 + ENGINE_synapse-db: postgres@dbgate-plugin-postgres + + LABEL_tandoor-pg: tandoor-pg + SERVER_tandoor-pg: tandoor-pg + USER_tandoor-pg: tandoor + PASSWORD_tandoor-pg: ${TANDOOR_POSTGRES_PASSWORD} + PORT_tandoor-pg: 5432 + ENGINE_tandoor-pg: postgres@dbgate-plugin-postgres + + LABEL_traccar-pg: traccar-pg + SERVER_traccar-pg: traccar-pg + USER_traccar-pg: ${TRACCAR_POSTGRES_USER} + PASSWORD_traccar-pg: ${TRACCAR_POSTGRES_PASSWORD} + PORT_traccar-pg: 5432 + ENGINE_traccar-pg: postgres@dbgate-plugin-postgres + + LABEL_zitadel-pg-db: zitadel-pg-db + SERVER_zitadel-pg-db: zitadel-pg-db + USER_zitadel-pg-db: root + PASSWORD_zitadel-pg-db: ${ZITADEL_DB_ADMIN_PASSWORD} + PORT_zitadel-pg-db: 5432 + ENGINE_zitadel-pg-db: postgres@dbgate-plugin-postgres + image: dbgate/dbgate:alpine + labels: + homepage.group: System Administration + homepage.name: DbGate + homepage.href: https://dbs.${MY_TLD} + homepage.icon: sh-dbgate.png + homepage.description: Cross-platform database manager + swag: enable + swag_port: 3000 + swag_proto: http + swag_url: dbs.${MY_TLD} + swag.uptime-kuma.enabled: true + swag.uptime-kuma.monitor.url: https://dbs.${MY_TLD} + ports: + - 49054:3000 + restart: unless-stopped + volumes: + - dbgate-data:/root/.dbgate delugevpn: cap_add: - NET_ADMIN @@ -1228,9 +1381,9 @@ services: gitea-db: container_name: gitea-db environment: - - POSTGRES_USER=gitea - - POSTGRES_PASSWORD=${GITEA_PG_DB_PASSWORD} - - POSTGRES_DB=gitea + POSTGRES_USER: gitea + POSTGRES_PASSWORD: ${GITEA_PG_DB_PASSWORD} + POSTGRES_DB: gitea expose: - 5432 healthcheck: @@ -2654,9 +2807,9 @@ services: joplin-db: container_name: joplin-db environment: - - POSTGRES_PASSWORD=${JOPLIN_POSTGRES_PASSWORD} - - POSTGRES_USER=${JOPLIN_POSTGRES_USER} - - POSTGRES_DB=${JOPLIN_POSTGRES_DATABASE} + POSTGRES_PASSWORD: ${JOPLIN_POSTGRES_PASSWORD} + POSTGRES_USER: ${JOPLIN_POSTGRES_USER} + POSTGRES_DB: ${JOPLIN_POSTGRES_DATABASE} expose: - 5432 image: postgres:17-alpine @@ -6642,32 +6795,6 @@ services: published: "3010" target: 3000 restart: unless-stopped - whodb: - container_name: whodb - environment: - WHODB_MONGODB_1: null - WHODB_MYSQL_1: null - image: clidey/whodb - labels: - homepage.group: System Administration - homepage.name: WhoDB - homepage.href: https://dbs.${MY_TLD} - homepage.icon: /icons/whodb.png - homepage.description: Web-based DB management - swag: enable - swag_proto: http - swag_port: 8080 - swag_url: dbs.${MY_TLD} - swag.uptime-kuma.enabled: true - swag.uptime-kuma.monitor.url: https://dbs.${MY_TLD} - networks: - default: null - ports: - - mode: ingress - protocol: tcp - published: "8900" - target: 8080 - restart: unless-stopped yacht: container_name: yacht depends_on: @@ -7192,6 +7319,8 @@ volumes: name: dagu_config dagu_data: name: dagu_data + dbgate-data: + name: dbgate-data fastenhealth-cache: name: fastenhealth-cache fastenhealth-db: