From 2b0653f1f85ea12423f23bf36663e69efb18829f Mon Sep 17 00:00:00 2001 From: Charish Patel Date: Sat, 19 Oct 2024 17:00:14 -0400 Subject: [PATCH 1/6] Broke out Gitea services and env file. --- docker/gitea-compose.yml | 68 ++++++++++++++++++++++++++++++++++++++++ docker/gitea-env.example | 19 +++++++++++ 2 files changed, 87 insertions(+) create mode 100644 docker/gitea-compose.yml create mode 100644 docker/gitea-env.example diff --git a/docker/gitea-compose.yml b/docker/gitea-compose.yml new file mode 100644 index 00000000..12fd9421 --- /dev/null +++ b/docker/gitea-compose.yml @@ -0,0 +1,68 @@ +name: gitea +networks: +services: + gitea: + container_name: gitea + env_file: ./.env-gitea + image: gitea/gitea:1.22.2 + labels: + - homepage.group=Code + - homepage.name=Gitea + - homepage.href=https://git.${MY_TLD} + - homepage.icon=gitea.svg + - homepage.description=Private Code Repo + - homepage.widget.type=gitea + - homepage.widget.url=http://gitea:3000 + - homepage.widget.key=${GITEA_HOMEPAGE_API_KEY} + - swag=enable + - swag_port=3000 + - swag_proto=http + - swag_url=git.${MY_TLD} + - swag.uptime-kuma.enabled=true + - swag.uptime-kuma.monitor.url=https://git.${MY_TLD} + networks: + default: null + ports: + - mode: ingress + protocol: tcp + published: "3013" + target: 3000 + - mode: ingress + protocol: tcp + published: "222" + target: 22 + restart: always + volumes: + - source: ${DOCKER_VOLUME_CONFIG}/gitea + target: /data + type: volume + volume: {} + - bind: + create_host_path: true + read_only: true + source: /etc/timezone + target: /etc/timezone + type: bind + - bind: + create_host_path: true + read_only: true + source: /etc/localtime + target: /etc/localtime + type: bind + gitea-db: + container_name: gitea-db + env_file: ./.env- + expose: + - 5432 + image: postgres:14 + networks: + default: null + restart: always + volumes: + - source: gitea-pg-db + target: /var/lib/postgresql/data + type: volume + volume: {} +volumes: + gitea-pg-db: + name: gitea-pg-db \ No newline at end of file diff --git a/docker/gitea-env.example b/docker/gitea-env.example new file mode 100644 index 00000000..a52cf8bf --- /dev/null +++ b/docker/gitea-env.example @@ -0,0 +1,19 @@ +GITEA__database__DB_TYPE= +GITEA__database__HOST= +GITEA__database__NAME= +GITEA__database__PASSWD= +GITEA__database__USER= +GITEA__mailer__ENABLED= +GITEA__mailer__FROM= +GITEA__mailer__IS_TLS_ENABLED= +GITEA__mailer__PASSWD= +GITEA__mailer__PROTOCOL= +GITEA__mailer__SMTP_ADDR= +GITEA__mailer__SMTP_PORT= +GITEA__mailer__USER= +GITEA_HOMEPAGE_API_KEY= +POSTGRES_DB= +POSTGRES_PASSWORD= +POSTGRES_USER= +USER_GID= +USER_UID= From 82d10b03aedab80c0fa38a180e58df1850b8766e Mon Sep 17 00:00:00 2001 From: Charish Patel Date: Sun, 20 Oct 2024 10:13:01 -0400 Subject: [PATCH 2/6] Changes to main compose file. --- ...pose.full.yml => rinoa-docker-compose.yml} | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) rename docker/{rinoa-docker-compose.full.yml => rinoa-docker-compose.yml} (99%) diff --git a/docker/rinoa-docker-compose.full.yml b/docker/rinoa-docker-compose.yml similarity index 99% rename from docker/rinoa-docker-compose.full.yml rename to docker/rinoa-docker-compose.yml index c5bc1c78..ce7ddc51 100644 --- a/docker/rinoa-docker-compose.full.yml +++ b/docker/rinoa-docker-compose.yml @@ -454,7 +454,7 @@ services: bitwarden: container_name: bitwarden environment: - ADMIN_TOKEN: ROR3nZyP4vC7WhxHcZ17dcI2wETtliut26sK8MGFHUVONjvFaPadW4kRzr+1Pf5y + ADMIN_TOKEN: ${BITWARDEN_ENVIRONMENT_ADMIN_TOKEN} DATABASE_URL: data/db.sqlite3 DISABLE_ADMIN_TOKEN: "false" DOMAIN: https://bitwarden.${MY_TLD} @@ -535,8 +535,8 @@ services: container_name: cloudflareddns environment: ARGS: --dns-cloudflare-propagation-seconds 60 - CF_APIKEY: KovoseS_l5lEP3HT4VdcGvImLghasKXcAa-QZ-bC - CF_APITOKEN: KovoseS_l5lEP3HT4VdcGvImLghasKXcAa-QZ-bC + CF_APIKEY: ${CLOUDFLAREDDNS_ENVIRONMENT_APIKEY} + CF_APITOKEN: ${CLOUDFLAREDDNS_ENVIRONMENT_APITOKEN} CF_HOSTS: trez.wtf CF_RECORDTYPES: A CF_USER: charish.patel@trez.wtf @@ -1109,6 +1109,35 @@ services: networks: default: null restart: always + git-opengist: + container_name: gitea-gist + environment: + OG_LOG_LEVEL: warn + OG_EXTERNAL_URL: https://gist.trez.wtf + OG_GIT_DEFAULT_BRANCH: "main" + OG_GITEA_CLIENT_KEY: ${OPENGIST_GITEA_CLIENT_KEY} + OG_GITEA_SECRET: ${OPENGIST_GITEA_SECRET} + OG_GITEA_URL: http://gitea:3000 + OG_GITEA_NAME: "Gitea @ Rinoa" + image: ghcr.io/thomiceli/opengist:latest + labels: + homepage.description: Private Code Gists + homepage.group: Code + homepage.href: https://gist.trez.wtf + homepage.icon: /icons/opengist.svg + homepage.name: Opengist + swag: enable + swag.uptime-kuma.enabled: "true" + swag.uptime-kuma.monitor.url: https://gist.trez.wtf + swag_port: "6157" + swag_proto: http + swag_url: gist.trez.wtf + ports: + - "6157:6157" # HTTP port + - "2222:2222" # SSH port, can be removed if you don't use SSH + restart: always + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/opengist:/opengist gitea: container_name: gitea environment: From 83a2da684c904dc910e1de84f71185d4e1ca31da Mon Sep 17 00:00:00 2001 From: Charish Patel Date: Sun, 20 Oct 2024 13:44:39 -0400 Subject: [PATCH 3/6] Corrections and addition of Opengist to Compose file and updates to env. --- docker/rinoa-docker-compose.yml | 602 +++++++++++++++++++------------- docker/rinoa.env-example | 38 +- 2 files changed, 377 insertions(+), 263 deletions(-) diff --git a/docker/rinoa-docker-compose.yml b/docker/rinoa-docker-compose.yml index ce7ddc51..f0d39d13 100644 --- a/docker/rinoa-docker-compose.yml +++ b/docker/rinoa-docker-compose.yml @@ -91,8 +91,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/anonaddy target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true adguard: container_name: adguard environment: @@ -181,8 +182,9 @@ services: type: bind - source: ${DOCKER_VOLUME_CONFIG}/swag/etc/letsencrypt/archive/trez.wtf target: /etc/ssl/certs - type: volume - volume: {} + type: bind + bind: + create_host_path: true apprise: container_name: apprise environment: @@ -313,8 +315,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/authelia/ target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true authelia-pg: container_name: authelia-pg environment: @@ -331,7 +334,8 @@ services: - source: authelia-pg-db target: /var/lib/postgresql/data type: volume - volume: {} + bind: + create_host_path: true bazarr: container_name: bazarr environment: @@ -423,8 +427,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/bitmagnet target: /root/.local/share/bitmagnet - type: volume - volume: {} + type: bind + bind: + create_host_path: true bitmagnet-pgsql: container_name: bitmagnet-pgsql environment: @@ -590,17 +595,20 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/crowdsec/config.yaml.local target: /etc/crowdsec/config.yaml.local - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/crowdsec/local_api_credentials.yaml.local target: /etc/crowdsec/local_api_credentials.yaml.local - type: volume - volume: {} + type: bind + bind: + create_host_path: true - read_only: true source: ${DOCKER_VOLUME_CONFIG}/swag/log/nginx target: /var/log/swag - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: crowdsec-config target: /etc/crowdsec type: volume @@ -689,12 +697,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/czkawka target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_STORAGE} target: /storage - type: volume - volume: {} + type: bind + bind: + create_host_path: true dagu-scheduler: command: dagu scheduler container_name: dagu-scheduler @@ -740,11 +750,13 @@ services: - source: dagu_config target: /home/dagu/.config/dagu type: volume - volume: {} + bind: + create_host_path: true - source: dagu_data target: /home/dagu/.local/share type: volume - volume: {} + bind: + create_host_path: true delugevpn: cap_add: - NET_ADMIN @@ -891,8 +903,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/docuseal target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true duplicati: container_name: duplicati environment: @@ -1187,8 +1200,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/gitea target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -1311,8 +1325,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/gotify target: /app/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true grafana: container_name: grafana depends_on: @@ -1357,8 +1372,9 @@ services: type: bind - source: ${DOCKER_VOLUME_CONFIG}/grafana/data target: /var/lib/grafana - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true source: /rinoa-storage @@ -1393,12 +1409,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/grafana/alloy/config.alloy target: /etc/alloy/config.alloy - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/grafana/alloy/endpoints.json target: /etc/alloy/endpoints.json - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -1436,8 +1454,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/grafana/loki/loki-config.yaml target: /etc/loki/loki-config.yaml - type: volume - volume: {} + type: bind + bind: + create_host_path: true grafana-mimir: command: - -ingester.native-histograms-ingestion-enabled=true @@ -1469,8 +1488,9 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/grafana/mimir/mimir.yaml target: /etc/mimir.yaml - type: volume - volume: {} + type: bind + bind: + create_host_path: true grafana-mimir-memcached: container_name: grafana-mimir-memcached depends_on: @@ -1518,8 +1538,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/grafana/pyroscope/config.yaml target: /etc/pyroscope.yml - type: volume - volume: {} + type: bind + bind: + create_host_path: true grafana-tempo: command: - -config.file=/etc/tempo.yaml @@ -1564,8 +1585,9 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/grafana/tempo/tempo.yaml target: /etc/tempo.yaml - type: volume - volume: {} + type: bind + bind: + create_host_path: true homepage: container_name: homepage image: ghcr.io/gethomepage/homepage:latest @@ -1580,21 +1602,25 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/homepage target: /app/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/homepage/images target: /app/public/images - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/homepage/icons target: /app/public/icons - type: volume - volume: {} + type: bind + bind: + create_host_path: true - read_only: true source: ${DOCKER_VOLUME_STORAGE} target: /rinoa-storage - type: volume - volume: {} + type: bind + bind: + create_host_path: true hortusfox: container_name: hortusfox depends_on: @@ -1721,12 +1747,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/hugo/ target: /src - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/hugo/cache target: /tmp/hugo_cache - type: volume - volume: {} + type: bind + bind: + create_host_path: true invidious: container_name: invidious depends_on: @@ -1794,12 +1822,14 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/invidious/sql target: /config/sql - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/invidious/entrypoint/init-invidious-db.sh target: /docker-entrypoint-initdb.d/init-invidious-db.sh - type: volume - volume: {} + type: bind + bind: + create_host_path: true invoice_ninja: container_name: invoice_ninja environment: @@ -1844,20 +1874,24 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/app/public target: /var/www/app/public - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/app/storage target: /var/www/app/storage - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/php/php.ini target: /usr/local/etc/php/php.ini - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/php/php-cli.ini target: /usr/local/etc/php/php-cli.ini - type: volume - volume: {} + type: bind + bind: + create_host_path: true invoice_ninja_proxy: container_name: invoice_ninja_proxy depends_on: @@ -1916,13 +1950,15 @@ services: - read_only: true source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/proxy/invoice_ninja.conf target: /etc/nginx/conf.d/in-vhost.conf - type: volume - volume: {} + type: bind + bind: + create_host_path: true - read_only: true source: ${DOCKER_VOLUME_CONFIG}/invoice_ninja/app/public target: /var/www/app/public - type: volume - volume: {} + type: bind + bind: + create_host_path: true it-tools: container_name: it-tools image: ghcr.io/corentinth/it-tools:latest @@ -2025,8 +2061,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/keycloak target: /opt/keycloak - type: volume - volume: {} + type: bind + bind: + create_host_path: true jitsi-admin-websocket: container_name: jitsi-admin-websocket environment: @@ -2121,8 +2158,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/jitsi/jibri target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true jitsi-jicofo: container_name: focus.meet.jitsi depends_on: @@ -2193,11 +2231,11 @@ services: restart: unless-stopped volumes: - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/jicofo target: /config - type: volume - volume: {} + type: bind jitsi-jigasi: container_name: jitsi-jigasi depends_on: @@ -2254,17 +2292,17 @@ services: restart: unless-stopped volumes: - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/jigasi target: /config - type: volume - volume: {} + type: bind - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/transcripts target: /tmp/transcripts - type: volume - volume: {} + type: bind jitsi-jvb: container_name: video.meet.jitsi depends_on: @@ -2314,11 +2352,11 @@ services: restart: unless-stopped volumes: - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/jvb target: /config - type: volume - volume: {} + type: bind jitsi-prosody: container_name: xmpp.meet.jitsi environment: @@ -2418,17 +2456,17 @@ services: restart: unless-stopped volumes: - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/prosody/config target: /config - type: volume - volume: {} + type: bind - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/prosody/prosody-plugins-custom target: /prosody-plugins-custom - type: volume - volume: {} + type: bind jitsi-web: container_name: meet.jitsi environment: @@ -2595,23 +2633,23 @@ services: restart: unless-stopped volumes: - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/web target: /config - type: volume - volume: {} + type: bind - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/web/crontabs target: /var/spool/cron/crontabs - type: volume - volume: {} + type: bind - bind: + create_host_path: true selinux: Z source: ${DOCKER_VOLUME_CONFIG}/jitsi/transcripts target: /usr/share/jitsi-meet/transcripts - type: volume - volume: {} + type: bind joplin-db: container_name: joplin-db environment: @@ -2639,7 +2677,7 @@ services: - INSTANCE_NAME='Joplin @ Rinoa' - IS_ADMIN_INSTANCE=true - MAILER_ENABLED=1 - - MAILER_HOST=postal-smtp + - MAILER_HOST=postal-SMTP - MAILER_PORT=25 - MAILER_SECURITY=none - MAILER_AUTH_USER=${POSTAL_SMTP_AUTH_USER} @@ -2811,12 +2849,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/lidify target: /lidify/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_STORAGE}/Audio/Music target: /data/media/music - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -2856,8 +2896,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/lldap target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true localai: container_name: localai environment: @@ -2893,8 +2934,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/localai/models target: /build/models - type: volume - volume: {} + type: bind + bind: + create_host_path: true maloja: container_name: maloja environment: @@ -2934,16 +2976,19 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/maloja/config target: /etc/maloja - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/maloja/data target: /var/lib/maloja - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/maloja/logs target: /var/log/maloja - type: volume - volume: {} + type: bind + bind: + create_host_path: true mariadb: container_name: mariadb environment: @@ -2976,12 +3021,14 @@ services: type: bind - source: ${DOCKER_VOLUME_STORAGE} target: /storage - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mariadb target: /var/lib/mysql - type: volume - volume: {} + type: bind + bind: + create_host_path: true mattermost: container_name: mattermost depends_on: @@ -3045,28 +3092,34 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/mattermost/config target: /mattermost/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mattermost/data target: /mattermost/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mattermost/logs target: /mattermost/logs - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mattermost/plugins target: /mattermost/plugins - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mattermost/client/plugins target: /mattermost/client/plugins - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/mattermost/bleve-indexes target: /mattermost/bleve-indexes - type: volume - volume: {} + type: bind + bind: + create_host_path: true mattermost-db: container_name: mattermost-db environment: @@ -3191,12 +3244,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/minio/data target: /mnt/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/minio/minio target: /etc/config.env - type: volume - volume: {} + type: bind + bind: + create_host_path: true mongodb1: command: - --replSet @@ -3226,12 +3281,14 @@ services: volumes: - source: mongo1_data target: /data/db - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: mongo1_config target: /data/configdb - type: volume - volume: {} + type: bind + bind: + create_host_path: true mongodb2: command: - --replSet @@ -3254,12 +3311,14 @@ services: volumes: - source: mongo2_data target: /data/db - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: mongo2_config target: /data/configdb - type: volume - volume: {} + type: bind + bind: + create_host_path: true mongodb3: command: - --replSet @@ -3312,8 +3371,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/multi-scrobbler target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true navidrome: container_name: navidrome environment: @@ -3360,12 +3420,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/navidrome target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_STORAGE}/Audio/Music target: /music - type: volume - volume: {} + type: bind + bind: + create_host_path: true nextcloud: container_name: nextcloud environment: @@ -3526,12 +3588,14 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/paperless-ngx/export target: /usr/src/paperless/export - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/paperless-ngx/consume target: /usr/src/paperless/consume - type: volume - volume: {} + type: bind + bind: + create_host_path: true plausible: command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" container_name: plausible @@ -3592,8 +3656,9 @@ services: volumes: - source: plausible-db-data target: /var/lib/postgresql/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true plausible_events_db: container_name: plausible-events-db expose: @@ -3609,22 +3674,26 @@ services: volumes: - source: plausible-event-data target: /var/lib/clickhouse - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: plausible-event-logs target: /var/log/clickhouse-server - type: volume - volume: {} + type: bind + bind: + create_host_path: true - read_only: true source: ${DOCKER_VOLUME_CONFIG}/plausible/clickhouse/clickhouse-config.xml target: /etc/clickhouse-server/config.d/logging.xml - type: volume - volume: {} + type: bind + bind: + create_host_path: true - read_only: true source: ${DOCKER_VOLUME_CONFIG}/plausible/clickhouse/clickhouse-user-config.xml target: /etc/clickhouse-server/users.d/logging.xml - type: volume - volume: {} + type: bind + bind: + create_host_path: true portainer: command: - -H @@ -3694,8 +3763,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/postal target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true postal-web: command: postal web-server container_name: postal-web @@ -3724,8 +3794,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/postal target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true postal-worker: command: postal worker container_name: postal-worker @@ -3738,8 +3809,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/postal target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true prowlarr: container_name: prowlarr environment: @@ -3828,12 +3900,14 @@ services: volumes: - source: ${DOCKER_VOLUME_STORAGE}/Movies target: /data/media/movies - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/radarec target: /radarec/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -3954,8 +4028,9 @@ services: volumes: - source: reactive-resume-pg target: /var/lib/postgresql/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true readarr: container_name: readarr environment: @@ -4121,8 +4196,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/remmina target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true sabnzbdvpn: cap_add: - NET_ADMIN @@ -4298,12 +4374,14 @@ services: type: bind - source: ${DOCKER_VOLUME_CONFIG}/scrutiny/config target: /opt/scrutiny/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/scrutiny/influxdb target: /opt/scrutiny/influxdb - type: volume - volume: {} + type: bind + bind: + create_host_path: true searxng: cap_add: - CHOWN @@ -4344,8 +4422,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/searxng target: /etc/searxng - type: volume - volume: {} + type: bind + bind: + create_host_path: true sonarr: container_name: sonarr environment: @@ -4431,12 +4510,14 @@ services: volumes: - source: ${DOCKER_VOLUME_STORAGE}/TV_Shows target: /data/media/shows - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/sonashow target: /sonashow/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -4474,12 +4555,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/soulseek target: /app - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_STORAGE}/Audio/Music target: /music - type: volume - volume: {} + type: bind + bind: + create_host_path: true swag: cap_add: - NET_ADMIN @@ -4601,12 +4684,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/tandoor/static target: /opt/recipes/staticfiles - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/tandoor/media target: /opt/recipes/mediafiles - type: volume - volume: {} + type: bind + bind: + create_host_path: true tandoor-pg: container_name: tandoor-pg environment: @@ -5859,12 +5944,14 @@ services: - read_only: true source: ${DOCKER_VOLUME_CONFIG}/traccar/traccar.xml target: /opt/traccar/conf/traccar.xml - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/traccar/logs target: /opt/traccar/logs - type: volume - volume: {} + type: bind + bind: + create_host_path: true traccar-pg: container_name: traccar-pg environment: @@ -5880,8 +5967,9 @@ services: volumes: - source: traccar-pg target: /var/lib/postgresql/data - type: volume - volume: {} + type: bind + bind: + create_host_path: true unmanic: container_name: unmanic environment: @@ -5914,12 +6002,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/unmanic target: /config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_STORAGE} target: /library - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: unmanic-cache target: /tmp/unmanic type: volume @@ -6008,12 +6098,14 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/hashicorp-vault/config/ target: /vault/config - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/hashicorp-vault/logs/ target: /vault/logs - type: volume - volume: {} + type: bind + bind: + create_host_path: true wallabag: container_name: wallabag depends_on: @@ -6069,8 +6161,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/wallabag/images target: /var/www/wallabag/web/assets/images - type: volume - volume: {} + type: bind + bind: + create_host_path: true wallos: container_name: wallos environment: @@ -6098,12 +6191,14 @@ services: volumes: - source: wallos-db target: /var/www/html/db - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: wallos-logos target: /var/www/html/images/uploads/logos - type: volume - volume: {} + type: bind + bind: + create_host_path: true watchtower: container_name: watchtower environment: @@ -6189,8 +6284,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/watchyourlan target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true wazuh.agent: container_name: wazuh.agent environment: @@ -6254,24 +6350,29 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/certs/wazuh.dashboard.pem target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/certs/wazuh.dashboard-key.pem target: /usr/share/wazuh-dashboard/certs/wazuh-dashboard-key.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/certs/root-ca.pem target: /usr/share/wazuh-dashboard/certs/root-ca.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/config/opensearch_dashboards.yml target: /usr/share/wazuh-dashboard/config/opensearch_dashboards.yml - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/dashboard/config/wazuh.yml target: /usr/share/wazuh-dashboard/data/wazuh/config/wazuh.yml - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: wazuh-dashboard-config target: /usr/share/wazuh-dashboard/data/wazuh/config type: volume @@ -6308,32 +6409,39 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/certs/root-ca.pem target: /usr/share/wazuh-indexer/certs/root-ca.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/certs/wazuh.indexer-key.pem target: /usr/share/wazuh-indexer/certs/wazuh.indexer.key - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/certs/wazuh.indexer.pem target: /usr/share/wazuh-indexer/certs/wazuh.indexer.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/certs/admin.pem target: /usr/share/wazuh-indexer/certs/admin.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/certs/admin-key.pem target: /usr/share/wazuh-indexer/certs/admin-key.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/config/wazuh.indexer.yml target: /usr/share/wazuh-indexer/opensearch.yml - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/indexer/config/internal_users.yml target: /usr/share/wazuh-indexer/opensearch-security/internal_users.yml - type: volume - volume: {} + type: bind + bind: + create_host_path: true wazuh.manager: container_name: wazuh.manager environment: @@ -6422,20 +6530,24 @@ services: volume: {} - source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/certs/root-ca.pem target: /etc/ssl/root-ca.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/certs/wazuh.manager.pem target: /etc/ssl/filebeat.pem - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/certs/wazuh.manager-key.pem target: /etc/ssl/filebeat.key - type: volume - volume: {} + type: bind + bind: + create_host_path: true - source: ${DOCKER_VOLUME_CONFIG}/wazuh/manager/config/wazuh_manager.conf target: /wazuh-config-mount/etc/ossec.conf - type: volume - volume: {} + type: bind + bind: + create_host_path: true web-check: container_name: web-check image: lissy93/web-check @@ -6625,7 +6737,7 @@ services: - read_only: true source: ${DOCKER_VOLUME_CONFIG}/zammad/scripts/backup.sh target: /usr/local/bin/backup.sh - type: volume + type: bind volume: {} zammad-elasticsearch: container_name: zammad-elasticsearch @@ -6685,7 +6797,8 @@ services: - source: zammad-storage target: /opt/zammad/storage type: volume - volume: {} + bind: + create_host_path: true zammad-memcached: command: memcached -m 256M container_name: zammad-memcached @@ -6749,8 +6862,9 @@ services: volumes: - source: zammad-storage target: /opt/zammad/storage - type: volume - volume: {} + type: bind + bind: + create_host_path: true zammad-postgresql: container_name: zammad-postgresql environment: diff --git a/docker/rinoa.env-example b/docker/rinoa.env-example index ebe9ddd8..60c98bc3 100644 --- a/docker/rinoa.env-example +++ b/docker/rinoa.env-example @@ -7,7 +7,7 @@ DOCKER_VOLUME_STORAGE='' PGID='' PUID='' TZ='' - +MY_TLD='' # END OF DEFAULT SETTINGS ## @@ -116,13 +116,14 @@ BAZARR_PORT_6767='' BAZARR_RESTART='' BAZARR_TAG='' BAZARR_API_KEY='' + ## ## BITMAGNET ## BITMAGNET_POSTGRESQL_PASSWORD='' ## -## BITWARDEN= +## BITWARDEN ## BITWARDEN_CONTAINER_NAME='' BITWARDEN_ENABLED='' @@ -179,7 +180,7 @@ CROWDSEC_API_KEY='' CROWDSEC_LOCAL_API_KEY='' ## -## DELUGEVPN= +## DELUGEVPN ## DELUGEVPN_CONTAINER_NAME='' DELUGEVPN_ENABLED='' @@ -267,6 +268,7 @@ GHOST_DB_USER='' ## GITEA_HOMEPAGE_API_KEY='' GITEA_PG_DB_PASSWORD='' +GITEA_RUNNER_REGISTRATION_TOKEN='' ## ## GLUETUN @@ -289,18 +291,9 @@ GRAFANA_NETWORK_MODE='' GRAFANA_PORT_3000='' GRAFANA_RESTART='' GRAFANA_TAG='' - -## -## GRAFANA -## GRAFANA_ADMIN_PASSWORD='' GRAFANA_MIMIR_HTTP_AUTH_PASSWORD='' -## -## GUID -## -GUID='' - ## ## HORTUSFOX ## @@ -513,6 +506,13 @@ OMBI_PORT_3579='' OMBI_RESTART='' OMBI_TAG='' OMBI_API_KEY='' + +## +## OPENGIST +## +OPENGIST_GITEA_CLIENT_KEY='' +OPENGIST_GITEA_SECRET='' + ## ## PAPERLESS ## @@ -557,7 +557,7 @@ POSTAL_SMTP_AUTH_USER='' POSTGRES_HOST='' POSTGRES_PASSWORD='' POSTGRES_USER='' -POSTGRES_VERSION='' + ## ## PROWLARR ## @@ -617,7 +617,7 @@ REMMINA_USER_PASSWORD='' RUSTDESK_CUSTOM_PASSWORD='' ## -## SABNZBDVPN='' +## SABNZBDVPN ## SABNZBDVPN_CONTAINER_NAME='' SABNZBDVPN_ENABLED='' @@ -661,7 +661,7 @@ SEARXNG_BASE_URL='' SLSKD_PASSWORD='' ## -## SONARR='' +## SONARR ## SONARR_CONTAINER_NAME='' SONARR_ENABLED='' @@ -676,7 +676,7 @@ SONARR_TAG='' SONARR_API_KEY='' ## -## SWAG='' +## SWAG ## SWAG_CONTAINER_NAME='' SWAG_ENABLED='' @@ -727,7 +727,7 @@ UPTIME_KUMA_PASSWORD='' UPTIME_KUMA_USERNAME='' ## -## UPTIMEKUMA='' +## UPTIMEKUMA ## UPTIMEKUMA_CONTAINER_NAME='' UPTIMEKUMA_ENABLED='' @@ -754,7 +754,7 @@ WALLABAG_DB='' WALLABAG_DB_PASSWORD='' ## -## WATCHTOWER='' +## WATCHTOWER ## WATCHTOWER_CONTAINER_NAME='' WATCHTOWER_ENABLED='' @@ -799,7 +799,7 @@ YOUR_SPOTIFY_PORT_80='' YOUR_SPOTIFY_SECRET='' ## -## YOUTUBEDL='' +## YOUTUBEDL ## YOUTUBEDL_CONTAINER_NAME='' YOUTUBEDL_ENABLED='' From 29a40ad881cda5f672f0a5fc9b1ea8d16e43401d Mon Sep 17 00:00:00 2001 From: "trez.one" Date: Sun, 20 Oct 2024 14:19:05 -0400 Subject: [PATCH 4/6] Folder changes and added Gitea Act runner; changes to Opengist. --- docker/gitea-compose.yml => gitea-compose.yml | 0 docker/gitea-env.example => gitea-env.example | 0 ...er-compose.yml => rinoa-docker-compose.yml | 73 +++++++++++-------- docker/rinoa.env-example => rinoa.env-example | 0 4 files changed, 44 insertions(+), 29 deletions(-) rename docker/gitea-compose.yml => gitea-compose.yml (100%) rename docker/gitea-env.example => gitea-env.example (100%) rename docker/rinoa-docker-compose.yml => rinoa-docker-compose.yml (99%) rename docker/rinoa.env-example => rinoa.env-example (100%) diff --git a/docker/gitea-compose.yml b/gitea-compose.yml similarity index 100% rename from docker/gitea-compose.yml rename to gitea-compose.yml diff --git a/docker/gitea-env.example b/gitea-env.example similarity index 100% rename from docker/gitea-env.example rename to gitea-env.example diff --git a/docker/rinoa-docker-compose.yml b/rinoa-docker-compose.yml similarity index 99% rename from docker/rinoa-docker-compose.yml rename to rinoa-docker-compose.yml index f0d39d13..5c1d31bf 100644 --- a/docker/rinoa-docker-compose.yml +++ b/rinoa-docker-compose.yml @@ -1122,35 +1122,6 @@ services: networks: default: null restart: always - git-opengist: - container_name: gitea-gist - environment: - OG_LOG_LEVEL: warn - OG_EXTERNAL_URL: https://gist.trez.wtf - OG_GIT_DEFAULT_BRANCH: "main" - OG_GITEA_CLIENT_KEY: ${OPENGIST_GITEA_CLIENT_KEY} - OG_GITEA_SECRET: ${OPENGIST_GITEA_SECRET} - OG_GITEA_URL: http://gitea:3000 - OG_GITEA_NAME: "Gitea @ Rinoa" - image: ghcr.io/thomiceli/opengist:latest - labels: - homepage.description: Private Code Gists - homepage.group: Code - homepage.href: https://gist.trez.wtf - homepage.icon: /icons/opengist.svg - homepage.name: Opengist - swag: enable - swag.uptime-kuma.enabled: "true" - swag.uptime-kuma.monitor.url: https://gist.trez.wtf - swag_port: "6157" - swag_proto: http - swag_url: gist.trez.wtf - ports: - - "6157:6157" # HTTP port - - "2222:2222" # SSH port, can be removed if you don't use SSH - restart: always - volumes: - - ${DOCKER_VOLUME_CONFIG}/gitea/opengist:/opengist gitea: container_name: gitea environment: @@ -1232,6 +1203,50 @@ services: target: /var/lib/postgresql/data type: volume volume: {} + gitea-opengist: + container_name: gitea-opengist + environment: + OG_LOG_LEVEL: warn + OG_EXTERNAL_URL: https://gist.trez.wtf + OG_GIT_DEFAULT_BRANCH: "main" + OG_GITEA_CLIENT_KEY: ${OPENGIST_GITEA_CLIENT_KEY} + OG_GITEA_SECRET: ${OPENGIST_GITEA_SECRET} + OG_GITEA_URL: https://git.trez.wtf + OG_GITEA_NAME: "Gitea @ Rinoa" + image: ghcr.io/thomiceli/opengist:latest + labels: + homepage.description: Private Code Gists + homepage.group: Code + homepage.href: https://gist.trez.wtf + homepage.icon: /icons/opengist.svg + homepage.name: Opengist + swag: enable + swag.uptime-kuma.enabled: "true" + swag.uptime-kuma.monitor.url: https://gist.trez.wtf + swag_port: "6157" + swag_proto: http + swag_url: gist.trez.wtf + ports: + - "6157:6157" # HTTP port + - "2222:2222" # SSH port, can be removed if you don't use SSH + restart: always + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/opengist:/opengist + gitea-runner: + container_name: gitea-runner + environment: + CONFIG_FILE: /config.yaml + DOCKER_HOST: tcp://dockerproxy:2375 + GITEA_INSTANCE_URL: http://gitea:3000 + GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}" + image: gitea/act_runner:latest + networks: + default: null + ports: + - 63604:63604 + restart: always + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/act-runner/config.yaml:/config.yaml gluetun: cap_add: - NET_ADMIN diff --git a/docker/rinoa.env-example b/rinoa.env-example similarity index 100% rename from docker/rinoa.env-example rename to rinoa.env-example From e346abf39c742b3daaf8f5baa09e1464fd22ff98 Mon Sep 17 00:00:00 2001 From: "trez.one" Date: Sat, 26 Oct 2024 20:30:43 -0400 Subject: [PATCH 5/6] Added SonarQube along with Gitea/Sonarqube bot for integration; container dependency fixes. --- rinoa-docker-compose.yml | 105 ++++++++++++++++++++++++++++++++++++--- rinoa.env-example | 20 ++++++-- 2 files changed, 114 insertions(+), 11 deletions(-) diff --git a/rinoa-docker-compose.yml b/rinoa-docker-compose.yml index 5c1d31bf..8d96b2d8 100644 --- a/rinoa-docker-compose.yml +++ b/rinoa-docker-compose.yml @@ -46,10 +46,10 @@ services: MAIL_FROM_ADDRESS: null MAIL_FROM_NAME: addy@Rinoa PGID: ${PGID} - POSTFIX_DEBUG: false + POSTFIX_DEBUG: true POSTFIX_MESSAGE_SIZE_LIMIT: 26214400 POSTFIX_RELAYHOST: postal-smtp - POSTFIX_RELAYHOST_AUTH_ENABLE: true + POSTFIX_RELAYHOST_AUTH_ENABLE: false POSTFIX_RELAYHOST_PASSWORD: ${POSTAL_SMTP_AUTH_PASSWORD} POSTFIX_RELAYHOST_USERNAME: ${POSTAL_SMTP_AUTH_USER} POSTFIX_SMTP_TLS: false @@ -1124,6 +1124,10 @@ services: restart: always gitea: container_name: gitea + depends_on: + gitea-db: + condition: service_healthy + required: true environment: - USER_UID=${PUID} - USER_GID=${PGID} @@ -1194,6 +1198,12 @@ services: - POSTGRES_DB=gitea expose: - 5432 + healthcheck: + interval: 10s + start_period: 20s + test: + - CMD-SHELL + - pg_isready image: postgres:14 networks: default: null @@ -1234,11 +1244,15 @@ services: - ${DOCKER_VOLUME_CONFIG}/gitea/opengist:/opengist gitea-runner: container_name: gitea-runner + depends_on: + gitea: + condition: service_started environment: CONFIG_FILE: /config.yaml DOCKER_HOST: tcp://dockerproxy:2375 GITEA_INSTANCE_URL: http://gitea:3000 GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}" + GITEA_RUNNER_NAME: "gitea-runner-1" image: gitea/act_runner:latest networks: default: null @@ -1247,6 +1261,21 @@ services: restart: always volumes: - ${DOCKER_VOLUME_CONFIG}/gitea/act-runner/config.yaml:/config.yaml + gitea-sonarqube-bot: + container_name: gitea-sonarqube-bot + depends_on: + gitea: + condition: service_started + sonarqube: + condition: service_started + image: justusbunsi/gitea-sonarqube-bot:v0.3.5 + environment: + GITEA_SQ_BOT_PORT: 58525 + GITEA_SQ_BOT_CONFIG_PATH: /home/bot/config/config.yaml + ports: + - 58525:58525 + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/sonarqube-bot/:/home/bot/config/ gluetun: cap_add: - NET_ADMIN @@ -4191,10 +4220,6 @@ services: - homepage.href=https://rem.${MY_TLD} - homepage.icon=/icons/remmina.svg - homepage.description=GTK Remote desktop client (EXEC, SPICE, SSH, RDP, & VNC) - - homepage.widget.type=cloudflared - - homepage.widget.accountid=${CLOUDFLARE_ACCOUNT_ID} - - homepage.widget.tunnelid=${REMMINA_CF_TUNNEL_ID} - - homepage.widget.key=${CLOUDFLARE_DNS_API_TOKEN} networks: default: null ports: @@ -4440,6 +4465,62 @@ services: type: bind bind: create_host_path: true + sonarqube: + container_name: sonarqube + depends_on: + sonarqube-pg-db: + condition: service_healthy + environment: + SONAR_JDBC_URL: jdbc:postgresql://sonarqube-pg-db:5432/sonar + SONAR_JDBC_USERNAME: sonar + SONAR_JDBC_PASSWORD: ${SONARQUBE_POSTGRES_PASSWORD} + SONAR_SECURITY_REALM: LDAP + LDAP_URL: ldap://lldap:3890 + LDAP_BINDDN: cn=sonarqube,ou=people,dc=trez,dc=wtf + LDAP_BINDPASSWORD: ${SONARQUBE_LDAP_BIND_PASSWORD} + LDAP_AUTHENTICATION: simple + LDAP_USER_BASEDN: ou=people,dc=trez,dc=wtf + LDAP_USER_REQUEST: (&(objectClass=inetOrgPerson)(uid={login})(memberof=cn=sonarqube_users,ou=groups,dc=example,dc=com)) + LDAP_USER_REALNAMEATTRIBUTE: cn + LDAP_USER_EMAILATTRIBUTE: mail + hostname: sonarqube + image: mc1arke/sonarqube-with-community-branch-plugin:lts + labels: + - homepage.group=Code + - homepage.name=Sonarqube + - homepage.href=https://sqube.trez.wtf + - homepage.icon=sonarqube.svg + - homepage.description=Code quality/security + - swag=enable + - swag_proto=http + - swag_port=9000 + - swag_url=sqube.${MY_TLD} + - swag.uptime-kuma.enabled=true + - swag.uptime-kuma.monitor.url=https://sqube.${MY_TLD} + volumes: + - sonarqube-data:/opt/sonarqube/data + - sonarqube-extensions:/opt/sonarqube/extensions + - sonarqube-logs:/opt/sonarqube/logs + - sonarqube-temp:/opt/sonarqube/temp + ports: + - 9003:9000 + read_only: true + restart: unless-stopped + sonarqube-pg-db: + container_name: sonarqube-pg-db + environment: + POSTGRES_USER: sonar + POSTGRES_PASSWORD: ${SONARQUBE_POSTGRES_PASSWORD} + POSTGRES_DB: sonar + healthcheck: + test: ["CMD-SHELL", "pg_isready"] + interval: 10s + timeout: 5s + retries: 5 + image: postgres:17-alpine + volumes: + - sonarqube-db:/var/lib/postgresql + - sonarqube-db-data:/var/lib/postgresql/data sonarr: container_name: sonarr environment: @@ -7154,6 +7235,18 @@ volumes: name: compose_reactive-resume-pg rustdesk-data: name: compose_rustdesk-data + sonarqube-data: + name: sonarqube-data + sonarqube-db: + name: sonarqube-db + sonarqube-db-data: + name: sonarqube-db-data + sonarqube-extensions: + name: sonarqube-extensions + sonarqube-logs: + name: sonarqube-logs + sonarqube-temp: + name: sonarqube-temp tandoor-pg: name: compose_tandoor-pg traccar-pg: diff --git a/rinoa.env-example b/rinoa.env-example index 60c98bc3..6f3069f1 100644 --- a/rinoa.env-example +++ b/rinoa.env-example @@ -116,7 +116,6 @@ BAZARR_PORT_6767='' BAZARR_RESTART='' BAZARR_TAG='' BAZARR_API_KEY='' - ## ## BITMAGNET ## @@ -291,9 +290,18 @@ GRAFANA_NETWORK_MODE='' GRAFANA_PORT_3000='' GRAFANA_RESTART='' GRAFANA_TAG='' + +## +## GRAFANA +## GRAFANA_ADMIN_PASSWORD='' GRAFANA_MIMIR_HTTP_AUTH_PASSWORD='' +## +## GUID +## +GUID='' + ## ## HORTUSFOX ## @@ -660,6 +668,12 @@ SEARXNG_BASE_URL='' ## SLSKD_PASSWORD='' +## +## SONARQUBE +## +SONARQUBE_POSTGRES_PASSWORD='' +SONARQUBE_LDAP_BIND_PASSWORD='' + ## ## SONARR ## @@ -669,10 +683,6 @@ SONARR_NETWORK_MODE='' SONARR_PORT_8989='' SONARR_RESTART='' SONARR_TAG='' - -## -## SONARR -## SONARR_API_KEY='' ## From 783652479bc8ad79ebfad3cab4ccbb5218160470 Mon Sep 17 00:00:00 2001 From: "trez.one" Date: Sat, 26 Oct 2024 21:25:02 -0400 Subject: [PATCH 6/6] Updated Gitea stack and env --- gitea-compose.yml | 102 +++++++++++++++++++++++++++++++++++++++++++--- gitea-env.example | 15 ++++++- 2 files changed, 110 insertions(+), 7 deletions(-) diff --git a/gitea-compose.yml b/gitea-compose.yml index 12fd9421..301df344 100644 --- a/gitea-compose.yml +++ b/gitea-compose.yml @@ -1,9 +1,26 @@ name: gitea -networks: -services: gitea: container_name: gitea - env_file: ./.env-gitea + depends_on: + gitea-db: + condition: service_healthy + required: true + environment: + - USER_UID=${PUID} + - USER_GID=${PGID} + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=gitea-db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=${GITEA_PG_DB_PASSWORD} + - GITEA__mailer__ENABLED=true + - GITEA__mailer__FROM='"Gitea" ' + - GITEA__mailer__PROTOCOL=smtp + - GITEA__mailer__SMTP_ADDR=postal-smtp + - GITEA__mailer__SMTP_PORT=25 + - GITEA__mailer__IS_TLS_ENABLED=faLse + - GITEA__mailer__USER=${POSTAL_SMTP_AUTH_USER} + - GITEA__mailer__PASSWD=${POSTAL_SMTP_AUTH_PASSWORD} image: gitea/gitea:1.22.2 labels: - homepage.group=Code @@ -35,8 +52,9 @@ services: volumes: - source: ${DOCKER_VOLUME_CONFIG}/gitea target: /data - type: volume - volume: {} + type: bind + bind: + create_host_path: true - bind: create_host_path: true read_only: true @@ -51,9 +69,18 @@ services: type: bind gitea-db: container_name: gitea-db - env_file: ./.env- + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=${GITEA_PG_DB_PASSWORD} + - POSTGRES_DB=gitea expose: - 5432 + healthcheck: + interval: 10s + start_period: 20s + test: + - CMD-SHELL + - pg_isready image: postgres:14 networks: default: null @@ -63,6 +90,69 @@ services: target: /var/lib/postgresql/data type: volume volume: {} + gitea-opengist: + container_name: gitea-opengist + environment: + OG_LOG_LEVEL: warn + OG_EXTERNAL_URL: https://gist.${MY_TLD} + OG_GIT_DEFAULT_BRANCH: "main" + OG_GITEA_CLIENT_KEY: ${OPENGIST_GITEA_CLIENT_KEY} + OG_GITEA_SECRET: ${OPENGIST_GITEA_SECRET} + OG_GITEA_URL: https://git.${MY_TLD} + OG_GITEA_NAME: "Gitea @ Rinoa" + image: ghcr.io/thomiceli/opengist:latest + labels: + homepage.description: Private Code Gists + homepage.group: Code + homepage.href: https://gist.${MY_TLD} + homepage.icon: /icons/opengist.svg + homepage.name: Opengist + swag: enable + swag.uptime-kuma.enabled: "true" + swag.uptime-kuma.monitor.url: https://gist.${MY_TLD} + swag_port: "6157" + swag_proto: http + swag_url: gist.${MY_TLD} + ports: + - "6157:6157" # HTTP port + - "2222:2222" # SSH port, can be removed if you don't use SSH + restart: always + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/opengist:/opengist + gitea-runner: + container_name: gitea-runner + depends_on: + gitea: + condition: service_started + environment: + CONFIG_FILE: /config.yaml + DOCKER_HOST: tcp://dockerproxy:2375 + GITEA_INSTANCE_URL: http://gitea:3000 + GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}" + GITEA_RUNNER_NAME: "gitea-runner-1" + image: gitea/act_runner:latest + networks: + default: null + ports: + - 63604:63604 + restart: always + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/act-runner/config.yaml:/config.yaml + gitea-sonarqube-bot: + container_name: gitea-sonarqube-bot + depends_on: + gitea: + condition: service_started + sonarqube: + condition: service_started + image: justusbunsi/gitea-sonarqube-bot:v0.3.5 + environment: + GITEA_SQ_BOT_PORT: 58525 + GITEA_SQ_BOT_CONFIG_PATH: /home/bot/config/config.yaml + ports: + - 58525:58525 + volumes: + - ${DOCKER_VOLUME_CONFIG}/gitea/sonarqube-bot/:/home/bot/config/ volumes: gitea-pg-db: name: gitea-pg-db \ No newline at end of file diff --git a/gitea-env.example b/gitea-env.example index a52cf8bf..51d121c6 100644 --- a/gitea-env.example +++ b/gitea-env.example @@ -1,8 +1,11 @@ +CONFIG_FILE= +DOCKER_HOST= GITEA__database__DB_TYPE= GITEA__database__HOST= GITEA__database__NAME= GITEA__database__PASSWD= GITEA__database__USER= +GITEA_INSTANCE_URL= GITEA__mailer__ENABLED= GITEA__mailer__FROM= GITEA__mailer__IS_TLS_ENABLED= @@ -11,7 +14,17 @@ GITEA__mailer__PROTOCOL= GITEA__mailer__SMTP_ADDR= GITEA__mailer__SMTP_PORT= GITEA__mailer__USER= -GITEA_HOMEPAGE_API_KEY= +GITEA_RUNNER_NAME= +GITEA_RUNNER_REGISTRATION_TOKEN= +GITEA_SQ_BOT_CONFIG_PATH= +GITEA_SQ_BOT_PORT= +OG_EXTERNAL_URL= +OG_GIT_DEFAULT_BRANCH= +OG_GITEA_CLIENT_KEY= +OG_GITEA_NAME= +OG_GITEA_SECRET= +OG_GITEA_URL= +OG_LOG_LEVEL= POSTGRES_DB= POSTGRES_PASSWORD= POSTGRES_USER=