feature/allthestuff #4
13
.idea/.gitignore
generated
vendored
Normal file
13
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Rider ignored files
|
||||||
|
/modules.xml
|
||||||
|
/.idea.docker-container.iml
|
||||||
|
/projectSettingsUpdater.xml
|
||||||
|
/contentModel.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
4
.idea/encodings.xml
generated
Normal file
4
.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
|
||||||
|
</project>
|
||||||
8
.idea/indexLayout.xml
generated
Normal file
8
.idea/indexLayout.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
7
.idea/vcs.xml
generated
Normal file
7
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
29
actualBudget/docker-compose.yml
Normal file
29
actualBudget/docker-compose.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
services:
|
||||||
|
actual_server:
|
||||||
|
image: docker.io/actualbudget/actual-server:latest
|
||||||
|
ports:
|
||||||
|
# This line makes Actual available at port 5006 of the device you run the server on,
|
||||||
|
# i.e. http://localhost:5006. You can change the first number to change the port, if you want.
|
||||||
|
- '5006:5006'
|
||||||
|
environment:
|
||||||
|
# Uncomment any of the lines below to set configuration options.
|
||||||
|
# - ACTUAL_HTTPS_KEY=/data/selfhost.key
|
||||||
|
# - ACTUAL_HTTPS_CERT=/data/selfhost.crt
|
||||||
|
# - ACTUAL_PORT=5006
|
||||||
|
# - ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=20
|
||||||
|
# - ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=50
|
||||||
|
# - ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=20
|
||||||
|
# See all options and more details at https://actualbudget.github.io/docs/Installing/Configuration
|
||||||
|
# !! If you are not using any of these options, remove the 'environment:' tag entirely.
|
||||||
|
volumes:
|
||||||
|
# Change './actual-data' below to the path to the folder you want Actual to store its data in on your server.
|
||||||
|
# '/data' is the path Actual will look for its files in by default, so leave that as-is.
|
||||||
|
- /home/soenke/docker-data/actualBudget/data:/data
|
||||||
|
healthcheck:
|
||||||
|
# Enable health check for the instance
|
||||||
|
test: ['CMD-SHELL', 'node src/scripts/health-check.js']
|
||||||
|
interval: 60s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 20s
|
||||||
|
restart: unless-stopped
|
||||||
31
budibase/.env
Normal file
31
budibase/.env
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# Use the main port in the builder for your self hosting URL, e.g. localhost:10000
|
||||||
|
MAIN_PORT=10000
|
||||||
|
|
||||||
|
# This section contains all secrets pertaining to the system
|
||||||
|
# These should be updated
|
||||||
|
API_ENCRYPTION_KEY="r*6V&XX#Nc@KhkB7"
|
||||||
|
JWT_SECRET="4hXZmFIvjmb$!jIp"
|
||||||
|
MINIO_ACCESS_KEY="*PG2M5^6WByh!uT1"
|
||||||
|
MINIO_SECRET_KEY="I238Lt@TqB#eTtG%"
|
||||||
|
COUCH_DB_PASSWORD="OgDcjjIA^Q6i0*VN"
|
||||||
|
COUCH_DB_USER=budibase
|
||||||
|
REDIS_PASSWORD="wfU2ufV*4#pxSyr&"
|
||||||
|
INTERNAL_API_KEY="pWCxHj8*A6bfEzTB"
|
||||||
|
|
||||||
|
# This section contains variables that do not need to be altered under normal circumstances
|
||||||
|
APP_PORT=4002
|
||||||
|
WORKER_PORT=4003
|
||||||
|
MINIO_PORT=4004
|
||||||
|
COUCH_DB_PORT=4005
|
||||||
|
COUCH_DB_SQS_PORT=4006
|
||||||
|
REDIS_PORT=6379
|
||||||
|
BUDIBASE_ENVIRONMENT=PRODUCTION
|
||||||
|
SQL_MAX_ROWS=
|
||||||
|
|
||||||
|
# An admin user can be automatically created initially if these are set
|
||||||
|
BB_ADMIN_USER_EMAIL=soenke@domroese.eu
|
||||||
|
BB_ADMIN_USER_PASSWORD="$$3ljjnr6#nGO3pP"
|
||||||
|
|
||||||
|
# A path that is watched for plugin bundles. Any bundles found are imported automatically/
|
||||||
|
PLUGINS_DIR=
|
||||||
|
ROLLING_LOG_MAX_SIZE=
|
||||||
120
budibase/docker-compose.yml
Normal file
120
budibase/docker-compose.yml
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
# optional ports are specified throughout for more advanced use cases.
|
||||||
|
|
||||||
|
services:
|
||||||
|
app-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: budibase/apps
|
||||||
|
container_name: bbapps
|
||||||
|
environment:
|
||||||
|
SELF_HOSTED: 1
|
||||||
|
COUCH_DB_URL: http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
|
||||||
|
WORKER_URL: http://worker-service:4003
|
||||||
|
MINIO_URL: http://minio-service:9000
|
||||||
|
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
|
||||||
|
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
|
||||||
|
INTERNAL_API_KEY: ${INTERNAL_API_KEY}
|
||||||
|
BUDIBASE_ENVIRONMENT: ${BUDIBASE_ENVIRONMENT}
|
||||||
|
PORT: 4002
|
||||||
|
API_ENCRYPTION_KEY: ${API_ENCRYPTION_KEY}
|
||||||
|
JWT_SECRET: ${JWT_SECRET}
|
||||||
|
LOG_LEVEL: info
|
||||||
|
ENABLE_ANALYTICS: "true"
|
||||||
|
REDIS_URL: redis-service:6379
|
||||||
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||||
|
BB_ADMIN_USER_EMAIL: ${BB_ADMIN_USER_EMAIL}
|
||||||
|
BB_ADMIN_USER_PASSWORD: ${BB_ADMIN_USER_PASSWORD}
|
||||||
|
PLUGINS_DIR: ${PLUGINS_DIR}
|
||||||
|
OFFLINE_MODE: ${OFFLINE_MODE:-}
|
||||||
|
depends_on:
|
||||||
|
- worker-service
|
||||||
|
- redis-service
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/budibase/plugins:/plugins
|
||||||
|
|
||||||
|
worker-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: budibase/worker
|
||||||
|
container_name: bbworker
|
||||||
|
environment:
|
||||||
|
SELF_HOSTED: 1
|
||||||
|
PORT: 4003
|
||||||
|
CLUSTER_PORT: ${MAIN_PORT}
|
||||||
|
API_ENCRYPTION_KEY: ${API_ENCRYPTION_KEY}
|
||||||
|
JWT_SECRET: ${JWT_SECRET}
|
||||||
|
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
|
||||||
|
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
|
||||||
|
MINIO_URL: http://minio-service:9000
|
||||||
|
APPS_URL: http://app-service:4002
|
||||||
|
COUCH_DB_USERNAME: ${COUCH_DB_USER}
|
||||||
|
COUCH_DB_PASSWORD: ${COUCH_DB_PASSWORD}
|
||||||
|
COUCH_DB_URL: http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
|
||||||
|
INTERNAL_API_KEY: ${INTERNAL_API_KEY}
|
||||||
|
REDIS_URL: redis-service:6379
|
||||||
|
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||||
|
OFFLINE_MODE: ${OFFLINE_MODE:-}
|
||||||
|
depends_on:
|
||||||
|
- redis-service
|
||||||
|
- minio-service
|
||||||
|
|
||||||
|
minio-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: minio/minio
|
||||||
|
volumes:
|
||||||
|
- minio_data:/data
|
||||||
|
environment:
|
||||||
|
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
|
||||||
|
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
|
||||||
|
MINIO_BROWSER: "off"
|
||||||
|
command: server /data --console-address ":9001"
|
||||||
|
healthcheck:
|
||||||
|
test: "timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1"
|
||||||
|
interval: 30s
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
||||||
|
|
||||||
|
proxy-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "${MAIN_PORT}:10000"
|
||||||
|
container_name: bbproxy
|
||||||
|
image: budibase/proxy
|
||||||
|
environment:
|
||||||
|
- PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10
|
||||||
|
- PROXY_RATE_LIMIT_API_PER_SECOND=20
|
||||||
|
- APPS_UPSTREAM_URL=http://app-service:4002
|
||||||
|
- WORKER_UPSTREAM_URL=http://worker-service:4003
|
||||||
|
- MINIO_UPSTREAM_URL=http://minio-service:9000
|
||||||
|
- COUCHDB_UPSTREAM_URL=http://couchdb-service:5984
|
||||||
|
- RESOLVER=127.0.0.11
|
||||||
|
depends_on:
|
||||||
|
- minio-service
|
||||||
|
- worker-service
|
||||||
|
- app-service
|
||||||
|
- couchdb-service
|
||||||
|
|
||||||
|
couchdb-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: budibase/couchdb:v3.3.3-sqs-v2.1.1
|
||||||
|
environment:
|
||||||
|
- COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}
|
||||||
|
- COUCHDB_USER=${COUCH_DB_USER}
|
||||||
|
- TARGETBUILD=docker-compose
|
||||||
|
volumes:
|
||||||
|
- couchdb3_data:/opt/couchdb/data
|
||||||
|
|
||||||
|
redis-service:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: redis
|
||||||
|
command: redis-server --requirepass "${REDIS_PASSWORD}"
|
||||||
|
volumes:
|
||||||
|
- redis_data:/data
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
couchdb3_data:
|
||||||
|
driver: local
|
||||||
|
minio_data:
|
||||||
|
driver: local
|
||||||
|
redis_data:
|
||||||
|
driver: local
|
||||||
@@ -60,6 +60,55 @@ chat.home.domroese.eu:443 {
|
|||||||
tls soenke@domroese.eu
|
tls soenke@domroese.eu
|
||||||
reverse_proxy 192.168.1.65:1180
|
reverse_proxy 192.168.1.65:1180
|
||||||
}
|
}
|
||||||
|
budibase.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:4002
|
||||||
|
}
|
||||||
|
|
||||||
|
erugo.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:9997
|
||||||
|
}
|
||||||
|
|
||||||
|
excalidraw.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:8267
|
||||||
|
}
|
||||||
|
|
||||||
|
homarr.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:7575
|
||||||
|
}
|
||||||
|
|
||||||
|
homepage.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:3891
|
||||||
|
}
|
||||||
|
|
||||||
|
mealie.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:9925
|
||||||
|
}
|
||||||
|
|
||||||
|
omnitools.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:8579
|
||||||
|
}
|
||||||
|
|
||||||
|
shiori.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:2661
|
||||||
|
}
|
||||||
|
|
||||||
|
wallos.home.domroese.eu:443 {
|
||||||
|
tls soenke@domroese.eu
|
||||||
|
reverse_proxy 192.168.1.65:8282
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
nas.home.domroese.eu {
|
nas.home.domroese.eu {
|
||||||
tls soenke@domroese.eu {
|
tls soenke@domroese.eu {
|
||||||
|
|||||||
22
erugo/docker-compose.yml
Normal file
22
erugo/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
services:
|
||||||
|
erugo:
|
||||||
|
image: wardy784/erugo:latest
|
||||||
|
user: 0:0
|
||||||
|
container_name: Erugo
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "nc -z 127.0.0.1 80 || exit 1"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 90s
|
||||||
|
environment:
|
||||||
|
VITE_API_URL: https://erugo.yourname.synology.me
|
||||||
|
JWT_SECRET: dLB%7V$YJ5cPPmeuZCc%0O2E0HMV9Ock!J0dU@mzgYp4IaCR4XVuUn%0i!e@sMUq
|
||||||
|
APP_KEY: h$@H$BdK8ywbKmwkt^B8TH^mjDQ$w*AideHPhOLTHt$qH2eQvqSWJpxsARKVRxXM
|
||||||
|
APP_DEBUG: true
|
||||||
|
APP_TIMEZONE: Europe/Berlin
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/erugo/data:/var/www/html/storage:rw
|
||||||
|
ports:
|
||||||
|
- 9997:80
|
||||||
|
restart: on-failure:5
|
||||||
23
excalidraw/docker-compose.yml
Normal file
23
excalidraw/docker-compose.yml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
services:
|
||||||
|
excalidraw:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
args:
|
||||||
|
- NODE_ENV=development
|
||||||
|
container_name: excalidraw
|
||||||
|
ports:
|
||||||
|
- "8267:80"
|
||||||
|
restart: on-failure
|
||||||
|
stdin_open: true
|
||||||
|
healthcheck:
|
||||||
|
disable: true
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=development
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/excalidraw/data:/opt/node_app/app:delegated
|
||||||
|
- /home/soenke/docker-data/excalidraw/package.json:/opt/node_app/package.json
|
||||||
|
- /home/soenke/docker-data/excalidraw/yarn.lock:/opt/node_app/yarn.lock
|
||||||
|
- notused:/opt/node_app/app/node_modules
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
notused:
|
||||||
12
homarr/docker-compose.yml
Normal file
12
homarr/docker-compose.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
services:
|
||||||
|
homarr:
|
||||||
|
container_name: homarr
|
||||||
|
image: ghcr.io/homarr-labs/homarr:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration
|
||||||
|
- /home/soenke/docker-data/homarr/appdata:/appdata
|
||||||
|
environment:
|
||||||
|
- SECRET_ENCRYPTION_KEY=c99349e72b4267a0ba7a19fa2de53cfdbd73708974338d2abe36f1379fe8ba7c
|
||||||
|
ports:
|
||||||
|
- '7575:7575'
|
||||||
11
homepage/docker-compose.yml
Normal file
11
homepage/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
services:
|
||||||
|
homepage:
|
||||||
|
image: ghcr.io/gethomepage/homepage:latest
|
||||||
|
container_name: homepage
|
||||||
|
ports:
|
||||||
|
- 3891:3000
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/homepage/config:/app/config # Make sure your local config directory exists
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
|
||||||
|
environment:
|
||||||
|
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev,homepage.home.domroese.eu # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
||||||
60
mealie/docker-compose.yml
Normal file
60
mealie/docker-compose.yml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: postgres:16
|
||||||
|
container_name: Mealie-DB
|
||||||
|
hostname: mealie-db
|
||||||
|
mem_limit: 1g
|
||||||
|
cpu_shares: 768
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-q", "-d", "mealie", "-U", "mealieuser"]
|
||||||
|
timeout: 45s
|
||||||
|
interval: 10s
|
||||||
|
retries: 10
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/mealie/db:/var/lib/postgresql/data:rw
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: mealie
|
||||||
|
POSTGRES_USER: mealie
|
||||||
|
POSTGRES_PASSWORD: $hYx%uyO$IAUX3EhXvUtP$GMe4TLgoiLrBTN9nrXh&q8C0TWqp&ku%dEOUPT4GMZ
|
||||||
|
restart: on-failure:5
|
||||||
|
|
||||||
|
mealie:
|
||||||
|
image: ghcr.io/mealie-recipes/mealie:latest
|
||||||
|
container_name: Mealie
|
||||||
|
hostname: mealie
|
||||||
|
mem_limit: 2g
|
||||||
|
cpu_shares: 1024
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
read_only: false
|
||||||
|
ports:
|
||||||
|
- 9925:9000
|
||||||
|
volumes:
|
||||||
|
- /home/soenke/docker-data/mealie/data:/app/data/:rw
|
||||||
|
environment:
|
||||||
|
TZ: Europe/Berlin
|
||||||
|
PUID: 1026
|
||||||
|
PGID: 100
|
||||||
|
MAX_WORKERS: 1
|
||||||
|
WEB_CONCURRENCY: 1
|
||||||
|
ALLOW_SIGNUP: true
|
||||||
|
BASE_URL: https://mealie.home.domroese.eu
|
||||||
|
DB_ENGINE: postgres
|
||||||
|
POSTGRES_USER: mealie
|
||||||
|
POSTGRES_PASSWORD: $hYx%uyO$IAUX3EhXvUtP$GMe4TLgoiLrBTN9nrXh&q8C0TWqp&ku%dEOUPT4GMZ
|
||||||
|
POSTGRES_SERVER: mealie-db
|
||||||
|
POSTGRES_PORT: 5432
|
||||||
|
POSTGRES_DB: mealie
|
||||||
|
SMTP_HOST: smtp.gmail.com
|
||||||
|
SMTP_PORT: 587
|
||||||
|
SMTP_FROM_NAME: Mealie
|
||||||
|
SMTP_AUTH_STRATEGY: TLS # Options: TLS, SSL, NONE
|
||||||
|
SMTP_FROM_EMAIL: Your-own-gmail-address
|
||||||
|
SMTP_USER: Your-own-gmail-address
|
||||||
|
SMTP_PASSWORD: Your-own-app-password
|
||||||
|
restart: on-failure:5
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
7
omniTools/docker-compose.yml
Normal file
7
omniTools/docker-compose.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
services:
|
||||||
|
omni-tools:
|
||||||
|
image: iib0011/omni-tools:latest
|
||||||
|
container_name: omni-tools
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8579:80"
|
||||||
281
penpot/docker-compose.yaml
Normal file
281
penpot/docker-compose.yaml
Normal file
@@ -0,0 +1,281 @@
|
|||||||
|
## Common flags:
|
||||||
|
# demo-users
|
||||||
|
# email-verification
|
||||||
|
# log-emails
|
||||||
|
# log-invitation-tokens
|
||||||
|
# login-with-github
|
||||||
|
# login-with-gitlab
|
||||||
|
# login-with-google
|
||||||
|
# login-with-ldap
|
||||||
|
# login-with-oidc
|
||||||
|
# login-with-password
|
||||||
|
# prepl-server
|
||||||
|
# registration
|
||||||
|
# secure-session-cookies
|
||||||
|
# smtp
|
||||||
|
# smtp-debug
|
||||||
|
# telemetry
|
||||||
|
# webhooks
|
||||||
|
##
|
||||||
|
## You can read more about all available flags and other
|
||||||
|
## environment variables here:
|
||||||
|
## https://help.penpot.app/technical-guide/configuration/#advanced-configuration
|
||||||
|
#
|
||||||
|
# WARNING: if you're exposing Penpot to the internet, you should remove the flags
|
||||||
|
# 'disable-secure-session-cookies' and 'disable-email-verification'
|
||||||
|
x-flags: &penpot-flags
|
||||||
|
PENPOT_FLAGS: disable-email-verification enable-smtp enable-prepl-server disable-secure-session-cookies
|
||||||
|
|
||||||
|
x-uri: &penpot-public-uri
|
||||||
|
PENPOT_PUBLIC_URI: http://penpot.home.domroese.eu
|
||||||
|
|
||||||
|
x-body-size: &penpot-http-body-size
|
||||||
|
# Max body size (30MiB); Used for plain requests, should never be
|
||||||
|
# greater than multi-part size
|
||||||
|
PENPOT_HTTP_SERVER_MAX_BODY_SIZE: 31457280
|
||||||
|
|
||||||
|
# Max multipart body size (350MiB)
|
||||||
|
PENPOT_HTTP_SERVER_MAX_MULTIPART_BODY_SIZE: 367001600
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
penpot:
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
penpot_postgres_v15:
|
||||||
|
penpot_assets:
|
||||||
|
# penpot_traefik:
|
||||||
|
# penpot_minio:
|
||||||
|
|
||||||
|
services:
|
||||||
|
## Traefik service declaration example. Consider using it if you are going to expose
|
||||||
|
## penpot to the internet, or a different host than `localhost`.
|
||||||
|
|
||||||
|
# traefik:
|
||||||
|
# image: traefik:v3.3
|
||||||
|
# networks:
|
||||||
|
# - penpot
|
||||||
|
# command:
|
||||||
|
# - "--api.insecure=true"
|
||||||
|
# - "--entryPoints.web.address=:80"
|
||||||
|
# - "--providers.docker=true"
|
||||||
|
# - "--providers.docker.exposedbydefault=false"
|
||||||
|
# - "--entryPoints.websecure.address=:443"
|
||||||
|
# - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
||||||
|
# - "--certificatesresolvers.letsencrypt.acme.email=<EMAIL_ADDRESS>"
|
||||||
|
# - "--certificatesresolvers.letsencrypt.acme.storage=/traefik/acme.json"
|
||||||
|
# volumes:
|
||||||
|
# - "penpot_traefik:/traefik"
|
||||||
|
# - "/var/run/docker.sock:/var/run/docker.sock"
|
||||||
|
# ports:
|
||||||
|
# - "80:80"
|
||||||
|
# - "443:443"
|
||||||
|
|
||||||
|
penpot-frontend:
|
||||||
|
image: "penpotapp/frontend:${PENPOT_VERSION:-latest}"
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 9574:8080
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- penpot_assets:/opt/data/assets
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- penpot-backend
|
||||||
|
- penpot-exporter
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
# labels:
|
||||||
|
# - "traefik.enable=true"
|
||||||
|
|
||||||
|
# ## HTTPS: example of labels for the case where penpot will be exposed to the
|
||||||
|
# ## internet with HTTPS using traefik.
|
||||||
|
|
||||||
|
# - "traefik.http.routers.penpot-https.rule=Host(`<DOMAIN_NAME>`)"
|
||||||
|
# - "traefik.http.routers.penpot-https.entrypoints=websecure"
|
||||||
|
# - "traefik.http.routers.penpot-https.tls.certresolver=letsencrypt"
|
||||||
|
# - "traefik.http.routers.penpot-https.tls=true"
|
||||||
|
|
||||||
|
environment:
|
||||||
|
<< : [*penpot-flags, *penpot-http-body-size]
|
||||||
|
|
||||||
|
penpot-backend:
|
||||||
|
image: "penpotapp/backend:${PENPOT_VERSION:-latest}"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- penpot_assets:/opt/data/assets
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
penpot-postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
penpot-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
## Configuration envronment variables for the backend container.
|
||||||
|
|
||||||
|
environment:
|
||||||
|
<< : [*penpot-flags, *penpot-public-uri, *penpot-http-body-size]
|
||||||
|
|
||||||
|
## Penpot SECRET KEY. It serves as a master key from which other keys for subsystems
|
||||||
|
## (eg http sessions, or invitations) are derived.
|
||||||
|
##
|
||||||
|
## If you leave it commented, all created sessions and invitations will
|
||||||
|
## become invalid on container restart.
|
||||||
|
##
|
||||||
|
## If you going to uncomment this, we recommend to use a trully randomly generated
|
||||||
|
## 512 bits base64 encoded string here. You can generate one with:
|
||||||
|
##
|
||||||
|
## python3 -c "import secrets; print(secrets.token_urlsafe(64))"
|
||||||
|
|
||||||
|
# PENPOT_SECRET_KEY: my-insecure-key
|
||||||
|
|
||||||
|
## The PREPL host. Mainly used for external programatic access to penpot backend
|
||||||
|
## (example: admin). By default it will listen on `localhost` but if you are going to use
|
||||||
|
## the `admin`, you will need to uncomment this and set the host to `0.0.0.0`.
|
||||||
|
|
||||||
|
# PENPOT_PREPL_HOST: 0.0.0.0
|
||||||
|
|
||||||
|
## Database connection parameters. Don't touch them unless you are using custom
|
||||||
|
## postgresql connection parameters.
|
||||||
|
|
||||||
|
PENPOT_DATABASE_URI: postgresql://penpot-postgres/penpot
|
||||||
|
PENPOT_DATABASE_USERNAME: penpot
|
||||||
|
PENPOT_DATABASE_PASSWORD: penpot
|
||||||
|
|
||||||
|
## Redis is used for the websockets notifications. Don't touch unless the redis
|
||||||
|
## container has different parameters or different name.
|
||||||
|
|
||||||
|
PENPOT_REDIS_URI: redis://penpot-redis/0
|
||||||
|
|
||||||
|
## Default configuration for assets storage: using filesystem based with all files
|
||||||
|
## stored in a docker volume.
|
||||||
|
|
||||||
|
PENPOT_ASSETS_STORAGE_BACKEND: assets-fs
|
||||||
|
PENPOT_STORAGE_ASSETS_FS_DIRECTORY: /opt/data/assets
|
||||||
|
|
||||||
|
## Also can be configured to to use a S3 compatible storage
|
||||||
|
## service like MiniIO. Look below for minio service setup.
|
||||||
|
|
||||||
|
# AWS_ACCESS_KEY_ID: <KEY_ID>
|
||||||
|
# AWS_SECRET_ACCESS_KEY: <ACCESS_KEY>
|
||||||
|
# PENPOT_ASSETS_STORAGE_BACKEND: assets-s3
|
||||||
|
# PENPOT_STORAGE_ASSETS_S3_ENDPOINT: http://penpot-minio:9000
|
||||||
|
# PENPOT_STORAGE_ASSETS_S3_BUCKET: <BUKET_NAME>
|
||||||
|
|
||||||
|
## Telemetry. When enabled, a periodical process will send anonymous data about this
|
||||||
|
## instance. Telemetry data will enable us to learn how the application is used,
|
||||||
|
## based on real scenarios. If you want to help us, please leave it enabled. You can
|
||||||
|
## audit what data we send with the code available on github.
|
||||||
|
|
||||||
|
PENPOT_TELEMETRY_ENABLED: true
|
||||||
|
PENPOT_TELEMETRY_REFERER: compose
|
||||||
|
|
||||||
|
## Example SMTP/Email configuration. By default, emails are sent to the mailcatch
|
||||||
|
## service, but for production usage it is recommended to setup a real SMTP
|
||||||
|
## provider. Emails are used to confirm user registrations & invitations. Look below
|
||||||
|
## how the mailcatch service is configured.
|
||||||
|
|
||||||
|
PENPOT_SMTP_DEFAULT_FROM: no-reply@example.com
|
||||||
|
PENPOT_SMTP_DEFAULT_REPLY_TO: no-reply@example.com
|
||||||
|
PENPOT_SMTP_HOST: penpot-mailcatch
|
||||||
|
PENPOT_SMTP_PORT: 1025
|
||||||
|
PENPOT_SMTP_USERNAME:
|
||||||
|
PENPOT_SMTP_PASSWORD:
|
||||||
|
PENPOT_SMTP_TLS: false
|
||||||
|
PENPOT_SMTP_SSL: false
|
||||||
|
|
||||||
|
penpot-exporter:
|
||||||
|
image: "penpotapp/exporter:${PENPOT_VERSION:-latest}"
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
penpot-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
environment:
|
||||||
|
# Don't touch it; this uses an internal docker network to
|
||||||
|
# communicate with the frontend.
|
||||||
|
PENPOT_PUBLIC_URI: http://penpot-frontend:8080
|
||||||
|
|
||||||
|
## Redis is used for the websockets notifications.
|
||||||
|
PENPOT_REDIS_URI: redis://penpot-redis/0
|
||||||
|
|
||||||
|
penpot-postgres:
|
||||||
|
image: "postgres:15"
|
||||||
|
restart: always
|
||||||
|
stop_signal: SIGINT
|
||||||
|
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U penpot"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 5
|
||||||
|
start_period: 2s
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- penpot_postgres_v15:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- POSTGRES_INITDB_ARGS=--data-checksums
|
||||||
|
- POSTGRES_DB=penpot
|
||||||
|
- POSTGRES_USER=penpot
|
||||||
|
- POSTGRES_PASSWORD=penpot
|
||||||
|
|
||||||
|
penpot-redis:
|
||||||
|
image: redis:7.2
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||||
|
interval: 1s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 5
|
||||||
|
start_period: 3s
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
## A mailcatch service, used as temporal SMTP server. You can access via HTTP to the
|
||||||
|
## port 1080 for read all emails the penpot platform has sent. Should be only used as a
|
||||||
|
## temporal solution while no real SMTP provider is configured.
|
||||||
|
|
||||||
|
penpot-mailcatch:
|
||||||
|
image: sj26/mailcatcher:latest
|
||||||
|
restart: always
|
||||||
|
expose:
|
||||||
|
- '1025'
|
||||||
|
ports:
|
||||||
|
- "1080:1080"
|
||||||
|
networks:
|
||||||
|
- penpot
|
||||||
|
|
||||||
|
## Example configuration of MiniIO (S3 compatible object storage service); If you don't
|
||||||
|
## have preference, then just use filesystem, this is here just for the completeness.
|
||||||
|
|
||||||
|
# minio:
|
||||||
|
# image: "minio/minio:latest"
|
||||||
|
# command: minio server /mnt/data --console-address ":9001"
|
||||||
|
# restart: always
|
||||||
|
#
|
||||||
|
# volumes:
|
||||||
|
# - "penpot_minio:/mnt/data"
|
||||||
|
#
|
||||||
|
# environment:
|
||||||
|
# - MINIO_ROOT_USER=minioadmin
|
||||||
|
# - MINIO_ROOT_PASSWORD=minioadmin
|
||||||
|
#
|
||||||
|
# ports:
|
||||||
|
# - 9000:9000
|
||||||
|
# - 9001:9001
|
||||||
8
shiori/docker-compose.yml
Normal file
8
shiori/docker-compose.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
services:
|
||||||
|
go-shiori:
|
||||||
|
image: ghcr.io/go-shiori/shiori
|
||||||
|
volumes:
|
||||||
|
- '/home/soenke/docker-data/shiori:/shiori'
|
||||||
|
ports:
|
||||||
|
- '2661:8080'
|
||||||
|
container_name: shiori
|
||||||
5
startall.sh
Normal file
5
startall.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
for dir in *; do
|
||||||
|
if [ -d "$dir" ]; then # or: if test -d "$dir"; then
|
||||||
|
( cd "$dir" && docker-compose up -d )
|
||||||
|
fi
|
||||||
|
done
|
||||||
13
wallos/docker-compose.yml
Normal file
13
wallos/docker-compose.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
services:
|
||||||
|
wallos:
|
||||||
|
container_name: wallos
|
||||||
|
image: bellamy/wallos:latest
|
||||||
|
ports:
|
||||||
|
- "8282:80/tcp"
|
||||||
|
environment:
|
||||||
|
TZ: 'Europe/Berlin'
|
||||||
|
# Volumes store your data between container upgrades
|
||||||
|
volumes:
|
||||||
|
- '/home/soenke/docker-data/wallos/db:/var/www/html/db'
|
||||||
|
- '/home/soenke/docker-data/wallos/logos:/var/www/html/images/uploads/logos'
|
||||||
|
restart: unless-stopped
|
||||||
Reference in New Issue
Block a user