Created
February 19, 2025 03:14
-
-
Save ahmed2m/be37ee1d03b79278b34711f4ea3b333c to your computer and use it in GitHub Desktop.
My self-hosted setup
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3.5' | |
services: | |
jellyfin: | |
image: lscr.io/linuxserver/jellyfin:latest | |
container_name: jellyfin | |
environment: | |
- PUID=1001 | |
- PGID=1001 | |
- TZ=America/Edmonton | |
volumes: | |
- ./jellyconfig:/config | |
- /home/ubuntu/A:/data/A | |
- /home/ubuntu/B:/data/B | |
- /mnt/vol1:/data/external | |
- /mnt/vol2:/data/pcloud | |
- /home/ubuntu/downloads:/data/downloads | |
ports: | |
- 8096:8096 | |
restart: unless-stopped | |
networks: | |
- mynetwork | |
filebrowser: | |
image: hurlenko/filebrowser | |
container_name: filebrowser | |
user: "1001:1001" | |
ports: | |
- "8090:8080" | |
volumes: | |
- /home/ubuntu:/data | |
- /mnt/vol1:/data/external | |
- /mnt/vol2:/data/pcloud | |
- ./filebrowser-config:/config | |
environment: | |
- FB_BASEURL=/filebrowser | |
restart: unless-stopped | |
networks: | |
- mynetwork | |
pyload-ng: | |
image: lscr.io/linuxserver/pyload-ng:latest | |
container_name: pyload-ng | |
environment: | |
- PUID=1001 | |
- PGID=1001 | |
- TZ=America/Edmonton | |
volumes: | |
- ./pyloadconfig:/config | |
- /home/ubuntu/downloads:/downloads | |
ports: | |
- "8000:8000" | |
- "9666:9666" | |
restart: unless-stopped | |
networks: | |
- mynetwork | |
- warp_socks | |
audiobookshelf: | |
image: ghcr.io/advplyr/audiobookshelf:latest | |
container_name: audiobookshelf | |
ports: | |
- 13378:80 | |
volumes: | |
- /home/ubuntu/Audio/books:/audiobooks | |
- /home/ubuntu/Audio/podcasts:/podcasts | |
- ./audiobookshelf-config:/config | |
- ./audiobookshelf-metadata:/metadata | |
environment: | |
- TZ=America/Edmonton | |
restart: unless-stopped | |
networks: | |
- mynetwork | |
syncthing: | |
image: syncthing/syncthing | |
container_name: syncthing | |
hostname: my-syncthing | |
environment: | |
- PUID=1001 | |
- PGID=1001 | |
volumes: | |
- /mnt/vol1/sync:/var/syncthing | |
ports: | |
- 8384:8384 # Web UI | |
- 22000:22000/tcp # TCP file transfers | |
- 22000:22000/udp # QUIC file transfers | |
- 21027:21027/udp # Receive local discovery broadcasts | |
restart: unless-stopped | |
networks: | |
- mynetwork | |
actual_server: | |
image: docker.io/actualbudget/actual-server:latest | |
ports: | |
- '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: | |
- /mnt/vol1/actual-data:/data | |
networks: | |
- mynetwork | |
restart: unless-stopped | |
nginx: | |
image: steveltn/https-portal:1.22.1 | |
container_name: nginx | |
depends_on: | |
- jellyfin | |
- filebrowser | |
- pyload-ng | |
- audiobookshelf | |
environment: | |
DOMAINS: > | |
jelly.mydomain.com -> http://jellyfin:8096, | |
file.mydomain.com -> http://filebrowser:8080, | |
pyload.mydomain.com -> http://pyload-ng:8000, | |
chat.mydomain.com -> http://LibreChat-API:3080/, | |
audio.mydomain.com -> http://audiobookshelf:80, | |
sync.mydomain.com -> http://syncthing:8384, | |
actual.mydomain.com -> http://actual_server:5006, | |
CLIENT_MAX_BODY_SIZE: 0 | |
STAGE: "production" | |
WEBSOCKET: "true" | |
networks: | |
- librechat_default | |
- mynetwork | |
volumes: | |
- static_storage:/data/https-portal/vhosts/django_static/:rw | |
- media_storage:/data/https-portal/vhosts/django_media/:rw | |
- https-portal-data:/var/lib/https-portal | |
ports: | |
- "80:80" | |
- "443:443" | |
networks: | |
mynetwork: | |
external: true | |
librechat_default: | |
external: true | |
volumes: | |
static_storage: {} | |
media_storage: {} | |
https-portal-data: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment