Compare commits

...

13 Commits

Author SHA1 Message Date
Trez.One e2c7ba6677 Small tweaks to Bunkerweb.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 30s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 4m21s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 41s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 23s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 19s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Successful in 5m53s
2025-02-26 07:58:34 -05:00
Trez.One d3e65e3225 Layout change in Homepage. 2025-02-25 11:13:08 -05:00
gitea-sonarqube-bot 4b61c2796c Auto Merge of PR 17 - bunkerweb-semaphoreui-deployment-zitadel-removal
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
Merged by Trez.One
2025-02-25 11:00:30 -05:00
Trez.One 2c15df1cec chore: Update README 2025-02-25 15:59:58 +00:00
Trez.One 4b731e414f Typo fix in BW Scheduler container.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 1m26s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Successful in 7m27s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Successful in 56s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 32s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Successful in 27s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Successful in 9m16s
2025-02-25 10:49:06 -05:00
Trez.One f427ab6bd3 ...
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 1m40s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 5m27s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-02-25 10:22:52 -05:00
Trez.One 6570bb086f Typo fix.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 35s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 4m15s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-02-25 10:13:40 -05:00
Trez.One ae6be98886 Adding Bunkerweb and Semaphore; removing Zitadel.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Successful in 3m53s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Failing after 8m43s
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-02-25 09:57:27 -05:00
Trez.One 4b4ca24e9d ... 2025-02-24 21:18:33 -05:00
Trez.One 8df315a7ff Manyfold typo fix in labels.
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
2025-02-24 20:51:57 -05:00
Trez.One dfaf41e73c Merge remote-tracking branch 'refs/remotes/origin/main' 2025-02-24 20:38:46 -05:00
Trez.One e75235777f Removing Ansible-only pipeline for now. 2025-02-24 20:38:37 -05:00
gitea-sonarqube-bot 6616ce92eb Auto Merge of PR 16 - manyfold-deployment
Gitea Branch PR & Ansible Configurations Deployment / Check and Create PR (push) Has been skipped
Gitea Branch PR & Ansible Configurations Deployment / Ansible Lint (push) Has been skipped
Gitea Branch PR & Ansible Configurations Deployment / PR Merge (push) Failing after 21s
Gitea Branch PR & Ansible Configurations Deployment / Ansible Config Deployment (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Check and Create PR (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Docker Compose & Ansible Lints (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Update README & Generate List of Modified Services (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / PR Merge (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Ansible Configs & Docker Compose Deployment (push) Has been skipped
Gitea Branch PR, Cloudflare DNS, README generation, & Ansible/Docker Deployment / Cloudflare DNS Setup (push) Has been skipped
Merged by Trez.One
2025-02-24 20:26:56 -05:00
4 changed files with 133 additions and 224 deletions
@@ -1,160 +0,0 @@
name: Gitea Branch PR & Ansible Configurations Deployment
on:
push:
branches:
- '**'
paths:
- '**.j2'
jobs:
check-and-create-pr:
if: github.ref != 'refs/heads/main'
name: Check and Create PR
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Cache tea CLI
id: cache-tea
uses: actions/cache@v4
with:
path: /opt/hostedtoolcache/tea/0.9.2/x64
key: tea-${{ runner.os }}-0.9.2
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: Check if open PR exists
id: check-opened-pr-step
continue-on-error: true
run: |
tea login add --name gitea-rinoa --url "${{ secrets.RINOA_GITEA_URL }}" --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
pr_exists=$(tea pr list --repo ${{ github.repository }} --state open --fields index,title,head | egrep ${{ github.ref_name }} | tail -1 | wc -l)
echo "exists=$pr_exists" >> $GITHUB_OUTPUT
- name: Create PR
if: ${{ steps.check-opened-pr-step.outputs.exists == '0' }}
run: |
tea login default gitea-rinoa
pr_index_old=$(tea pr ls --repo ${{ github.repository }} --state all --fields index,title,head --output csv | sed -e 's|"||g' | egrep '^[0-9]' | head -1 | awk -F"," '{print $1}')
pr_index_new=$(expr ${pr_index_old} + 1)
tea pr c -r ${{ github.repository }} -t "Automated PR for ${{ github.ref_name }} - #${pr_index_new}" -d "Automatically created PR for branch: ${{ github.ref_name }}" -a ${{ github.actor }} -L "Ansible Configs.j2"
ansible-lint:
name: Ansible Lint
needs: [check-and-create-pr]
runs-on: ubuntu-latest
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
VAULT_NAMESPACE: ""
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache Ansible Galaxy Collections
uses: actions/cache@v3
with:
path: ansible/collections
key: ${{ runner.os }}-ansible-${{ hashFiles('./ansible/collections/requirements.yml') }}
restore-keys: |
${{ runner.os }}-ansible-
- name: Install Ansible
uses: alex-oleshkevich/setup-ansible@v1.0.1
with:
version: "11.0.0"
- name: Install Vault
uses: cpanato/vault-installer@main
- name: Install hvac
run: pip install hvac
- name: Ansible Playbook Dry Run
uses: dawidd6/action-ansible-playbook@v2
with:
directory: ansible/
playbook: docker_config_deploy.yml
key: ${{ secrets.RINOA_ANSIBLE_PRIVATE_KEY }}
options: |
--inventory inventory/hosts.yml
--check
requirements: collections/requirements.yml
vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Ansible Config Dry Run @ Rinoa'
notification_message: 'Ansible dry run completed successfully.'
pr-merge:
name: PR Merge
needs: [regenerate-readme-modified-services]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install tea
uses: supplypike/setup-bin@v4
with:
uri: 'https://gitea.com/gitea/tea/releases/download/v0.9.2/tea-0.9.2-linux-amd64'
name: 'tea'
version: '0.9.2'
- name: PR Merge
id: pr_merge
run: |
tea login add --name gitea-rinoa --url ${{ secrets.RINOA_GITEA_URL }} --user gitea-sonarqube-bot --password "${{ secrets.BOT_GITEA_PASSWORD }}" --token ${{ secrets.BOT_GITEA_TOKEN }}
tea login default gitea-rinoa
echo "Merging PR..."
pr_index=$(tea pr ls --repo ${{ github.repository }} --state open --fields index,title,head,state --output csv | egrep ${{ github.ref_name }} | awk -F"," '{print $1}' | sed -e 's|"||g')
tea pr m --repo ${{ github.repository }} --title "Auto Merge of PR ${pr_index} - ${{ github.ref_name }}" --message "Merged by ${{ github.actor }}" ${pr_index}
echo "pr_index=${pr_index}" >> $GITHUB_OUTPUT
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: PR Merge Successful'
notification_message: 'PR #${{ steps.pr_merge.outputs.pr_index }} merged.'
ansible-config-deploy:
name: Ansible Config Deployment
runs-on: ubuntu-latest
needs: [pr-merge]
env:
VAULT_ADDR: ${{ secrets.RINOA_VAULT_ADDR }}
VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
DOCKER_HOST: tcp://dockerproxy:2375
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
- name: Cache Vault install
id: cache-vault
uses: actions/cache@v4
with:
path: /opt/hostedtoolcache/vault/1.18.0/x64
key: vault-${{ runner.os }}-1.18.0
- name: Install Ansible
uses: alex-oleshkevich/setup-ansible@v1.0.1
with:
version: "11.0.0"
- name: Install Vault
uses: cpanato/vault-installer@main
- name: Install hvac
run: pip install hvac
- name: Deploy Docker Configs via Ansible
uses: dawidd6/action-ansible-playbook@v2
with:
directory: ansible/
playbook: docker_config_deploy.yml
key: ${{secrets.RINOA_ANSIBLE_PRIVATE_KEY}}
options: |
--inventory inventory/hosts.yml
requirements: collections/requirements.yml
vault_password: ${{ secrets.ANSIBLE_VAULT_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@master
with:
gotify_api_base: '${{ secrets.RINOA_GOTIFY_URL }}'
gotify_app_token: '${{ secrets.RINOA_RUNNER_GOTIFY_TOKEN }}'
notification_title: 'GITEA: Ansible Config Deployment @ Rinoa'
notification_message: 'Deployment completed successfully.'
+7 -3
View File
@@ -17,6 +17,10 @@
| bitwarden | vaultwarden/server:latest |
| bluesky-pds | ghcr.io/bluesky-social/pds:latest |
| browserless | ghcr.io/browserless/chromium:latest |
| bunkerweb | bunkerity/bunkerweb:1.6.0 |
| bunkerweb-scheduler | bunkerity/bunkerweb-scheduler:1.6.0 |
| bunkerweb-autoconf | bunkerity/bunkerweb-autoconf:1.6.0 |
| bunkerweb-ui | bunkerity/bunkerweb-ui:1.6.0 |
| bytestash | ghcr.io/jordan-dalby/bytestash:latest |
| castopod | castopod/castopod:latest |
| cloudflared | cloudflare/cloudflared:latest |
@@ -75,6 +79,7 @@
| lidify | thewicklowwolf/lidify:latest |
| lldap | lldap/lldap:stable |
| maloja | krateng/maloja:latest |
| manyfold | lscr.io/linuxserver/manyfold:latest |
| mariadb | linuxserver/mariadb |
| mastodon | lscr.io/linuxserver/mastodon:latest |
| mastodon-pg-db | postgres:17-alpine |
@@ -103,7 +108,7 @@
| plausible | ghcr.io/plausible/community-edition:v2.1.0 |
| plausible_db | postgres:16-alpine |
| plausible_events_db | clickhouse/clickhouse-server:24.3.3.102-alpine |
| portainer | portainer/portainer-ce:alpine-sts |
| portainer | portainer/portainer-ce:2.27.0-alpine |
| portall | need4swede/portall:latest |
| postal-smtp | ghcr.io/postalserver/postal:latest |
| postal-web | ghcr.io/postalserver/postal:latest |
@@ -122,6 +127,7 @@
| scraperr-api | jpyles0524/scraperr_api:latest |
| scrutiny | ghcr.io/analogj/scrutiny:master-omnibus |
| searxng | searxng/searxng:latest |
| semaphore | semaphoreui/semaphore:v2.12.14 |
| sonarqube | mc1arke/sonarqube-with-community-branch-plugin:lts |
| sonarqube-pg-db | postgres:17-alpine |
| sonarr | lscr.io/linuxserver/sonarr:latest |
@@ -145,6 +151,4 @@
| web-check | lissy93/web-check |
| your_spotify | lscr.io/linuxserver/your_spotify:latest |
| youtubedl | nbr23/youtube-dl-server:latest |
| zitadel | ghcr.io/zitadel/zitadel:latest |
| zitadel-pg-db | postgres:16-alpine |
+10 -12
View File
@@ -23,33 +23,31 @@ provider: duckduckgo
layout:
System Administration:
style: row
columns: 3
# fiveColumns: true
columns: 5
Infrastructure/App Performance Monitoring:
style: row
columns: 3
columns: 4
Code/DevOps:
style: row
columns: 3
columns: 4
Social:
style: row
columns: 3
Lifestyle:
style: columns
row: 2
fiveColumns: true
style: row
columns: 5
Automation:
style: columns
row: 2
style: row
columns: 5
Privacy/Security:
style: columns
row: 5
style: row
columns: 3
Personal Services:
style: row
columns: 3
Professional Services:
style: row
columns: 3
columns: 5
Servarr Stack:
style: row
columns: 3
+116 -49
View File
@@ -1,4 +1,11 @@
name: compose
x-bw-ui-env: &bw-ui-env
# We anchor the environment variables to avoid duplication
AUTOCONF_MODE: yes
DATABASE_URI: "mariadb+pymysql://bunkerweb:${BUNKERWEB_DB_PASSWORD}@mariadb:3306/bunkerweb" # Remember to set a stronger password for the database
USE_REAL_IP: yes
REAL_IP_FROM: 172.18.0.0/16
REAL_IP_HEADER: 'X-Forwarded-For'
networks:
bitmagnet:
driver: bridge
@@ -478,6 +485,67 @@ services:
networks:
default: null
restart: unless-stopped
bunkerweb:
container_name: bunkerweb
image: bunkerity/bunkerweb:1.6.0
environment:
AUTOCONF_MODE: yes
API_WHITELIST_IP: 127.0.0.0/8 172.18.0.0/16
labels:
bunkerweb.INSTANCE: yes
ports:
- 27002:8080
- 63824:8443
restart: unless-stopped
bunkerweb-scheduler:
container_name: bunkerweb-scheduler
environment:
<<: *bw-ui-env
BUNKERWEB_INSTANCES: bunkerweb
SERVER_NAME: bunker.trez.wtf
API_WHITELIST_IP: 127.0.0.0/8 172.18.0.0/16
MULTISITE: yes
UI_HOST: http://bunkerweb-ui:7000 # Change it if needed
SERVE_FILES: no
DISABLE_DEFAULT_SERVER: yes
USE_CLIENT_CACHE: yes
USE_GZIP: yes
USE_REVERSE_PROXY: yes
REVERSE_PROXY_URL: /
REVERSE_PROXY_HOST: http://swag:80
image: bunkerity/bunkerweb-scheduler:1.6.0
restart: unless-stopped
volumes:
- bunkerweb-storage:/data # This is used to persist the cache and other data like the backups
bunkerweb-autoconf:
container_name: bunkerweb-autoconf
depends_on:
- docker-socket-proxy
environment:
<<: *bw-ui-env
DOCKER_HOST: tcp://dockerproxy:2375
image: bunkerity/bunkerweb-autoconf:1.6.0
restart: unless-stopped
bunkerweb-ui:
container_name: bunkerweb-ui
environment:
<<: *bw-ui-env
TOTP_SECRETS: ${BUNKERWEB_TOTP_SECRETS}
expose:
- 7000
image: bunkerity/bunkerweb-ui:1.6.0
labels:
homepage.group: Privacy/Security
homepage.name: Bunker Web
homepage.href: https://bunker.${MY_TLD}
homepage.icon: bunkerweb.svg
homepage.description: Next-gen WAF
swag: enable
swag_port: 7000
swag_url: bunker.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://bunker.${MY_TLD}
restart: unless-stopped
bytestash:
container_name: bytestash
environment:
@@ -2909,7 +2977,7 @@ services:
labels:
homepage.group: Lifestyle
homepage.name: Manyfold
homepage.href: https://scrobble.${MY_TLD}
homepage.href: https://3dprint.${MY_TLD}
homepage.icon: manyfold.svg
homepage.description: Self-hosted digital asset manager for 3D print files
swag: enable
@@ -3724,7 +3792,7 @@ services:
expose:
- 9000
- 9443
image: portainer/portainer-ce:alpine-sts
image: portainer/portainer-ce:2.27.0-alpine
labels:
swag: enable
swag_proto: http
@@ -4374,6 +4442,43 @@ services:
type: bind
bind:
create_host_path: true
semaphore:
container_name: semaphore
environment:
ANSIBLE_HOST_KEY_CHECKING: false
SEMAPHORE_ADMIN_PASSWORD: ${SEMAPHORE_ADMIN_PASSWORD}
SEMAPHORE_ADMIN_NAME: admin
SEMAPHORE_ADMIN_EMAIL: charish.patel@trez.wtf
SEMAPHORE_ADMIN: admin
SEMAPHORE_DB_DIALECT: bolt
SEMAPHORE_EMAIL_ALERT: true
SEMAPHORE_EMAIL_SENDER: noreply@trez.wtf
SEMAPHORE_EMAIL_HOST: postal-smtp
SEMAPHORE_EMAIL_PORT: 25
SEMAPHORE_EMAIL_USERNAME: ${POSTAL_SMTP_AUTH_USER}
SEMAPHORE_EMAIL_PASSWORD: ${POSTAL_SMTP_AUTH_PASSWORD}
SEMAPHORE_EMAIL_SECURE: false
SEMAPHORE_USE_REMOTE_RUNNER: true
image: semaphoreui/semaphore:v2.12.14
labels:
homepage.group: Code/DevOps
homepage.name: Semaphore
homepage.href: https://devops.${MY_TLD}
homepage.icon: semaphore.svg
homepage.description: Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools
swag: enable
swag_port: 3000
swag_proto: http
swag_url: devops.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.url: https://devops.${MY_TLD}
ports:
- 3015:3000
restart: unless-stopped
volumes:
- semaphore_config:/etc/semaphore
- semaphore_data:/var/lib/semaphore
- semaphore_tmp:/tmp/semaphore
sonarqube:
container_name: sonarqube
depends_on:
@@ -5159,57 +5264,13 @@ services:
source: /rinoa-storage
target: /storage
type: bind
zitadel:
container_name: zitadel
image: ghcr.io/zitadel/zitadel:latest
command: 'start-from-init --masterkeyFromEnv --config /config.yaml --config /secrets.yaml --config /init-steps.yaml --tlsMode external'
depends_on:
zitadel-pg-db:
condition: 'service_started'
environment:
ZITADEL_MASTERKEY: ${ZITADEL_MASTER_KEY}
expose:
- 8080
labels:
swag: enable
swag_proto: http
swag_port: 8080
swag_url: id.${MY_TLD}
swag_server_custom_directive: http2 on;
homepage.group: System Administration
homepage.name: Zitadel
homepage.href: https://id.${MY_TLD}
homepage.icon: zitadel.svg
homepage.description: Centralized authentication management
restart: unless-stopped
volumes:
- ${DOCKER_VOLUME_CONFIG}/zitadel/config.yaml:/config.yaml
- ${DOCKER_VOLUME_CONFIG}/zitadel/init-steps.yaml:/init-steps.yaml
- ${DOCKER_VOLUME_CONFIG}/zitadel/secrets.yaml:/secrets.yaml
zitadel-pg-db:
container_name: zitadel-pg-db
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: ${ZITADEL_DB_ADMIN_PASSWORD}
expose:
- 5432
healthcheck:
test: ["CMD-SHELL", "pg_isready", "-d", "zitadel", "-U", "root" ]
interval: '10s'
timeout: '30s'
retries: 5
start_period: '20s'
image: postgres:16-alpine
restart: unless-stopped
volumes:
- zitadel-pg-db:/var/lib/postgresql/data
volumes:
authelia-pg-db:
name: authelia-pg-db
bitmagnet-pg-db:
name: bitmagnet-pg-db
bunkerweb-data:
name: bunkerweb-data
bunkerweb-storage:
name: bunkerweb-storage
castopod-media:
name: castopod-media
crowdsec-config:
@@ -5312,6 +5373,12 @@ volumes:
name: portainer-data
reactive-resume-pg:
name: reactive-resume-pg
semaphore_config:
name: semaphore_config
semaphore_data:
name: semaphore_data
semaphore_tmp:
name: semaphore_tmp
sonarqube-data:
name: sonarqube-data
sonarqube-db:
@@ -5333,4 +5400,4 @@ volumes:
wallos-logos:
name: wallos-logos
zitadel-pg-db:
name: zitadel-pg-db
name: zitadel-pg-db