init
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
# Only manually added files
|
||||||
|
*
|
||||||
|
|
||||||
|
!.gitignore
|
||||||
|
!*/compose.yaml
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
services:
|
||||||
|
jellyfin:
|
||||||
|
image: jellyfin/jellyfin:latest
|
||||||
|
container_name: jellyfin
|
||||||
|
volumes:
|
||||||
|
- ./config:/config
|
||||||
|
- ./cache:/cache
|
||||||
|
- type: bind
|
||||||
|
target: /media
|
||||||
|
source: ./media_mount
|
||||||
|
- type: bind
|
||||||
|
source: ./jellyfin-media-remote
|
||||||
|
target: /media_remote
|
||||||
|
bind:
|
||||||
|
propagation: shared
|
||||||
|
- ./media:/media_old:ro
|
||||||
|
- ./fonts:/usr/local/share/fonts/custom:ro
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- JELLYFIN_PublishedServerUrl=https://jelly.foxgirls.date
|
||||||
|
- TZ=Europe/Warsaw
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 3
|
||||||
|
start_period: 30s
|
||||||
|
networks:
|
||||||
|
- reverse_proxy_default
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "50m"
|
||||||
|
max-file: "3"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
reverse_proxy_default:
|
||||||
|
external: true
|
||||||
|
volumes:
|
||||||
|
jellyfin-media:
|
||||||
|
driver: local
|
||||||
|
driver_opts:
|
||||||
|
type: "ext4"
|
||||||
|
device: "/home/debian/jellyfin/media_mount"
|
||||||
|
o: "bind"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
FROM nextcloud:34.0.1-apache
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y --no-install-recommends ffmpeg && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
|
||||||
|
services:
|
||||||
|
nextcloud-app:
|
||||||
|
build: .
|
||||||
|
container_name: nextcloud_app
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./nextcloud_data:/var/www/html
|
||||||
|
environment:
|
||||||
|
- POSTGRES_HOST=synapse-postgres-1 # Change to your Postgres IP/Hostname
|
||||||
|
- POSTGRES_DB=${DB_NAME} # Your Postgres DB name
|
||||||
|
- POSTGRES_USER=${DB_UNAME} # Your Postgres user
|
||||||
|
- POSTGRES_PASSWORD=${DB_PASS} # Your Postgres password
|
||||||
|
|
||||||
|
- REDIS_HOST=nextcloud-redis
|
||||||
|
- REDIS_HOST_PASSWORD=${REDIS_PASS}
|
||||||
|
|
||||||
|
- NEXTCLOUD_TEMP_DIRECTORY=/var/www/html/data/tmp
|
||||||
|
|
||||||
|
- OBJECTSTORE_S3_HOST=s3.eu-central-003.backblazeb2.com
|
||||||
|
- OBJECTSTORE_S3_REGION=eu-central-003
|
||||||
|
- OBJECTSTORE_S3_BUCKET=${BUCKET_NAME}
|
||||||
|
- OBJECTSTORE_S3_KEY=${BUCKET_AKEY}
|
||||||
|
- OBJECTSTORE_S3_SECRET=${BUCKET_SECRET}
|
||||||
|
- OBJECTSTORE_S3_PORT=443
|
||||||
|
- OBJECTSTORE_S3_SSL=true
|
||||||
|
- OBJECTSTORE_S3_USEPATHSTYLE=false
|
||||||
|
depends_on:
|
||||||
|
- nextcloud-redis
|
||||||
|
networks:
|
||||||
|
- postgre-general
|
||||||
|
- nextcloud-network
|
||||||
|
- reverse_proxy_default
|
||||||
|
|
||||||
|
nextcloud-redis:
|
||||||
|
image: redis:alpine # Essential for file locking, uses almost no RAM (~20MB)
|
||||||
|
container_name: nextcloud_redis
|
||||||
|
restart: unless-stopped
|
||||||
|
command: redis-server --requirepass ${REDIS_PASS}
|
||||||
|
networks:
|
||||||
|
- nextcloud-network
|
||||||
|
|
||||||
|
nextcloud-cron:
|
||||||
|
image: nextcloud:latest
|
||||||
|
container_name: nextcloud_cron
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ./nextcloud_data:/var/www/html
|
||||||
|
entrypoint: /cron.sh
|
||||||
|
depends_on:
|
||||||
|
- nextcloud-app
|
||||||
|
networks:
|
||||||
|
- nextcloud-network
|
||||||
|
- postgre-general
|
||||||
|
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nextcloud-network:
|
||||||
|
postgre-general:
|
||||||
|
external: true
|
||||||
|
reverse_proxy_default:
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: 'jc21/nginx-proxy-manager:latest'
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
TZ: "UTC"
|
||||||
|
initialAdminEmail: ${INIT_EMAIL}
|
||||||
|
initialAdminPassword: ${INIT_PASS}
|
||||||
|
ports:
|
||||||
|
- '80:80'
|
||||||
|
- '443:443'
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./letsencrypt:/etc/letsencrypt
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "50m"
|
||||||
|
max-file: "3"
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#start proxy
|
||||||
|
docker compose -f ~/reverse_proxy/compose.yaml up -d
|
||||||
|
|
||||||
|
#start kuma
|
||||||
|
cd ~/uptime-kuma
|
||||||
|
docker compose -f ~/uptime-kuma/compose.yaml up -d
|
||||||
|
|
||||||
|
#create palworl server, don't start it
|
||||||
|
docker compose -f ~/palworld/compose.yaml up --no-start -d
|
||||||
|
|
||||||
|
#create matrix server and database
|
||||||
|
docker compose ~/docker/synapse/compose.yaml up -d
|
||||||
|
|
||||||
|
#start jellyfin
|
||||||
|
if [[ ! -d ~/jellyfin/jellyfin-media-remote/foxgirls-jelly ]] ; then
|
||||||
|
printf "Warning: Jellyfin B2 bucket not mounted\n"
|
||||||
|
fi
|
||||||
|
docker compose -f ~/jellyfin/compose.yaml up -d
|
||||||
|
|
||||||
|
#start home page
|
||||||
|
docker compose -f ~/homepage/compose.yaml up -d
|
||||||
|
|
||||||
|
#start gitea
|
||||||
|
#todo?: make sure database exists
|
||||||
|
docker compose -f ~/gitea/compose.yaml up -d
|
||||||
|
|
||||||
|
#start nextcloud
|
||||||
|
#todo?: make sure database exists
|
||||||
|
docker compose -f ~/nextcloud/compose.yaml up -d
|
||||||
Reference in New Issue
Block a user