Compare commits

...

17 Commits

9 changed files with 111 additions and 34 deletions

View File

@ -3,10 +3,12 @@ kind: pipeline
name: deploy to swarm-test.autonomic.zone
steps:
- name: deployment
image: decentral1se/stack-ssh-deploy:latest
image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest
settings:
host: swarm-test.autonomic.zone
stack: calendso
networks:
- proxy
purge: true
deploy_key:
from_secret: drone_ssh_swarm_test
@ -33,24 +35,17 @@ trigger:
---
kind: pipeline
name: recipe release
name: generate recipe catalogue
steps:
- name: release a new version
image: decentral1se/drone-abra:latest
settings:
command: recipe calendso release
deploy_key:
from_secret: abra_bot_deploy_key
- name: trigger downstream builds
image: plugins/downstream
settings:
server: https://drone.autonomic.zone
server: https://build.coopcloud.tech
token:
from_secret: decentral1se_token
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-apps-json
depends_on:
- release a new version
version
- coop-cloud/auto-recipes-catalogue-json
trigger:
event: tag

View File

@ -1,15 +1,14 @@
TYPE=calendso
TYPE=cal
DOMAIN=calendso.example.com
DOMAIN=cal.example.com
## Domain aliases
#EXTRA_DOMAINS=', `www.calendso.example.com`'
LETS_ENCRYPT_ENV=production
SECRET_DB_PASSWORD_VERSION=v1
## Uncomment this to enable collection of anonymous usage data
#NEXT_PUBLIC_TELEMETRY_KEY=js.2pvs2bbpqq1zxna97wcml.oi2jzirnbj1ev4tc57c5r
SECRET_NEXTAUTH_SECRET_VERSION=v1
SECRET_CALENDSO_ENCRYPTION_KEY_VERSION=v1
# This is here so later lines can extend it; you likely don't wanna edit
COMPOSE_FILE="compose.yml"
@ -45,3 +44,8 @@ COMPOSE_FILE="compose.yml"
#MS_GRAPH_CLIENT_ID=
#COMPOSE_FILE="$COMPOSE_FILE:compose.microsoft.yml"
#SECRET_MS_GRAPH_CLIENT_SECRET_VERSION=v1
## Enable OIDC (jk you need a license key)
#COMPOSE_FILE="${COMPOSE_FILE}:compose.oidc.yml"
#OIDCDB_PASSWORD_VERSION=v1
#SAML_ADMINS=user@example.com

View File

@ -6,7 +6,7 @@ The open-source Calendly alternative.
* **Category**: Apps
* **Status**: 1, alpha
* **Image**: [`3wordchant/calendso`](https://hub.docker.com/r/3wordchant/calendso), 4, own
* **Image**: [`calcom/calendso`](https://hub.docker.com/r/calcom/cal.com), 4, upstream
* **Healthcheck**: No
* **Backups**: No
* **Email**: Yes
@ -21,9 +21,9 @@ The open-source Calendly alternative.
2. Deploy [`coop-cloud/traefik`]
3. `abra app new ${REPO_NAME} --secrets` (optionally with `--pass` if you'd like
to save secrets in `pass`)
4. `abra app YOURAPPDOMAIN config` - be sure to change `$DOMAIN` to something that resolves to
4. `abra app config YOURAPPDOMAIN` - be sure to change `$DOMAIN` to something that resolves to
your Docker swarm box
5. `abra app YOURAPPDOMAIN deploy`
5. `abra app deploy YOURAPPDOMAIN`
6. Open the configured domain in your browser to finish set-up
[`abra`]: https://git.coopcloud.tech/coop-cloud/abra

View File

@ -1 +1 @@
export ENTRYPOINT_CONF_VERSION=v6
export ENTRYPOINT_CONF_VERSION=v9

View File

@ -1,5 +1,6 @@
---
# Google calendar, see https://docs.calendso.com/docs/integrations/google
# Google calendar, see
# https://github.com/calcom/cal.com#obtaining-the-google-api-credentials
version: "3.8"
services:

17
compose.microsoft.yml Normal file
View File

@ -0,0 +1,17 @@
---
# Microsoft calendar, see
# https://github.com/calcom/cal.com#obtaining-microsoft-graph-client-id-and-secret
version: "3.8"
services:
app:
environment:
- MS_GRAPH_CLIENT_SECRET_FILE=/run/secrets/ms_graph_client_secret
- MS_GRAPH_CLIENT_ID
secrets:
- ms_graph_client_secret
secrets:
ms_graph_client_secret:
external: true
name: ${STACK_NAME}_ms_graph_client_secret_${SECRET_MS_GRAPH_CLIENT_SECRET_VERSION}

40
compose.oidc.yml Normal file
View File

@ -0,0 +1,40 @@
---
version: "3.8"
services:
app:
environment:
- SAML_ADMINS
- OIDCDB_USER=oidc
- OIDCDB_PASSWORD_FILE=/run/secrets/oidcdb_password
- OIDCDB_HOST=oidcdb
- OIDC_DB=oidc
secrets:
- oidcdb_password
oidcdb:
image: "postgres:13-alpine"
networks:
- backend
secrets:
- oidcdb_password
environment:
- POSTGRES_DB=oidc
- POSTGRES_USER=oidc
- POSTGRES_PASSWORD_FILE=/run/secrets/oidcdb_password
volumes:
- "oidc_postgres:/var/lib/postgresql/data"
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.pre-hook: 'bash -c "mkdir -p /tmp/backup/ && PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup/backup.sql"'
backupbot.backup.post-hook: "rm -rf /tmp/backup"
backupbot.backup.path: "/tmp/backup/"
secrets:
oidcdb_password:
external: true
name: ${STACK_NAME}_oidcdb_password_${OIDCDB_PASSWORD_VERSION}
volumes:
oidc_postgres:

View File

@ -3,20 +3,23 @@ version: "3.8"
services:
app:
image: 3wordchant/calendso:latest
image: calcom.docker.scarf.sh/calcom/cal.com:v3.1.4
networks:
- proxy
- backend
secrets:
- db_password
- nextauth_secret
- calendso_encryption_key
environment:
- POSTGRES_USER=calendso
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
- POSTGRES_DB=calendso
- POSTGRES_HOST=db
- "BASE_URL=${DOMAIN}"
- "NEXTAUTH_URL=${DOMAIN}"
- NEXT_PUBLIC_TELEMETRY_KEY
- CALCOM_TELEMETRY_DISABLED=1
- "NEXT_PUBLIC_WEBAPP_URL=https://${DOMAIN}"
- NEXTAUTH_SECRET_FILE=/run/secrets/nextauth_secret
- CALENDSO_ENCRYPTION_KEY_FILE=/run/secrets/calendso_encryption_key
- MS_GRAPH_CLIENT_ID
- ZOOM_CLIENT_ID
- EMAIL_FROM
@ -44,6 +47,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.service=${STACK_NAME}"
- "coop-cloud.${STACK_NAME}.version=0.4.0+v3.1.4"
## Redirect from EXTRA_DOMAINS to DOMAIN
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
@ -61,14 +65,18 @@ services:
- backend
secrets:
- db_password
networks:
- backend
environment:
- POSTGRES_DB=calendso
- POSTGRES_USER=calendso
- POSTGRES_PASSWORD_FILE=/run/secrets/db_password
volumes:
- "postgres:/var/lib/postgresql/data"
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.pre-hook: 'bash -c "mkdir -p /tmp/backup/ && PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /tmp/backup/backup.sql"'
backupbot.backup.post-hook: "rm -rf /tmp/backup"
backupbot.backup.path: "/tmp/backup/"
networks:
proxy:
@ -82,6 +90,12 @@ secrets:
db_password:
external: true
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
nextauth_secret:
external: true
name: ${STACK_NAME}_nextauth_secret_${SECRET_NEXTAUTH_SECRET_VERSION}
calendso_encryption_key:
external: true
name: ${STACK_NAME}_calendso_encryption_key_${SECRET_CALENDSO_ENCRYPTION_KEY_VERSION}
configs:
entrypoint_conf:

View File

@ -27,11 +27,17 @@ file_env() {
load_vars() {
file_env "POSTGRES_PASSWORD"
file_env "GOOGLE_API_CREDENTIALS"
file_env "ZOOM_CLIENT_SECRET"
file_env "EMAIL_SERVER_PASSWORD"
file_env "NEXTAUTH_SECRET"
file_env "CALENDSO_ENCRYPTION_KEY"
file_env "GOOGLE_API_CREDENTIALS"
file_env "MS_GRAPH_CLIENT_SECRET"
file_env "ZOOM_CLIENT_SECRET"
file_env "OIDCDB_PASSWORD"
export "DATABASE_URL=postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$POSTGRES_DB"
export "SAML_DATABASE_URL=postgresql://$OIDCDB_USER:$OIDCDB_PASSWORD@$OIDCDB_HOST:5432/$OIDC_DB"
}
main() {
@ -44,4 +50,4 @@ main
# 3wc: upstream CMD
# https://github.com/calendso/docker/blob/main/Dockerfile
/app/scripts/start.sh
/calcom/scripts/start.sh