Dateien nach „/“ hochladen
This commit is contained in:
commit
c5322ff1ec
4 changed files with 353 additions and 0 deletions
65
stack_peertube.yaml
Normal file
65
stack_peertube.yaml
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
redis:
|
||||||
|
image: redis:7
|
||||||
|
command: redis-server --requirepass redispass
|
||||||
|
container_name: peertube-redis
|
||||||
|
hostname: peertube-redis
|
||||||
|
mem_limit: 512m
|
||||||
|
mem_reservation: 256m
|
||||||
|
cpu_shares: 768
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
read_only: true
|
||||||
|
user: 1035:100
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/peertube/redis:/data:rw
|
||||||
|
environment:
|
||||||
|
TZ: Europe/Berlin
|
||||||
|
restart: on-failure:5
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:16
|
||||||
|
container_name: peertube-db
|
||||||
|
hostname: peertube-db
|
||||||
|
mem_limit: 1g
|
||||||
|
cpu_shares: 768
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-q", "-d", "$POSTGRES_DB", "-U", "$POSTGRES_USER"]
|
||||||
|
timeout: 45s
|
||||||
|
interval: 10s
|
||||||
|
retries: 10
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/peertube/db:/var/lib/postgresql/data:rw
|
||||||
|
env_file:
|
||||||
|
- stack.env
|
||||||
|
restart: on-failure:5
|
||||||
|
|
||||||
|
peertube:
|
||||||
|
image: chocobozzz/peertube:production-bookworm
|
||||||
|
container_name: peertube
|
||||||
|
hostname: peertube
|
||||||
|
mem_limit: 12g
|
||||||
|
cpu_shares: 2048
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: curl -f http://localhost:9000/ || exit 1
|
||||||
|
ports:
|
||||||
|
- 1935:1935 # Comment if you don't want to use the live feature
|
||||||
|
- 9510:9000
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/peertube/data:/data:rw
|
||||||
|
- /volume1/docker/peertube/config:/config:rw
|
||||||
|
env_file:
|
||||||
|
- stack.env
|
||||||
|
restart: on-failure:5
|
||||||
|
depends_on:
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
164
stack_pixelfed.env
Normal file
164
stack_pixelfed.env
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
## Crypto
|
||||||
|
APP_KEY=base64:ngO3r31usRX9iMMdzAWwVHpfTp/1acds6+mRoqQAW+U=
|
||||||
|
|
||||||
|
## General Settings
|
||||||
|
ENABLE_CONFIG_CACHE=false
|
||||||
|
CUSTOM_EMOJI=false
|
||||||
|
APP_NAME="Pixelfed"
|
||||||
|
APP_LOCALE=en
|
||||||
|
APP_TIMEZONE=Europe/Berlin
|
||||||
|
APP_URL=https://pixelfed.tld
|
||||||
|
APP_DOMAIN=pixelfed.tld
|
||||||
|
ADMIN_DOMAIN=pixelfed.tld
|
||||||
|
SESSION_DOMAIN=pixelfed.tld
|
||||||
|
TRUST_PROXIES=*
|
||||||
|
ENABLE_CONFIG_CACHE=true
|
||||||
|
CUSTOM_EMOJI=false
|
||||||
|
APP_ENV=production
|
||||||
|
APP_DEBUG=false
|
||||||
|
OPEN_REGISTRATION=true
|
||||||
|
ENFORCE_EMAIL_VERIFICATION=false
|
||||||
|
PF_MAX_USERS=1000
|
||||||
|
OAUTH_ENABLED=true
|
||||||
|
PORTFOLIO_DOMAIN="portfolio.pixelfed.tld"
|
||||||
|
PORTFOLIO_PATH=""
|
||||||
|
PF_LOGIN_WITH_MASTODON_ENABLED=true
|
||||||
|
PF_USER_INVITES=true
|
||||||
|
|
||||||
|
|
||||||
|
## Pixelfed Tweaks
|
||||||
|
LIMIT_ACCOUNT_SIZE=true
|
||||||
|
MAX_ACCOUNT_SIZE=1000000
|
||||||
|
MAX_PHOTO_SIZE=10240
|
||||||
|
MAX_AVATAR_SIZE=4096
|
||||||
|
MAX_CAPTION_LENGTH=1000
|
||||||
|
MAX_BIO_LENGTH=250
|
||||||
|
MAX_NAME_LENGTH=30
|
||||||
|
MAX_ALBUM_LENGTH=100
|
||||||
|
IMAGE_QUALITY=80
|
||||||
|
PF_OPTIMIZE_IMAGES=true
|
||||||
|
PF_OPTIMIZE_VIDEOS=true
|
||||||
|
ADMIN_ENV_EDITOR=true
|
||||||
|
ACCOUNT_DELETION=true
|
||||||
|
ACCOUNT_DELETE_AFTER=false
|
||||||
|
MAX_LINKS_PER_POST=5
|
||||||
|
|
||||||
|
## Instance
|
||||||
|
#INSTANCE_DESCRIPTION=
|
||||||
|
INSTANCE_PUBLIC_HASHTAGS=true
|
||||||
|
INSTANCE_CONTACT_EMAIL=info@pixelfed.tld
|
||||||
|
INSTANCE_PUBLIC_LOCAL_TIMELINE=true
|
||||||
|
INSTANCE_DISCOVER_PUBLIC=true
|
||||||
|
#BANNED_USERNAMES=
|
||||||
|
STORIES_ENABLED=true
|
||||||
|
RESTRICTED_INSTANCE=false
|
||||||
|
INSTANCE_REPORTS_EMAIL_ADDRESSES='info@pixelfed.tld'
|
||||||
|
INSTANCE_REPORTS_EMAIL_ENABLED=true
|
||||||
|
INSTANCE_REPORTS_EMAIL_AUTOSPAM=true
|
||||||
|
|
||||||
|
## Mail
|
||||||
|
MAIL_DRIVER=smtp
|
||||||
|
MAIL_HOST=smtp.eu.mailgun.org
|
||||||
|
MAIL_PORT=587
|
||||||
|
MAIL_FROM_ADDRESS="mail@pixelfed.tld"
|
||||||
|
MAIL_FROM_NAME="Pixelfed"
|
||||||
|
MAIL_USERNAME=login
|
||||||
|
MAIL_PASSWORD=password
|
||||||
|
MAIL_ENCRYPTION=tls
|
||||||
|
|
||||||
|
## Databases (MySQL)
|
||||||
|
#DB_CONNECTION=mysql
|
||||||
|
#DB_DATABASE=pixelfed_prod
|
||||||
|
#DB_HOST=db
|
||||||
|
#DB_PASSWORD=pixelfed_db_pass
|
||||||
|
#DB_PORT=3306
|
||||||
|
#DB_USERNAME=pixelfed
|
||||||
|
# pass the same values to the db itself
|
||||||
|
#MYSQL_DATABASE=pixelfed_prod
|
||||||
|
#MYSQL_PASSWORD=pixelfed_db_pass
|
||||||
|
#MYSQL_RANDOM_ROOT_PASSWORD=true
|
||||||
|
#MYSQL_USER=pixelfed
|
||||||
|
|
||||||
|
## Databases (Postgres)
|
||||||
|
DB_CONNECTION=pgsql
|
||||||
|
DB_HOST=pixelfed-db
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_DATABASE=pixelfeddb
|
||||||
|
DB_USERNAME=pixelfed
|
||||||
|
DB_PASSWORD=pixelfeddbpassword
|
||||||
|
# pass the same values to the db itself
|
||||||
|
POSTGRES_DB=pixelfeddb
|
||||||
|
POSTGRES_USER=pixelfed
|
||||||
|
POSTGRES_PASSWORD=pixelfeddbpassword
|
||||||
|
|
||||||
|
## Cache (Redis)
|
||||||
|
REDIS_CLIENT=phpredis
|
||||||
|
REDIS_SCHEME=tcp
|
||||||
|
REDIS_HOST=pixelfed-redis
|
||||||
|
REDIS_PASSWORD=
|
||||||
|
REDIS_PORT=6379
|
||||||
|
REDIS_DATABASE=0
|
||||||
|
|
||||||
|
HORIZON_PREFIX="horizon-"
|
||||||
|
|
||||||
|
## EXPERIMENTS
|
||||||
|
EXP_LC=false
|
||||||
|
EXP_REC=false
|
||||||
|
EXP_LOOPS=false
|
||||||
|
EXP_EMC=true
|
||||||
|
|
||||||
|
## ActivityPub Federation
|
||||||
|
ACTIVITY_PUB=true
|
||||||
|
AP_REMOTE_FOLLOW=true
|
||||||
|
AP_SHAREDINBOX=true
|
||||||
|
AP_INBOX=true
|
||||||
|
AP_OUTBOX=true
|
||||||
|
ATOM_FEEDS=true
|
||||||
|
NODEINFO=true
|
||||||
|
WEBFINGER=true
|
||||||
|
|
||||||
|
## S3
|
||||||
|
FILESYSTEM_DRIVER=local
|
||||||
|
FILESYSTEM_CLOUD=s3
|
||||||
|
PF_ENABLE_CLOUD=false
|
||||||
|
#AWS_ACCESS_KEY_ID=
|
||||||
|
#AWS_SECRET_ACCESS_KEY=
|
||||||
|
#AWS_DEFAULT_REGION=
|
||||||
|
#AWS_BUCKET=
|
||||||
|
#AWS_URL=
|
||||||
|
#AWS_ENDPOINT=
|
||||||
|
#AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||||
|
|
||||||
|
## Horizon
|
||||||
|
HORIZON_DARKMODE=false
|
||||||
|
|
||||||
|
## COSTAR - Confirm Object Sentiment Transform and Reduce
|
||||||
|
PF_COSTAR_ENABLED=false
|
||||||
|
|
||||||
|
# Media
|
||||||
|
MEDIA_EXIF_DATABASE=false
|
||||||
|
|
||||||
|
## Logging
|
||||||
|
LOG_CHANNEL=stderr
|
||||||
|
|
||||||
|
## Image
|
||||||
|
IMAGE_DRIVER=imagick
|
||||||
|
|
||||||
|
## Broadcasting
|
||||||
|
BROADCAST_DRIVER=log
|
||||||
|
|
||||||
|
## Cache
|
||||||
|
CACHE_DRIVER=redis
|
||||||
|
|
||||||
|
## Purify
|
||||||
|
RESTRICT_HTML_TYPES=true
|
||||||
|
|
||||||
|
## Queue
|
||||||
|
QUEUE_DRIVER=redis
|
||||||
|
|
||||||
|
## Session
|
||||||
|
SESSION_DRIVER=redis
|
||||||
|
|
||||||
|
## Passport
|
||||||
|
#PASSPORT_PRIVATE_KEY=
|
||||||
|
#PASSPORT_PUBLIC_KEY=
|
86
stack_pixelfed.yaml
Normal file
86
stack_pixelfed.yaml
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
pixelfed-redis:
|
||||||
|
image: redis
|
||||||
|
container_name: pixelfed-redis
|
||||||
|
hostname: pixelfed-redis
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
|
||||||
|
user: 1035:100
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/pixelfed/redis:/data
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
pixelfed-db:
|
||||||
|
image: postgres
|
||||||
|
container_name: pixelfed-db
|
||||||
|
hostname: pixelfed-db
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-q", "-d", "pixelfeddb", "-U", "pixelfed"]
|
||||||
|
timeout: 45s
|
||||||
|
interval: 10s
|
||||||
|
retries: 10
|
||||||
|
user: 1035:100
|
||||||
|
env_file:
|
||||||
|
- stack.env
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/pixelfed/db:/var/lib/postgresql/data
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
pixelfed-web:
|
||||||
|
image: quay.io/zknt/pixelfed:latest
|
||||||
|
container_name: pixelfed-web
|
||||||
|
hostname: pixelfed-web
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: stat /etc/passwd || exit 1
|
||||||
|
env_file:
|
||||||
|
- stack.env
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/pixelfed/storage:/var/www/storage
|
||||||
|
- app-bootstrap:/var/www/bootstrap
|
||||||
|
ports:
|
||||||
|
- 9750:80
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
pixelfed-db:
|
||||||
|
condition: service_started
|
||||||
|
pixelfed-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
|
pixelfed-worker:
|
||||||
|
image: quay.io/zknt/pixelfed:latest
|
||||||
|
container_name: pixelfed-worker
|
||||||
|
hostname: pixelfed-worker
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: php artisan horizon:status | grep running
|
||||||
|
interval: 60s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 1
|
||||||
|
env_file:
|
||||||
|
- stack.env
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/pixelfed/storage:/var/www/storage
|
||||||
|
- app-bootstrap:/var/www/bootstrap
|
||||||
|
restart: always
|
||||||
|
entrypoint: /worker-entrypoint.sh
|
||||||
|
depends_on:
|
||||||
|
pixelfed-db:
|
||||||
|
condition: service_started
|
||||||
|
pixelfed-redis:
|
||||||
|
condition: service_healthy
|
||||||
|
pixelfed-web:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
app-bootstrap:
|
38
stack_writefreely.yaml
Normal file
38
stack_writefreely.yaml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
version: "3.9"
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mariadb:jammy
|
||||||
|
container_name: writefreely-db
|
||||||
|
hostname: writefreely-db
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=rootpw 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; }
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
- MYSQL_ROOT_PASSWORD=rootpw
|
||||||
|
- MYSQL_DATABASE=writefreely
|
||||||
|
- MYSQL_USER=writefreely
|
||||||
|
- MYSQL_PASSWORD=writefreelypw
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/writefreely/db:/var/lib/mysql:rw
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
writefreely:
|
||||||
|
image: algernon/writefreely:latest
|
||||||
|
container_name: writefreely
|
||||||
|
hostname: writefreely
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
user: 1035:100
|
||||||
|
ports:
|
||||||
|
- 9800:8080
|
||||||
|
volumes:
|
||||||
|
- /volume1/docker/writefreely/data:/data
|
||||||
|
environment:
|
||||||
|
- WRITEFREELY_SITE_NAME=WriteFreely
|
||||||
|
- WRITEFREELY_HOST=https://writefreely.my.tld
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_started
|
Loading…
Add table
Reference in a new issue