Merge branch 'next' into feat-forgejo
This commit is contained in:
58
templates/compose/docmost.yaml
Normal file
58
templates/compose/docmost.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
# documentation: https://docmost.com/docs/
|
||||
# slogan: Open-source collaborative wiki and documentation software
|
||||
# tags: documentation, opensource, wiki, confluence, knowledge-base, notion, realtime-collaboration, notion-alternative
|
||||
# logo: svgs/docmost.png
|
||||
# port: 3000
|
||||
|
||||
services:
|
||||
docmost:
|
||||
image: "docmost/docmost:latest"
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_DOCMOST_3000
|
||||
- APP_SECRET=$SERVICE_BASE64_APPKEY
|
||||
- APP_URL=$SERVICE_FQDN_DOCMOST_3000
|
||||
- DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql/docmost?schema=public
|
||||
- REDIS_URL=redis://redis:6379
|
||||
volumes:
|
||||
- "docmost:/app/data/storage"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- curl
|
||||
- "-f"
|
||||
- "http://127.0.0.1:3000"
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
postgresql:
|
||||
image: "postgres:16-alpine"
|
||||
environment:
|
||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
- POSTGRES_DB=docmost
|
||||
volumes:
|
||||
- "postgresql-data:/var/lib/postgresql/data"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
redis:
|
||||
image: "redis:7.2-alpine"
|
||||
volumes:
|
||||
- "redis-data:/data"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
53
templates/compose/drupal-with-postgresql.yaml
Normal file
53
templates/compose/drupal-with-postgresql.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
# documentation: https://www.drupal.org/about
|
||||
# slogan: Drupal is a free and open-source web content management system written in PHP and distributed under the GNU General Public License.
|
||||
# tags: cms, blog, content, management, postgresql
|
||||
# logo: svgs/drupal.svg
|
||||
|
||||
services:
|
||||
drupal:
|
||||
image: "drupal:10-apache"
|
||||
environment:
|
||||
- SERVICE_FQDN_DRUPAL
|
||||
- DB_HOST=postgres
|
||||
- DB_NAME=postgres
|
||||
- DB_USER=postgres
|
||||
- DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
volumes:
|
||||
- type: volume
|
||||
source: drupal_modules
|
||||
target: /var/www/html/modules
|
||||
is_directory: true
|
||||
- type: volume
|
||||
source: drupal_profiles
|
||||
target: /var/www/html/profiles
|
||||
is_directory: true
|
||||
- type: volume
|
||||
source: drupal_themes
|
||||
target: /var/www/html/themes
|
||||
is_directory: true
|
||||
- type: volume
|
||||
source: drupal_sites
|
||||
target: /var/www/html/sites
|
||||
is_directory: true
|
||||
depends_on:
|
||||
- postgres
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- "curl -f http://localhost:80 || exit 1"
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
postgres:
|
||||
image: "postgres:16"
|
||||
environment:
|
||||
- POSTGRES_DB=postgres
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
190
templates/compose/plane.yaml
Normal file
190
templates/compose/plane.yaml
Normal file
@@ -0,0 +1,190 @@
|
||||
# documentation: https://docs.plane.so/self-hosting/methods/docker-compose
|
||||
# slogan: The open source project management tool
|
||||
# tags: plane,project-management,tool,open,source,api,nextjs,redis,postgresql,django,pm
|
||||
# logo: svgs/plane.svg
|
||||
|
||||
x-app-env: &app-env
|
||||
environment:
|
||||
- WEB_URL=http://localhost
|
||||
- DEBUG=${DEBUG:-0}
|
||||
- CORS_ALLOWED_ORIGINS=http://localhost
|
||||
# Gunicorn Workers
|
||||
- GUNICORN_WORKERS=${GUNICORN_WORKERS:-1}
|
||||
#DB SETTINGS
|
||||
- PGHOST=plane-db
|
||||
- PGDATABASE=plane
|
||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
- POSTGRES_DB=plane
|
||||
- POSTGRES_PORT=5432
|
||||
- PGDATA=/var/lib/postgresql/data
|
||||
- DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@plane-db/plane
|
||||
# REDIS SETTINGS
|
||||
- REDIS_HOST=plane-redis
|
||||
- REDIS_PORT=6379
|
||||
- REDIS_URL=${REDIS_URL:-redis://plane-redis:6379/}
|
||||
# Application secret
|
||||
- SECRET_KEY=$SERVICE_PASSWORD_64_SECRETKEY
|
||||
# DATA STORE SETTINGS
|
||||
- USE_MINIO=${USE_MINIO:-1}
|
||||
- AWS_REGION=${AWS_REGION}
|
||||
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
||||
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
||||
- AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
|
||||
- AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}
|
||||
- MINIO_ROOT_USER=$SERVICE_USER_MINIO
|
||||
- MINIO_ROOT_PASSWORD=$SERVICE_PASSWORD_MINIO
|
||||
- BUCKET_NAME=${BUCKET_NAME:-uploads}
|
||||
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}
|
||||
# Admin and Space URLs
|
||||
- ADMIN_BASE_URL=${ADMIN_BASE_URL}
|
||||
- SPACE_BASE_URL=${SPACE_BASE_URL}
|
||||
- APP_BASE_URL=${APP_BASE_URL}
|
||||
|
||||
services:
|
||||
proxy:
|
||||
environment:
|
||||
- SERVICE_FQDN_PLANE
|
||||
- FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}
|
||||
image: makeplane/plane-proxy:stable
|
||||
depends_on:
|
||||
- web
|
||||
- api
|
||||
- space
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
web:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-frontend:stable
|
||||
command: node web/server.js web
|
||||
depends_on:
|
||||
- api
|
||||
- worker
|
||||
healthcheck:
|
||||
test: "wget -qO- http://`hostname`:3000"
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
space:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-space:stable
|
||||
command: node space/server.js space
|
||||
depends_on:
|
||||
- api
|
||||
- worker
|
||||
- web
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
admin:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-admin:stable
|
||||
command: node admin/server.js admin
|
||||
depends_on:
|
||||
- api
|
||||
- web
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
api:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-backend:stable
|
||||
command: ./bin/docker-entrypoint-api.sh
|
||||
volumes:
|
||||
- logs_api:/code/plane/logs
|
||||
depends_on:
|
||||
- plane-db
|
||||
- plane-redis
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
worker:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-backend:stable
|
||||
command: ./bin/docker-entrypoint-worker.sh
|
||||
volumes:
|
||||
- logs_worker:/code/plane/logs
|
||||
depends_on:
|
||||
- api
|
||||
- plane-db
|
||||
- plane-redis
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
beat-worker:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-backend:stable
|
||||
command: ./bin/docker-entrypoint-beat.sh
|
||||
volumes:
|
||||
- logs_beat-worker:/code/plane/logs
|
||||
depends_on:
|
||||
- api
|
||||
- plane-db
|
||||
- plane-redis
|
||||
healthcheck:
|
||||
test: ["CMD", "echo", "hey whats up"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
migrator:
|
||||
<<: *app-env
|
||||
image: makeplane/plane-backend:stable
|
||||
restart: "no"
|
||||
command: ./bin/docker-entrypoint-migrator.sh
|
||||
volumes:
|
||||
- logs_migrator:/code/plane/logs
|
||||
depends_on:
|
||||
- plane-db
|
||||
- plane-redis
|
||||
|
||||
plane-db:
|
||||
<<: *app-env
|
||||
image: postgres:15.5-alpine
|
||||
command: postgres -c 'max_connections=1000'
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
plane-redis:
|
||||
<<: *app-env
|
||||
image: valkey/valkey:7.2.5-alpine
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
plane-minio:
|
||||
<<: *app-env
|
||||
image: minio/minio:latest
|
||||
command: server /export --console-address ":9090"
|
||||
volumes:
|
||||
- uploads:/export
|
||||
healthcheck:
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
@@ -53,7 +53,7 @@ services:
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
37
templates/compose/vikunja-with-postgresql.yaml
Normal file
37
templates/compose/vikunja-with-postgresql.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
# documentation: https://vikunja.io
|
||||
# slogan: The open-source, self-hostable to-do app. Organize everything, on all platforms.
|
||||
# tags: productivity,todo
|
||||
# logo: svgs/vikunja.svg
|
||||
# port: 3456
|
||||
|
||||
services:
|
||||
vikunja:
|
||||
image: vikunja/vikunja
|
||||
environment:
|
||||
- SERVICE_FQDN_VIKUNJA
|
||||
- VIKUNJA_SERVICE_PUBLICURL=$SERVICE_FQDN_VIKUNJA
|
||||
- VIKUNJA_SERVICE_JWTSECRET=$SERVICE_PASSWORD_JWTSECRET
|
||||
- VIKUNJA_SERVICE_ENABLEREGISTRATION=true
|
||||
- VIKUNJA_DATABASE_TYPE=postgres
|
||||
- VIKUNJA_DATABASE_HOST=postgresql
|
||||
- VIKUNJA_DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||
- VIKUNJA_DATABASE_USER=${SERVICE_USER_POSTGRESQL}
|
||||
- VIKUNJA_DATABASE_DATABASE=${POSTGRESQL_DATABASE}
|
||||
volumes:
|
||||
- vikunja-data:/app/vikunja/
|
||||
depends_on:
|
||||
postgresql:
|
||||
condition: service_healthy
|
||||
postgresql:
|
||||
image: postgres:16-alpine
|
||||
volumes:
|
||||
- vikunja-postgresql-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||
- POSTGRES_DB=${POSTGRESQL_DATABASE}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
@@ -12,10 +12,16 @@ services:
|
||||
- VIKUNJA_SERVICE_PUBLICURL=$SERVICE_FQDN_VIKUNJA
|
||||
- VIKUNJA_SERVICE_JWTSECRET=$SERVICE_PASSWORD_JWTSECRET
|
||||
- VIKUNJA_SERVICE_ENABLEREGISTRATION=true
|
||||
- VIKUNJA_DATABASE_PATH=/db/vikunja.db
|
||||
- VIKUNJA_DATABASE_TYPE=sqlite
|
||||
volumes:
|
||||
- vikunja-data:/app/vikunja/
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--spider", "http://127.0.0.1:3456"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
- vikunja-sqlite-data:/db
|
||||
depends_on:
|
||||
- init
|
||||
init:
|
||||
image: busybox
|
||||
restart: no
|
||||
volumes:
|
||||
- vikunja-sqlite-data:/db
|
||||
command: ["sh", "-c", "touch /db/vikunja.db && chown -R 1000 /db"]
|
||||
|
||||
Reference in New Issue
Block a user