mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +00:00
add 23 requested stacks from container-requests list
Tdarr, Grocy, Dashy, Traefik, Fider, Twenty CRM, Outline, Chatwoot, ComfyUI, Picard, VoidAuth, Tinyauth, Tugtainer, Sencho, Authelia, Mail Archiver, ITFlow, Notifuse, Maybe Finance, DumbBudget, Silverpeas, Portus, Obsidian — all as _dev stacks following repo conventions. Harbor and Exportify moved to 'Apps That Will Not be in the Repo' (installer-generated compose / no published image). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# Twenty CRM
|
||||
|
||||
## Overview
|
||||
|
||||
Modern open-source CRM system for managing customers and pipelines.
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** [GitHub](https://github.com/twentyhq/twenty)
|
||||
- **Container Image:** [twentycrm/twenty](https://hub.docker.com/r/twentycrm/twenty)
|
||||
- **Documentation:** [twenty.com](https://twenty.com/developers/section/self-hosting)
|
||||
- **Reverse Proxy Port:** `3000`
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Start the container: `docker compose up -d`
|
||||
2. Open http://localhost:3000 in your browser
|
||||
3. Follow the initial setup wizard to configure the application
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
TWENTY_APP_SECRET – generate with `openssl rand -base64 32`
|
||||
TWENTY_SERVER_URL – public URL of the instance
|
||||
|
||||
## Volume Notes
|
||||
|
||||
/app/packages/twenty-server/.local-storage – uploaded files (shared by server and worker)
|
||||
/var/lib/postgresql/data – PostgreSQL data
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires proxy network
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name twenty \
|
||||
-p 3000:3000 \
|
||||
-e SERVER_URL=http://localhost:3000 \
|
||||
-e APP_SECRET=changeme \
|
||||
-e PG_DATABASE_URL=postgres://twenty:pass@dbhost:5432/default \
|
||||
-e REDIS_URL=redis://redishost:6379 \
|
||||
twentycrm/twenty:latest
|
||||
```
|
||||
|
||||
## Additional Notes / Gotchas
|
||||
|
||||
The worker container is required for background jobs (sync, imports). Both containers must share the same APP_SECRET and storage volume.
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
Cookbooks Repository
|
||||
stackname: twenty_dev
|
||||
Compose file path: twenty_dev/compose.yaml
|
||||
Additional env file (optional): twenty_dev/sample.env
|
||||
|
||||
Then "Load" twenty_dev/sample.env into the Environmental variables in dockhand
|
||||
|
||||
Create the Stack
|
||||
@@ -0,0 +1,62 @@
|
||||
services:
|
||||
twenty:
|
||||
image: ${TWENTY_IMAGE:-twentycrm/twenty:latest}
|
||||
restart: ${TWENTY_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/twenty/data:/app/packages/twenty-server/.local-storage
|
||||
environment:
|
||||
- SERVER_URL=${TWENTY_SERVER_URL:-http://localhost:3000}
|
||||
- APP_SECRET=${TWENTY_APP_SECRET:-ChangeThisPassword}
|
||||
- PG_DATABASE_URL=postgres://twenty:${TWENTY_DB_PASSWORD:-ChangeThisPassword}@twenty-db:5432/default
|
||||
- REDIS_URL=redis://twenty-redis:6379
|
||||
ports:
|
||||
- ${TWENTY_PORT:-3000}:3000
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
depends_on:
|
||||
- twenty-db
|
||||
- twenty-redis
|
||||
|
||||
twenty-worker:
|
||||
image: ${TWENTY_IMAGE:-twentycrm/twenty:latest}
|
||||
restart: ${TWENTY_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/twenty/data:/app/packages/twenty-server/.local-storage
|
||||
environment:
|
||||
- SERVER_URL=${TWENTY_SERVER_URL:-http://localhost:3000}
|
||||
- APP_SECRET=${TWENTY_APP_SECRET:-ChangeThisPassword}
|
||||
- PG_DATABASE_URL=postgres://twenty:${TWENTY_DB_PASSWORD:-ChangeThisPassword}@twenty-db:5432/default
|
||||
- REDIS_URL=redis://twenty-redis:6379
|
||||
- DISABLE_DB_MIGRATIONS=true
|
||||
networks:
|
||||
- internal
|
||||
depends_on:
|
||||
- twenty-db
|
||||
- twenty-redis
|
||||
command:
|
||||
- yarn
|
||||
- worker:prod
|
||||
|
||||
twenty-db:
|
||||
image: ${POSTGRES_IMAGE:-postgres:16-alpine}
|
||||
restart: ${TWENTY_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/twenty/db:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_DB=default
|
||||
- POSTGRES_USER=twenty
|
||||
- POSTGRES_PASSWORD=${TWENTY_DB_PASSWORD:-ChangeThisPassword}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
twenty-redis:
|
||||
image: ${REDIS_IMAGE:-redis:7-alpine}
|
||||
restart: ${TWENTY_RESTART:-unless-stopped}
|
||||
networks:
|
||||
- internal
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
internal:
|
||||
@@ -0,0 +1,10 @@
|
||||
# Twenty CRM
|
||||
VOL_PATH=/data
|
||||
TWENTY_IMAGE=twentycrm/twenty:latest
|
||||
POSTGRES_IMAGE=postgres:16-alpine
|
||||
REDIS_IMAGE=redis:7-alpine
|
||||
TWENTY_RESTART=unless-stopped
|
||||
TWENTY_PORT=3000
|
||||
TWENTY_SERVER_URL=http://localhost:3000
|
||||
TWENTY_APP_SECRET=ChangeThisPassword
|
||||
TWENTY_DB_PASSWORD=ChangeThisPassword
|
||||
Reference in New Issue
Block a user