https://github.com/maevsi/stack
Vibetype's deployment architecture.
https://github.com/maevsi/stack
dargstack hacktoberfest
Last synced: 9 days ago
JSON representation
Vibetype's deployment architecture.
- Host: GitHub
- URL: https://github.com/maevsi/stack
- Owner: maevsi
- License: gpl-3.0
- Created: 2019-11-28T04:54:52.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2026-04-10T16:48:06.000Z (2 months ago)
- Last Synced: 2026-04-10T18:32:48.933Z (2 months ago)
- Topics: dargstack, hacktoberfest
- Language: Shell
- Homepage: https://github.com/dargstack
- Size: 4.56 MB
- Stars: 3
- Watchers: 4
- Forks: 4
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# stack
The Docker stack configuration for [vibetype.app](https://vibetype.app/).
This project is deployed in accordance to the [DargStack template](https://github.com/dargstack/dargstack_template/) to make deployment a breeze. It is closely related to [Vibetype's source code](https://github.com/maevsi/vibetype/).
## Table of Contents
1. [x-shared](#x-shared)
2. [secrets](#secrets)
3. [services](#services)
4. [volumes](#volumes)
## x-shared
- ### `zammad-service`
You can access the helpdesk at [zammad.app.localhost](https://zammad.app.localhost/).
## secrets
- ### `elasticsearch-keystore_password`
The search engine's password for the keystore.
- ### `elasticsearch-password`
The search engine's password for the default user.
- ### `grafana_admin_email`
The observation dashboard's admin email.
- ### `grafana_admin_password`
The observation dashboard's admin password.
- ### `grafana_admin_user`
The observation dashboard's admin user.
- ### `grafana_discord_webhook`
The observation dashboard's contact point for Discord.
- ### `jobber_aliases`
The job scheduler's SMTP client mail alias.
- ### `jobber_aws-bucket`
The job scheduler's AWS bucket name.
- ### `jobber_aws-configuration`
The job scheduler's AWS configuration.
- ### `jobber_aws-credentials`
The job scheduler's AWS credentials.
- ### `jobber_msmtprc`
The job scheduler's SMTP client configuration.
- ### `portainer_admin-password`
The container manager's admin password.
- ### `postgraphile_connection`
The GraphQL API's database URI.
- ### `postgraphile_jwt-secret`
The GraphQL API's JWT secret.
- ### `postgraphile_owner-connection`
The GraphQL API's database owner URI.
- ### `postgres-backup_db` 
The database's name.
- ### `postgres_db`
The database's name.
- ### `postgres_password`
The database's password.
- ### `postgres_role_service_grafana_password`
The password of the observation dashboard's database role.
- ### `postgres_role_service_grafana_username`
The username of the observation dashboard's database role.
- ### `postgres_role_service_postgraphile_password`
The password of the GraphQL API database wrapper's database role.
- ### `postgres_role_service_postgraphile_username`
The username of the GraphQL API database wrapper's database role.
- ### `postgres_role_service_reccoom_password`
The password of the recommendation engine's database role.
- ### `postgres_role_service_reccoom_username`
The username of the recommendation engine's database role.
- ### `postgres_role_service_vibetype_password`
The `tusd` database role's password.
- ### `postgres_role_service_vibetype_username`
The `tusd` database role's password.
- ### `postgres_role_service_zammad_password`
The password of the customer service database role.
- ### `postgres_role_service_zammad_username`
The username of the customer service database role.
- ### `postgres_user`
The database's default user.
- ### `reccoom_ingest-api-key`
The AI provider's API key for the recommendation engine.
- ### `reccoom_openai-api-key`
The AI provider's API key for the recommendation engine.
- ### `sqitch_target`
The database change management application's database connection string.
- ### `traefik_cf-dns-api-token` 
The DNS provider's DNS API token.
- ### `traefik_cf-zone-api-token` 
The DNS provider's zone API token.
- ### `tusd_aws`
The upload service's s3 credentials file.
- ### `vibetype_api-notification-secret`
The notification endpoint's secret.
- ### `vibetype_aws-credentials`
The cloud computing provider's user credentials.
- ### `vibetype_firebase-service-account-credentials`
The notification provider's service account credentials.
- ### `vibetype_openai-api-key`
The AI provider's API key for the frontend.
- ### `vibetype_turnstile-key`
The captcha provider's application key.
- ### `vibetype_zammad`
The ticket system's configuration.
## services
- ### `adminer`
You can access the database's frontend at [adminer.app.localhost](https://adminer.app.localhost/).
This information is required for login:
| | |
| -------- | ------------------- |
| System | PostgreSQL |
| Server | postgres |
| Username | [postgres_user] |
| Password | [postgres_password] |
| Database | [postgres_db] |
Values in square brackets are [Docker secrets](https://docs.docker.com/engine/swarm/secrets/).
- ### `cadvisor`
You can access the container metrics at [cadvisor.app.localhost](https://cadvisor.app.localhost/).
- ### `cloudflared` 
You can configure the secure tunnel at [dash.cloudflare.com](https://dash.cloudflare.com/).
- ### `debezium`
You can see how changes in the database end up in the event stream using `redpanda-console`.
- ### `debezium-postgres-connector`
You can check the database connector's setup logs using `portainer`.
- ### `elasticsearch`
You cannot access the search engine via a web interface.
- ### `geoip`
You cannot access the ip geolocator via a web interface.
- ### `grafana`
You can access the observation dashboard at [grafana.app.localhost](https://grafana.app.localhost/).
- ### `jobber`
You cannot access the jobber via a web interface.
- ### `memcached`
You cannot access the caching system via a web interface.
- ### `minio` 
You can access the s3 console at [minio.app.localhost](https://minio.app.localhost/).
You can access the s3 api service at [s3.app.localhost](https://s3.app.localhost/) if you want to access via cli from outside the stack.
- ### `node-exporter`
You can view host metrics in the Grafana observation dashboard.
- ### `portainer`
You can access the container manager's frontend at [portainer.app.localhost](https://portainer.app.localhost/).
- ### `portainer-agent`
You cannot access the container manager's agent directly.
- ### `postgraphile`
You can access the GraphQL API for the PostgreSQL database at [postgraphile.app.localhost](https://postgraphile.app.localhost/).
- ### `postgres`
You can access the database via `adminer`.
- ### `postgres_backup` 
You cannot access the database backup directly.
- ### `prometheus`
You can access the metrics monitoring at [prometheus.app.localhost](https://prometheus.app.localhost/).
- ### `reccoom`
You cannot access the recommendation service directly.
- ### `reccoom_consumer`
You can track the recommender's event streaming consumer using `redpanda-console`.
- ### `reccoom_migration`
You cannot access the recommender's database migration service directly.
- ### `reccoom_postgres`
You can access reccoom's database via `adminer`.
- ### `redis`
You cannot access the caching system via a web interface.
- ### `redpanda`
You can access the event streaming platform's ui as described under `redpanda-console`.
- ### `redpanda-console`
You can access the event streaming platform's ui at [redpanda.app.localhost](https://redpanda.app.localhost/).
- ### `sqitch`
You cannot access the database migrations directly.
- ### `traefik`
You can access the reverse proxy's dashboard at [traefik.app.localhost](https://traefik.app.localhost/).
- ### `traefik_certs-dumper` 
You cannot access the reverse proxy's certificate helper directly.
- ### `tusd`
You can access the upload service at [tusd.app.localhost](https://tusd.app.localhost/).
- ### `vibetype`
You can access the main project's frontend at [app.localhost](https://app.localhost/).
- ### `zammad-backup`
You cannot access the helpdesk backup service via a web interface.
- ### `zammad-init`
You cannot access the helpdesk initialization service via a web interface.
- ### `zammad-nginx`
You can access the helpdesk at [zammad.app.localhost](https://zammad.app.localhost/).
- ### `zammad-railsserver`
You cannot access the helpdesk application server directly.
- ### `zammad-scheduler`
You cannot access the helpdesk scheduler directly.
- ### `zammad-websocket`
You cannot access the helpdesk websocket server directly.
## volumes
- ### `acme_data` 
The reverse proxy's certificate data.
- ### `debezium_kafka_configuration`
The change data capture's configuration.
- ### `debezium_kafka_data`
The change data capture's data.
- ### `debezium_kafka_logs`
The change data capture's logs.
- ### `elasticsearch-configuration`
The search engine's configuration.
- ### `elasticsearch_data`
The search engine's data.
- ### `grafana_data`
The observation dashboard's data.
- ### `minio_data`
The s3 server's data.
- ### `pnpm_data`
The node package manager's data.
- ### `portainer_data`
The container manager's data.
- ### `postgraphile_data`
The GraphQL API's data.
- ### `postgres_data`
The database's data.
- ### `prometheus_data`
The metrics monitoring's data.
- ### `reccoom_fastembed_data`
The recommender's model cache.
- ### `reccoom_postgres_data`
The recommendation database's data.
- ### `redis_data`
The caching system's data.
- ### `redpanda_data`
The message queue's data.
- ### `vibetype_data`
The frontend's data.
- ### `zammad-backup_data`
The helpdesk backup's data.
- ### `zammad_data`
The helpdesk's data.