From 39afcb5706edb295736f643fb29e00f111787fc6 Mon Sep 17 00:00:00 2001 From: Brodin Date: Mon, 29 Jul 2024 11:26:44 -0400 Subject: [PATCH 1/4] whoever made the docs for collabora is a complete and total sociopath --- .gitignore | 1 + calendar/docker/docker-compose.yaml | 65 ++++++ nextcloud/.gitignore | 3 +- nextcloud/coolwsd.xml | 341 ++++++++++++++++++++++++++++ nextcloud/docker-compose.yml | 21 ++ 5 files changed, 430 insertions(+), 1 deletion(-) create mode 100644 calendar/docker/docker-compose.yaml create mode 100755 nextcloud/coolwsd.xml diff --git a/.gitignore b/.gitignore index e0f37f2..ac66f0e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .env config/ +data/ \ No newline at end of file diff --git a/calendar/docker/docker-compose.yaml b/calendar/docker/docker-compose.yaml new file mode 100644 index 0000000..3bc52f3 --- /dev/null +++ b/calendar/docker/docker-compose.yaml @@ -0,0 +1,65 @@ +# Use postgres/example user/password credentials +version: '3.8' + +volumes: + database-data: +networks: + stack: + name: stack + external: false +services: + database: + container_name: database + image: postgres + restart: always + volumes: + - database-data:/var/lib/postgresql/data/ + env_file: .env + networks: + - stack + calcom: + image: calcom.docker.scarf.sh/calcom/cal.com + build: + context: . + dockerfile: Dockerfile + args: + NEXT_PUBLIC_WEBAPP_URL: ${NEXT_PUBLIC_WEBAPP_URL} + NEXT_PUBLIC_API_V2_URL: ${NEXT_PUBLIC_API_V2_URL} + NEXT_PUBLIC_LICENSE_CONSENT: ${NEXT_PUBLIC_LICENSE_CONSENT} + CALCOM_TELEMETRY_DISABLED: ${CALCOM_TELEMETRY_DISABLED} + NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} + CALENDSO_ENCRYPTION_KEY: ${CALENDSO_ENCRYPTION_KEY} + DATABASE_URL: ${DATABASE_URL} + DATABASE_DIRECT_URL: ${DATABASE_URL} + network: stack + restart: always + networks: + - stack + ports: + - 3000:3000 + env_file: .env + environment: + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}/${POSTGRES_DB} + - DATABASE_DIRECT_URL=${DATABASE_URL} + depends_on: + - database + +# Optional use of Prisma Studio. In production, comment out or remove the section below to prevent unwanted access to your database. + studio: + image: calcom.docker.scarf.sh/calcom/cal.com + restart: always + networks: + - stack + ports: + - 5555:5555 + env_file: .env + environment: + - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}/${POSTGRES_DB} + - DATABASE_DIRECT_URL=${DATABASE_URL} + depends_on: + - database + command: + - npx + - prisma + - studio +# END SECTION: Optional use of Prisma Studio. diff --git a/nextcloud/.gitignore b/nextcloud/.gitignore index 07f43b8..37656ec 100644 --- a/nextcloud/.gitignore +++ b/nextcloud/.gitignore @@ -1 +1,2 @@ -data/* \ No newline at end of file +data/* +collabora \ No newline at end of file diff --git a/nextcloud/coolwsd.xml b/nextcloud/coolwsd.xml new file mode 100755 index 0000000..7793d7d --- /dev/null +++ b/nextcloud/coolwsd.xml @@ -0,0 +1,341 @@ + + + + + + + + + + false + + + de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru + + + + + + + + + + + + + false + + + + + + + + + + + + + true + + + 4 + + + + 4 + 5 + 5 + false + 96 + 3600 + 30 + 300 + true + true + false + 0 + 8000 + 0 + 0 + 100 + 5 + 100 + 500 + 5000 + + 10000 + 60 + 300 + 3072 + 85 + 120 + + + + + 300 + 900 + + + + + + + true + + warning + trace + Socket,WebSocket,Admin,Pixel + notice + fatal + false + + -INFO-WARN + + + /var/log/coolwsd.log + never + timestamp + true + 10 days + 10 + true + false + + + false + 82589933 + + false + false + false + + + + + /var/log/coolwsd.trace.json + + + false + + + + + + + + false + + + + + + all + any + + + + 192\.168\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:192\.168\.[0-9]{1,3}\.[0-9]{1,3} + 127\.0\.0\.1 + ::ffff:127\.0\.0\.1 + ::1 + 172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3} + 172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3} + 172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3} + 10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} + + + 192\.168\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:192\.168\.[0-9]{1,3}\.[0-9]{1,3} + 127\.0\.0\.1 + ::ffff:127\.0\.0\.1 + ::1 + 172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.1[6789]\.[0-9]{1,3}\.[0-9]{1,3} + 172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3} + 172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:172\.3[01]\.[0-9]{1,3}\.[0-9]{1,3} + 10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} + ::ffff:10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} + localhost + + + + + + + + + + + + false + + true + /etc/coolwsd/cert.pem + /etc/coolwsd/key.pem + /etc/coolwsd/ca-chain.cert.pem + false + + + 1000 + + + + + + + false + 31536000 + + + + + true + true + 1800 + false + 1 + false + false + + + + + + + + + + + + + + default + true + + + + + + 0 + + 900 + + + + + + + + + + + + true + + + + + + + + + + true + false + + + + true + true + true + true + + + + + + + + + + + + + + + + + + + false + + + + + + + false + + + + log + + + + + + + + + + + + + true + + + https://help.collaboraoffice.com/help.html? + + + true + + + + + + + + diff --git a/nextcloud/docker-compose.yml b/nextcloud/docker-compose.yml index d40d1ec..092ea1c 100644 --- a/nextcloud/docker-compose.yml +++ b/nextcloud/docker-compose.yml @@ -1,4 +1,25 @@ services: + collabora: + image: collabora/code:latest + restart: always + cap_add: + - MKNOD + # volumes: + # - ./collabora:/etc/coolwsd/ + environment: + DOMAIN: "collabora.${DOMAIN}" + VIRTUAL_HOST: "collabora.${DOMAIN}" + EXTRA_PARAMS: "--o:ssl.enable=false --o:ssl.termination=true" + ALIASGROUP2: "https://collabora.${DOMAIN}:443" + ALIASGROUP3: "https://nextcloud.${DOMAIN}:443" + ALIASGROUP1: "http://192.168.86.30:9980" + SERVER_NAME: "collabora.${DOMAIN}" + USERNAME: "admin" + PASSWORD: "pass" + LETSENCRYPT_HOST: collabora.${DOMAIN} + LETSENCRYPT_EMAIL: ${EMAIL} + # ports: + # - 127.0.0.1:9980:9980 redis: # user: "${UID}:${GID}" image: redis:alpine From b9eeffbe42bd757ba805ea11ecb8887f50bda825 Mon Sep 17 00:00:00 2001 From: Brodin Date: Fri, 9 Aug 2024 01:24:54 -0400 Subject: [PATCH 2/4] moving and making new sites --- calendar/docker/docker-compose.yaml | 65 ------------------- ghost-fusiondance/config.development.json | 31 --------- ghost-fusiondance/config.production.json | 30 --------- readers/docker-compose.yml | 4 +- {botc => sites/botc}/.env.example | 0 {botc => sites/botc}/.gitignore | 0 {botc => sites/botc}/docker-compose.yml | 0 .../fusiondance}/.env.example | 0 .../fusiondance}/.gitignore | 0 .../fusiondance}/docker-compose.yml | 0 sites/gamesclub/.env.example | 5 ++ sites/gamesclub/.gitignore | 3 + sites/gamesclub/docker-compose.yml | 43 ++++++++++++ sites/photos/.env.example | 5 ++ sites/photos/.gitignore | 3 + sites/photos/docker-compose.yml | 42 ++++++++++++ 16 files changed, 103 insertions(+), 128 deletions(-) delete mode 100644 calendar/docker/docker-compose.yaml delete mode 100644 ghost-fusiondance/config.development.json delete mode 100644 ghost-fusiondance/config.production.json rename {botc => sites/botc}/.env.example (100%) rename {botc => sites/botc}/.gitignore (100%) rename {botc => sites/botc}/docker-compose.yml (100%) rename {ghost-fusiondance => sites/fusiondance}/.env.example (100%) rename {ghost-fusiondance => sites/fusiondance}/.gitignore (100%) rename {ghost-fusiondance => sites/fusiondance}/docker-compose.yml (100%) create mode 100644 sites/gamesclub/.env.example create mode 100644 sites/gamesclub/.gitignore create mode 100644 sites/gamesclub/docker-compose.yml create mode 100644 sites/photos/.env.example create mode 100644 sites/photos/.gitignore create mode 100644 sites/photos/docker-compose.yml diff --git a/calendar/docker/docker-compose.yaml b/calendar/docker/docker-compose.yaml deleted file mode 100644 index 3bc52f3..0000000 --- a/calendar/docker/docker-compose.yaml +++ /dev/null @@ -1,65 +0,0 @@ -# Use postgres/example user/password credentials -version: '3.8' - -volumes: - database-data: -networks: - stack: - name: stack - external: false -services: - database: - container_name: database - image: postgres - restart: always - volumes: - - database-data:/var/lib/postgresql/data/ - env_file: .env - networks: - - stack - calcom: - image: calcom.docker.scarf.sh/calcom/cal.com - build: - context: . - dockerfile: Dockerfile - args: - NEXT_PUBLIC_WEBAPP_URL: ${NEXT_PUBLIC_WEBAPP_URL} - NEXT_PUBLIC_API_V2_URL: ${NEXT_PUBLIC_API_V2_URL} - NEXT_PUBLIC_LICENSE_CONSENT: ${NEXT_PUBLIC_LICENSE_CONSENT} - CALCOM_TELEMETRY_DISABLED: ${CALCOM_TELEMETRY_DISABLED} - NEXTAUTH_SECRET: ${NEXTAUTH_SECRET} - CALENDSO_ENCRYPTION_KEY: ${CALENDSO_ENCRYPTION_KEY} - DATABASE_URL: ${DATABASE_URL} - DATABASE_DIRECT_URL: ${DATABASE_URL} - network: stack - restart: always - networks: - - stack - ports: - - 3000:3000 - env_file: .env - environment: - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}/${POSTGRES_DB} - - DATABASE_DIRECT_URL=${DATABASE_URL} - depends_on: - - database - -# Optional use of Prisma Studio. In production, comment out or remove the section below to prevent unwanted access to your database. - studio: - image: calcom.docker.scarf.sh/calcom/cal.com - restart: always - networks: - - stack - ports: - - 5555:5555 - env_file: .env - environment: - - DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}/${POSTGRES_DB} - - DATABASE_DIRECT_URL=${DATABASE_URL} - depends_on: - - database - command: - - npx - - prisma - - studio -# END SECTION: Optional use of Prisma Studio. diff --git a/ghost-fusiondance/config.development.json b/ghost-fusiondance/config.development.json deleted file mode 100644 index 8462233..0000000 --- a/ghost-fusiondance/config.development.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "url": "http://localhost:2368", - "server": { - "port": 2368, - "host": "::" - }, - "mail": { - "transport": "SMTP", - "options": { - "service": "Mailgun", - "host": "smtp.mailgun.org", - "port": 587, - "secure": false, - "auth": { - "user": "", - "pass": "" - } - } - }, - "logging": { - "transports": [ - "file", - "stdout" - ] - }, - "process": "systemd", - "paths": { - "contentPath": "/var/lib/ghost/content" - } - } - \ No newline at end of file diff --git a/ghost-fusiondance/config.production.json b/ghost-fusiondance/config.production.json deleted file mode 100644 index 8b1d4a3..0000000 --- a/ghost-fusiondance/config.production.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "url": "http://localhost:2368", - "server": { - "port": 2368, - "host": "::" - }, - "mail": { - "transport": "SMTP", - "options": { - "service": "Mailgun", - "host": "smtp.mailgun.org", - "port": 587, - "secure": false, - "auth": { - "user": "", - "pass": "" - } - } - }, - "logging": { - "transports": [ - "file", - "stdout" - ] - }, - "process": "systemd", - "paths": { - "contentPath": "/var/lib/ghost/content" - } -} diff --git a/readers/docker-compose.yml b/readers/docker-compose.yml index 20a9a1f..4e7ab06 100644 --- a/readers/docker-compose.yml +++ b/readers/docker-compose.yml @@ -26,9 +26,9 @@ services: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - - VIRTUAL_HOST=ubooquity.${DOMAIN} + - VIRTUAL_HOST=comics.${DOMAIN} - VIRTUAL_PORT=2202 - - LETSENCRYPT_HOST=ubooquity.${DOMAIN} + - LETSENCRYPT_HOST=comics.${DOMAIN} - LETSENCRYPT_EMAIL= ${EMAIL} # - MAXMEM= #optional volumes: diff --git a/botc/.env.example b/sites/botc/.env.example similarity index 100% rename from botc/.env.example rename to sites/botc/.env.example diff --git a/botc/.gitignore b/sites/botc/.gitignore similarity index 100% rename from botc/.gitignore rename to sites/botc/.gitignore diff --git a/botc/docker-compose.yml b/sites/botc/docker-compose.yml similarity index 100% rename from botc/docker-compose.yml rename to sites/botc/docker-compose.yml diff --git a/ghost-fusiondance/.env.example b/sites/fusiondance/.env.example similarity index 100% rename from ghost-fusiondance/.env.example rename to sites/fusiondance/.env.example diff --git a/ghost-fusiondance/.gitignore b/sites/fusiondance/.gitignore similarity index 100% rename from ghost-fusiondance/.gitignore rename to sites/fusiondance/.gitignore diff --git a/ghost-fusiondance/docker-compose.yml b/sites/fusiondance/docker-compose.yml similarity index 100% rename from ghost-fusiondance/docker-compose.yml rename to sites/fusiondance/docker-compose.yml diff --git a/sites/gamesclub/.env.example b/sites/gamesclub/.env.example new file mode 100644 index 0000000..f160373 --- /dev/null +++ b/sites/gamesclub/.env.example @@ -0,0 +1,5 @@ +DOMAIN=example.com +DBPASS=password +EMAIL=example@mail.com +DOMAIN=example.com + diff --git a/sites/gamesclub/.gitignore b/sites/gamesclub/.gitignore new file mode 100644 index 0000000..0485494 --- /dev/null +++ b/sites/gamesclub/.gitignore @@ -0,0 +1,3 @@ +db/* +content/* +config.*.json \ No newline at end of file diff --git a/sites/gamesclub/docker-compose.yml b/sites/gamesclub/docker-compose.yml new file mode 100644 index 0000000..fa60fbb --- /dev/null +++ b/sites/gamesclub/docker-compose.yml @@ -0,0 +1,43 @@ +services: + + ghost: + image: ghost:5 + restart: always + ports: + - 2369:2368 + expose: + - 2369 + environment: + # see https://ghost.org/docs/config/#configuration-options + database__client: mysql + database__connection__host: gamesclub-db-1 + database__connection__user: root + database__connection__password: ${DBPASS} + database__connection__database: ghost + # VIRTUAL_HOST: "www.${DOMAIN}, ${DOMAIN}" + VIRTUAL_HOST: "club.${DOMAIN}" + VIRTUAL_PORT: 2369 + # LETSENCRYPT_HOST: "${DOMAIN}, www.${DOMAIN}" + LETSENCRYPT_HOST: "club.${DOMAIN}" + LETSENCRYPT_EMAIL: ${EMAIL} + # url: http://0.0.0.0:2369 #Dev + url: "https://club.${DOMAIN}" #Prod + # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) + # NODE_ENV: development + volumes: + - ./content:/var/lib/ghost/content + # - ./themes:/var/lib/ghost/current/content/themes:rw + db: + image: mysql:8.0 + restart: always + environment: + MYSQL_DATABASE: ghost + MYSQL_ROOT_PASSWORD: ${DBPASS} + volumes: + - db:/var/lib/mysql +volumes: + db: +networks: + default: + name: nginx-proxy + external: true \ No newline at end of file diff --git a/sites/photos/.env.example b/sites/photos/.env.example new file mode 100644 index 0000000..f160373 --- /dev/null +++ b/sites/photos/.env.example @@ -0,0 +1,5 @@ +DOMAIN=example.com +DBPASS=password +EMAIL=example@mail.com +DOMAIN=example.com + diff --git a/sites/photos/.gitignore b/sites/photos/.gitignore new file mode 100644 index 0000000..0485494 --- /dev/null +++ b/sites/photos/.gitignore @@ -0,0 +1,3 @@ +db/* +content/* +config.*.json \ No newline at end of file diff --git a/sites/photos/docker-compose.yml b/sites/photos/docker-compose.yml new file mode 100644 index 0000000..00a07b1 --- /dev/null +++ b/sites/photos/docker-compose.yml @@ -0,0 +1,42 @@ +services: + ghost: + image: ghost:5 + restart: always + ports: + - 2370:2368 + expose: + - 2370 + environment: + # see https://ghost.org/docs/config/#configuration-options + database__client: mysql + database__connection__host: photos-db-1 + database__connection__user: root + database__connection__password: ${DBPASS} + database__connection__database: ghost + # VIRTUAL_HOST: "www.${DOMAIN}, ${DOMAIN}" + VIRTUAL_HOST: "photos.${DOMAIN}" + VIRTUAL_PORT: 2370 + # LETSENCRYPT_HOST: "${DOMAIN}, www.${DOMAIN}" + LETSENCRYPT_HOST: "photos.${DOMAIN}" + LETSENCRYPT_EMAIL: ${EMAIL} + # url: http://0.0.0.0:2370 #Dev + url: "https://photos.${DOMAIN}" #Prod + # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) + # NODE_ENV: development + volumes: + - ./content:/var/lib/ghost/content + # - ./themes:/var/lib/ghost/current/content/themes:rw + db: + image: mysql:8.0 + restart: always + environment: + MYSQL_DATABASE: ghost + MYSQL_ROOT_PASSWORD: ${DBPASS} + volumes: + - db:/var/lib/mysql +volumes: + db: +networks: + default: + name: nginx-proxy + external: true \ No newline at end of file From f5ede9f0305d2cde29c4477d420a9ced94d62ea2 Mon Sep 17 00:00:00 2001 From: Brodin Date: Fri, 9 Aug 2024 02:35:33 -0400 Subject: [PATCH 3/4] fixed gamesclub --- sites/gamesclub/docker-compose.yml | 8 +++----- sites/gamesclub/update.sh | 2 ++ sites/photos/docker-compose.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) create mode 100755 sites/gamesclub/update.sh diff --git a/sites/gamesclub/docker-compose.yml b/sites/gamesclub/docker-compose.yml index fa60fbb..b54398e 100644 --- a/sites/gamesclub/docker-compose.yml +++ b/sites/gamesclub/docker-compose.yml @@ -14,14 +14,12 @@ services: database__connection__user: root database__connection__password: ${DBPASS} database__connection__database: ghost - # VIRTUAL_HOST: "www.${DOMAIN}, ${DOMAIN}" - VIRTUAL_HOST: "club.${DOMAIN}" + VIRTUAL_HOST: "${DOMAIN}, www.${DOMAIN}" VIRTUAL_PORT: 2369 - # LETSENCRYPT_HOST: "${DOMAIN}, www.${DOMAIN}" - LETSENCRYPT_HOST: "club.${DOMAIN}" + LETSENCRYPT_HOST: "${DOMAIN}, www.${DOMAIN}" LETSENCRYPT_EMAIL: ${EMAIL} # url: http://0.0.0.0:2369 #Dev - url: "https://club.${DOMAIN}" #Prod + url: "https://${DOMAIN}" #Prod # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) # NODE_ENV: development volumes: diff --git a/sites/gamesclub/update.sh b/sites/gamesclub/update.sh new file mode 100755 index 0000000..2265d89 --- /dev/null +++ b/sites/gamesclub/update.sh @@ -0,0 +1,2 @@ +sudo docker cp config.development.json gamesclub-ghost-1:/var/lib/ghost/. +sudo docker cp config.production.json gamesclub-ghost-1:/var/lib/ghost/. \ No newline at end of file diff --git a/sites/photos/docker-compose.yml b/sites/photos/docker-compose.yml index 00a07b1..f60a54c 100644 --- a/sites/photos/docker-compose.yml +++ b/sites/photos/docker-compose.yml @@ -22,7 +22,7 @@ services: # url: http://0.0.0.0:2370 #Dev url: "https://photos.${DOMAIN}" #Prod # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) - # NODE_ENV: development + NODE_ENV: production volumes: - ./content:/var/lib/ghost/content # - ./themes:/var/lib/ghost/current/content/themes:rw From 2cab330840d9a46b9876d36f80b304a648aa0469 Mon Sep 17 00:00:00 2001 From: Brodin Date: Sun, 11 Aug 2024 01:38:11 -0400 Subject: [PATCH 4/4] Way more stuff again --- dashboard/docker-compose.yml | 27 +++++++++++++++++++++++++++ recipes/.env.example | 16 ++++++++++++++++ recipes/docker-compose.yml | 33 +++++++++++++++++++++++++++++++++ rss-reader/docker-compose.yml | 11 +++++++++++ 4 files changed, 87 insertions(+) create mode 100644 recipes/.env.example create mode 100644 recipes/docker-compose.yml diff --git a/dashboard/docker-compose.yml b/dashboard/docker-compose.yml index 77717f5..6329dd8 100644 --- a/dashboard/docker-compose.yml +++ b/dashboard/docker-compose.yml @@ -34,6 +34,33 @@ services: - 3001:3001 volumes: - /:/mnt/host:ro + prometheus: + image: prom/prometheus + container_name: prometheus + user: '0' + command: + - '--config.file=/etc/prometheus/prometheus.yml' + ports: + - 9090:9090 + restart: unless-stopped + volumes: + - ${CONFIG_LOCATION}/prometheus:/etc/prometheus + - ${DATA_LOCATION}/prometheus:/prometheus + grafana: + image: grafana/grafana-enterprise + container_name: grafana + restart: unless-stopped + user: '0' + environment: + - GF_SERVER_ROOT_URL=https://grafana.${DOMAIN} + - GF_INSTALL_PLUGINS=grafana-clock-panel + - VIRTUAL_HOST=grafana.${DOMAIN} + - LETSENCRYPT_HOST=grafana.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + volumes: + - ${CONFIG_LOCATION}/grafana:/var/lib/grafana + ports: + - '3003:3000' networks: default: name: nginx-proxy diff --git a/recipes/.env.example b/recipes/.env.example new file mode 100644 index 0000000..01f9c3b --- /dev/null +++ b/recipes/.env.example @@ -0,0 +1,16 @@ +DOMAIN= +EMAIl= + +# random secret key, use for example `base64 /dev/urandom | head -c50` to generate one +SECRET_KEY= + +# allowed hosts (see documentation), should be set to your hostname(s) but might be * (default) for some proxies/providers +# ALLOWED_HOSTS=recipes.mydomain.com + +# add only a database password if you want to run with the default postgres, otherwise change settings accordingly +DB_ENGINE=django.db.backends.postgresql +POSTGRES_HOST=db_recipes +POSTGRES_DB=djangodb +POSTGRES_PORT=5432 +POSTGRES_USER=djangouser +POSTGRES_PASSWORD= diff --git a/recipes/docker-compose.yml b/recipes/docker-compose.yml new file mode 100644 index 0000000..9bdc7de --- /dev/null +++ b/recipes/docker-compose.yml @@ -0,0 +1,33 @@ +services: + db: + container_name: db-recipes + restart: always + image: postgres:16-alpine + volumes: + - ./data:/var/lib/postgresql/data + env_file: + - ./.env + app: + restart: always + image: vabene1111/recipes + env_file: + - ./.env + environment: + VIRTUAL_HOST: "recipes.${DOMAIN}" + LETSENCRYPT_HOST: "recipes.${DOMAIN}" + LETSENCRYPT_EMAIL: ${EMAIL} + volumes: + - ./config/staticfiles:/opt/recipes/staticfiles + # Do not make this a bind mount, see https://docs.tandoor.dev/install/docker/#volumes-vs-bind-mounts + - nginx_config:/opt/recipes/nginx/conf.d + - ./config/mediafiles:/opt/recipes/mediafiles + ports: + - 8075:8080 + depends_on: + - db +networks: + default: + name: nginx-proxy + external: true +volumes: + nginx_config: \ No newline at end of file diff --git a/rss-reader/docker-compose.yml b/rss-reader/docker-compose.yml index f1effcf..ece4ed8 100644 --- a/rss-reader/docker-compose.yml +++ b/rss-reader/docker-compose.yml @@ -30,6 +30,17 @@ services: volumes: - ${CONFIG_LOCATION}/mariadb:/config restart: unless-stopped + rss-bridge: + image: rssbridge/rss-bridge:latest + environment: + - VIRTUAL_HOST=rss-bridge.${DOMAIN} + - LETSENCRYPT_HOST=rss-bridge.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + volumes: + - ${CONFIG_LOCATION}/rss-bridge:/config:rw + ports: + - 3002:80 + restart: unless-stopped networks: default: name: nginx-proxy