mirror of
https://github.com/btouchard/ackify-ce.git
synced 2026-02-08 14:58:36 -06:00
- Move web server logic to pkg/web package for external imports - Rename cmd/ackify to cmd/community for clarity - Create NewServer(multitenant bool) function for EE integration - Add basic unit tests for Community Edition - Update Dockerfile to build from cmd/community - Add comprehensive build and deployment documentation This change enables the Enterprise Edition to import and extend the Community Edition while maintaining clean separation.
49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: ackify-ce
|
|
|
|
services:
|
|
ackify-ce:
|
|
image: btouchard/ackify-ce:latest
|
|
container_name: ackify-ce
|
|
restart: unless-stopped
|
|
environment:
|
|
APP_BASE_URL: "https://${APP_DNS}"
|
|
APP_ORGANISATION: "${APP_ORGANISATION}"
|
|
OAUTH_PROVIDER: "${OAUTH_PROVIDER}"
|
|
OAUTH_CLIENT_ID: "${OAUTH_CLIENT_ID}"
|
|
OAUTH_CLIENT_SECRET: "${OAUTH_CLIENT_SECRET}"
|
|
OAUTH_ALLOWED_DOMAIN: "${OAUTH_ALLOWED_DOMAIN}"
|
|
OAUTH_COOKIE_SECRET: "${OAUTH_COOKIE_SECRET}"
|
|
DB_DSN: "postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@ackify_db:5432/${POSTGRES_DB}?sslmode=disable"
|
|
ED25519_PRIVATE_KEY_B64: "${ED25519_PRIVATE_KEY_B64}"
|
|
LISTEN_ADDR: ":8080"
|
|
depends_on:
|
|
ackify_db:
|
|
condition: service_healthy
|
|
networks:
|
|
- internal
|
|
ports:
|
|
- "8080:8080"
|
|
|
|
ackify_db:
|
|
image: postgres:16-alpine
|
|
container_name: ackify_db
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
volumes:
|
|
- ackify_data:/var/lib/postgresql/data
|
|
networks:
|
|
- internal
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
networks:
|
|
internal:
|
|
|
|
volumes:
|
|
ackify_data: |