diff --git a/assets/Friday, 26 Jul 2024 19:06:55.png b/assets/Friday, 26 Jul 2024 19:06:55.png deleted file mode 100644 index 4caa8b1..0000000 Binary files a/assets/Friday, 26 Jul 2024 19:06:55.png and /dev/null differ diff --git a/assets/Saturday, 27 Jul 2024 16:05:06.png b/assets/Saturday, 27 Jul 2024 16:05:06.png deleted file mode 100644 index 8d1f79d..0000000 Binary files a/assets/Saturday, 27 Jul 2024 16:05:06.png and /dev/null differ diff --git a/assets/Wednesday, 24 Jul 2024 19:03:21.png b/assets/Wednesday, 24 Jul 2024 19:03:21.png deleted file mode 100644 index 295842a..0000000 Binary files a/assets/Wednesday, 24 Jul 2024 19:03:21.png and /dev/null differ diff --git a/assets/Wednesday, 24 Jul 2024 19:03:36.png b/assets/Wednesday, 24 Jul 2024 19:03:36.png deleted file mode 100644 index c21b7d1..0000000 Binary files a/assets/Wednesday, 24 Jul 2024 19:03:36.png and /dev/null differ diff --git a/assets/Wednesday, 24 Jul 2024 19:03:52.png b/assets/Wednesday, 24 Jul 2024 19:03:52.png deleted file mode 100644 index ac6dab0..0000000 Binary files a/assets/Wednesday, 24 Jul 2024 19:03:52.png and /dev/null differ diff --git a/assets/Wednesday, 24 Jul 2024 19:04:06.png b/assets/Wednesday, 24 Jul 2024 19:04:06.png deleted file mode 100644 index b5bb551..0000000 Binary files a/assets/Wednesday, 24 Jul 2024 19:04:06.png and /dev/null differ diff --git a/assets/audobookshelf.png b/assets/audobookshelf.png deleted file mode 100644 index c193884..0000000 Binary files a/assets/audobookshelf.png and /dev/null differ diff --git a/assets/bookstack.png b/assets/bookstack.png deleted file mode 100644 index 976a928..0000000 Binary files a/assets/bookstack.png and /dev/null differ diff --git a/assets/freshrss.png b/assets/freshrss.png deleted file mode 100644 index 723e023..0000000 Binary files a/assets/freshrss.png and /dev/null differ diff --git a/assets/grafana.png b/assets/grafana.png deleted file mode 100644 index e0905e9..0000000 Binary files a/assets/grafana.png and /dev/null differ diff --git a/assets/pihole.png b/assets/pihole.png deleted file mode 100644 index d8bd859..0000000 Binary files a/assets/pihole.png and /dev/null differ diff --git a/vps/README.md b/lxc/README.md similarity index 100% rename from vps/README.md rename to lxc/README.md diff --git a/lxc/gitea/README.md b/lxc/gitea/README.md new file mode 100644 index 0000000..b8960c5 --- /dev/null +++ b/lxc/gitea/README.md @@ -0,0 +1,5 @@ +# Self-hosted Gitea + +I self-host Gitea for personal and private projects. I have a couple of orgs on there where I can share projects, however most of the stuff I do there is just for me if and until I want to share those on GitHub. + +You can find my config over at [app.ini](app.ini). \ No newline at end of file diff --git a/lxc/gitea/app.ini b/lxc/gitea/app.ini new file mode 100644 index 0000000..64ca8c4 --- /dev/null +++ b/lxc/gitea/app.ini @@ -0,0 +1,67 @@ + +RUN_MODE = prod + +[database] +NAME = # dbname +USER = # dbname +PASSWD = # password +LOG_SQL = false +DB_TYPE = # usually sql +HOST = # host ip +SCHEMA = +SSL_MODE = disable +PATH = /home/git/data/gitea.db + +[server] + +PROTOCOL = unix +ROOT_URL = # or your own domain +HTTP_ADDR = /home/git/run/gitea.sock +UNIX_SOCKET_PERMISSION = 666 +APP_DATA_PATH = /home/git/data +DISABLE_SSH = false +SSH_PORT = 22 +LFS_START_SERVER = true +LFS_JWT_SECRET = # token +OFFLINE_MODE = false + +[markup.restructuredtext] +ENABLED = true +FILE_EXTENSIONS = .rst +RENDER_COMMAND = rst2html +IS_INPUT_FILE = false +ALLOW_ONLY_EXTERNAL_REGISTRATION = false +ENABLE_CAPTCHA = false +REQUIRE_SIGNIN_VIEW = false +DEFAULT_KEEP_EMAIL_PRIVATE = true +DEFAULT_ALLOW_CREATE_ORGANIZATION = true +WORK_PATH = /home/ +NO_REPLY_ADDRESS = noreply@ + +[openid] +ENABLE_OPENID_SIGNUP = true + +[cron.update_checker] +ENABLED = false + +[session] +PROVIDER = file + +[log] +MODE = console +LEVEL = info +ROOT_PATH = /home/git/log + +[repository.pull-request] +DEFAULT_MERGE_STYLE = merge + +[repository.signing] +DEFAULT_TRUST_MODEL = committer + +[security] +INSTALL_LOCK = true +INTERNAL_TOKEN = #token +PASSWORD_HASH_ALGO = # algo + +[oauth2] +JWT_SECRET = # token \ No newline at end of file diff --git a/pikapods/audiobookshelf/docker-compose.yaml b/pikapods/audiobookshelf/docker-compose.yaml deleted file mode 100644 index e84a662..0000000 --- a/pikapods/audiobookshelf/docker-compose.yaml +++ /dev/null @@ -1,12 +0,0 @@ -services: - audiobookshelf: - image: ghcr.io/advplyr/audiobookshelf:latest - ports: - - 13378:80 - volumes: - - ./audiobooks:/audiobooks - - ./podcasts:/podcasts - - ./config:/config - - ./metadata:/metadata - environment: - - TZ=America/New_York \ No newline at end of file diff --git a/portainer/README.md b/portainer/README.md index 5c0c257..67fdcfb 100644 --- a/portainer/README.md +++ b/portainer/README.md @@ -3,8 +3,4 @@ > [!NOTE]\ > This is a work in progress. I will be placing configs and yaml files and docker compose files, etc in here once I get a better feel for Portainer and how it works. - -> [!WARNING]\ -> **I AM NO LONGER USING PORTAINER** -> -> Portainer, while easy to use, is not a good option once you get your feet wet. Learn how to use Docker Compose and the command line. Trust me, it will be beneficial to you in the long run. \ No newline at end of file + diff --git a/proxmox/actualbudget/README.md b/proxmox/actualbudget/README.md deleted file mode 100644 index d8d0c6c..0000000 --- a/proxmox/actualbudget/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# ActualBudget lxc - diff --git a/proxmox/cloudflared/README.md b/proxmox/cloudflared/README.md index 72b9cea..e69de29 100644 --- a/proxmox/cloudflared/README.md +++ b/proxmox/cloudflared/README.md @@ -1 +0,0 @@ -# Cloudflared lxcs \ No newline at end of file diff --git a/proxmox/flaresolverr/README.md b/proxmox/flaresolverr/README.md deleted file mode 100644 index 84f8403..0000000 --- a/proxmox/flaresolverr/README.md +++ /dev/null @@ -1 +0,0 @@ -# Flaresolverr lxc \ No newline at end of file diff --git a/proxmox/forgejo/README.md b/proxmox/forgejo/README.md deleted file mode 100644 index 8c78f2c..0000000 --- a/proxmox/forgejo/README.md +++ /dev/null @@ -1 +0,0 @@ -# Forgejo lxc \ No newline at end of file diff --git a/proxmox/influxdb/README.md b/proxmox/influxdb/README.md deleted file mode 100644 index 8df731c..0000000 --- a/proxmox/influxdb/README.md +++ /dev/null @@ -1 +0,0 @@ -# InfluxDB lxc \ No newline at end of file diff --git a/proxmox/pihole/README.md b/proxmox/pihole/README.md deleted file mode 100644 index 44308e1..0000000 --- a/proxmox/pihole/README.md +++ /dev/null @@ -1 +0,0 @@ -# Pi-hole lxc \ No newline at end of file diff --git a/proxmox/prometheus/README.md b/proxmox/prometheus/README.md deleted file mode 100644 index fb4fd07..0000000 --- a/proxmox/prometheus/README.md +++ /dev/null @@ -1 +0,0 @@ -# Prometheus lxc \ No newline at end of file diff --git a/vps/server-1/README.md b/proxmox/qbittorrent/README.md similarity index 100% rename from vps/server-1/README.md rename to proxmox/qbittorrent/README.md diff --git a/ubuntu/docker/qbittorrent/qbittorrent.sh b/proxmox/qbittorrent/qbittorrent.sh similarity index 100% rename from ubuntu/docker/qbittorrent/qbittorrent.sh rename to proxmox/qbittorrent/qbittorrent.sh diff --git a/vps/server-1/coolify/README.md b/proxmox/ubuntu/README.md similarity index 100% rename from vps/server-1/coolify/README.md rename to proxmox/ubuntu/README.md diff --git a/ubuntu/docker/README.md b/proxmox/ubuntu/docker/README.md similarity index 100% rename from ubuntu/docker/README.md rename to proxmox/ubuntu/docker/README.md diff --git a/ubuntu/docker/haproxy/Dockerfile b/proxmox/ubuntu/docker/haproxy/Dockerfile similarity index 100% rename from ubuntu/docker/haproxy/Dockerfile rename to proxmox/ubuntu/docker/haproxy/Dockerfile diff --git a/ubuntu/docker/haproxy/README.md b/proxmox/ubuntu/docker/haproxy/README.md similarity index 100% rename from ubuntu/docker/haproxy/README.md rename to proxmox/ubuntu/docker/haproxy/README.md diff --git a/ubuntu/docker/homepage/README.md b/proxmox/ubuntu/docker/homepage/README.md similarity index 100% rename from ubuntu/docker/homepage/README.md rename to proxmox/ubuntu/docker/homepage/README.md diff --git a/ubuntu/docker/homepage/config/bookmarks.yaml b/proxmox/ubuntu/docker/homepage/config/bookmarks.yaml similarity index 96% rename from ubuntu/docker/homepage/config/bookmarks.yaml rename to proxmox/ubuntu/docker/homepage/config/bookmarks.yaml index bc68588..3645fec 100644 --- a/ubuntu/docker/homepage/config/bookmarks.yaml +++ b/proxmox/ubuntu/docker/homepage/config/bookmarks.yaml @@ -36,7 +36,7 @@ description: Vercel - Cloudron: - icon: si-cloudron-#03A9F4 - href: https://console.cloudron.io/ + href: https://console.cloudron.io/#/cloudron/94ea2702-ac33-4b80-a81a-b4af56df058e description: Cloudron - Documentation: diff --git a/ubuntu/docker/homepage/config/custom.css b/proxmox/ubuntu/docker/homepage/config/custom.css similarity index 100% rename from ubuntu/docker/homepage/config/custom.css rename to proxmox/ubuntu/docker/homepage/config/custom.css diff --git a/ubuntu/docker/homepage/config/custom.js b/proxmox/ubuntu/docker/homepage/config/custom.js similarity index 100% rename from ubuntu/docker/homepage/config/custom.js rename to proxmox/ubuntu/docker/homepage/config/custom.js diff --git a/ubuntu/docker/homepage/config/docker.yaml b/proxmox/ubuntu/docker/homepage/config/docker.yaml similarity index 100% rename from ubuntu/docker/homepage/config/docker.yaml rename to proxmox/ubuntu/docker/homepage/config/docker.yaml diff --git a/ubuntu/docker/homepage/config/kubernetes.yaml b/proxmox/ubuntu/docker/homepage/config/kubernetes.yaml similarity index 100% rename from ubuntu/docker/homepage/config/kubernetes.yaml rename to proxmox/ubuntu/docker/homepage/config/kubernetes.yaml diff --git a/ubuntu/docker/homepage/config/services.yaml b/proxmox/ubuntu/docker/homepage/config/services.yaml similarity index 100% rename from ubuntu/docker/homepage/config/services.yaml rename to proxmox/ubuntu/docker/homepage/config/services.yaml diff --git a/ubuntu/docker/homepage/config/settings.yaml b/proxmox/ubuntu/docker/homepage/config/settings.yaml similarity index 100% rename from ubuntu/docker/homepage/config/settings.yaml rename to proxmox/ubuntu/docker/homepage/config/settings.yaml diff --git a/ubuntu/docker/homepage/config/widgets.yaml b/proxmox/ubuntu/docker/homepage/config/widgets.yaml similarity index 100% rename from ubuntu/docker/homepage/config/widgets.yaml rename to proxmox/ubuntu/docker/homepage/config/widgets.yaml diff --git a/ubuntu/docker/homepage/docker-compose.yaml b/proxmox/ubuntu/docker/homepage/docker-compose.yaml similarity index 100% rename from ubuntu/docker/homepage/docker-compose.yaml rename to proxmox/ubuntu/docker/homepage/docker-compose.yaml diff --git a/ubuntu/docker/homepage/homepage.sh b/proxmox/ubuntu/docker/homepage/homepage.sh similarity index 100% rename from ubuntu/docker/homepage/homepage.sh rename to proxmox/ubuntu/docker/homepage/homepage.sh diff --git a/proxmox/ubuntu/docker/homepage/icons/htbavatar.png b/proxmox/ubuntu/docker/homepage/icons/htbavatar.png new file mode 100644 index 0000000..b3336b4 Binary files /dev/null and b/proxmox/ubuntu/docker/homepage/icons/htbavatar.png differ diff --git a/proxmox/ubuntu/docker/homepage/icons/labsn.svg b/proxmox/ubuntu/docker/homepage/icons/labsn.svg new file mode 100644 index 0000000..0c057a8 --- /dev/null +++ b/proxmox/ubuntu/docker/homepage/icons/labsn.svg @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/proxmox/ubuntu/docker/homepage/icons/linode-icon.svg b/proxmox/ubuntu/docker/homepage/icons/linode-icon.svg new file mode 100644 index 0000000..248a199 --- /dev/null +++ b/proxmox/ubuntu/docker/homepage/icons/linode-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/proxmox/ubuntu/docker/homepage/icons/linode.png b/proxmox/ubuntu/docker/homepage/icons/linode.png new file mode 100644 index 0000000..888479b Binary files /dev/null and b/proxmox/ubuntu/docker/homepage/icons/linode.png differ diff --git a/proxmox/ubuntu/docker/homepage/icons/materialformkdocs.svg b/proxmox/ubuntu/docker/homepage/icons/materialformkdocs.svg new file mode 100644 index 0000000..ba7047b --- /dev/null +++ b/proxmox/ubuntu/docker/homepage/icons/materialformkdocs.svg @@ -0,0 +1 @@ +Material for MkDocs \ No newline at end of file diff --git a/proxmox/ubuntu/docker/homepage/icons/tcm-logo.png b/proxmox/ubuntu/docker/homepage/icons/tcm-logo.png new file mode 100644 index 0000000..3dbb741 Binary files /dev/null and b/proxmox/ubuntu/docker/homepage/icons/tcm-logo.png differ diff --git a/proxmox/ubuntu/docker/homepage/icons/tcm-logo.svg b/proxmox/ubuntu/docker/homepage/icons/tcm-logo.svg new file mode 100644 index 0000000..aa2b4c7 --- /dev/null +++ b/proxmox/ubuntu/docker/homepage/icons/tcm-logo.svg @@ -0,0 +1,7 @@ + + + tcm-logo + + + + \ No newline at end of file diff --git a/proxmox/ubuntu/docker/homepage/icons/tifflabs.svg b/proxmox/ubuntu/docker/homepage/icons/tifflabs.svg new file mode 100644 index 0000000..e0c2d17 --- /dev/null +++ b/proxmox/ubuntu/docker/homepage/icons/tifflabs.svg @@ -0,0 +1,7 @@ + + + 1 + + + + \ No newline at end of file diff --git a/proxmox/ubuntu/docker/homepage/icons/tifflabsgit.png b/proxmox/ubuntu/docker/homepage/icons/tifflabsgit.png new file mode 100644 index 0000000..a50eb98 Binary files /dev/null and b/proxmox/ubuntu/docker/homepage/icons/tifflabsgit.png differ diff --git a/ubuntu/ubuntu.sh b/proxmox/ubuntu/ubuntu.sh similarity index 100% rename from ubuntu/ubuntu.sh rename to proxmox/ubuntu/ubuntu.sh diff --git a/proxmox/umami/README.md b/proxmox/umami/README.md deleted file mode 100644 index 0e2bc1a..0000000 --- a/proxmox/umami/README.md +++ /dev/null @@ -1 +0,0 @@ -# Umami lxc \ No newline at end of file diff --git a/proxmox/wastebin/README.md b/proxmox/wastebin/README.md deleted file mode 100644 index 097566a..0000000 --- a/proxmox/wastebin/README.md +++ /dev/null @@ -1 +0,0 @@ -# Wastebin lxc \ No newline at end of file diff --git a/proxmox/whoogle/README.md b/proxmox/whoogle/README.md deleted file mode 100644 index a5bfbe3..0000000 --- a/proxmox/whoogle/README.md +++ /dev/null @@ -1 +0,0 @@ -# Whoogle lxc diff --git a/proxmox/wikijs/README.md b/proxmox/wikijs/README.md new file mode 100644 index 0000000..532e8fa --- /dev/null +++ b/proxmox/wikijs/README.md @@ -0,0 +1,8 @@ +# Wiki.js Script + +> [!WARNING]\ +> Always make sure you vet the scripts you install from anywhere on the internet! + +You can install the script directly from this link: + +- [Proxmox VE Helper Scripts](https://tteck.github.io/Proxmox/) \ No newline at end of file diff --git a/proxmox/wikijs/wiki-js.sh b/proxmox/wikijs/wiki-js.sh new file mode 100644 index 0000000..48a10ee --- /dev/null +++ b/proxmox/wikijs/wiki-js.sh @@ -0,0 +1,83 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 tteck +# Author: tteck (tteckster) +# License: MIT +# https://github.com/tteck/Proxmox/raw/main/LICENSE + +source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y curl +$STD apt-get install -y sudo +$STD apt-get install -y mc +$STD apt-get install -y git +$STD apt-get install -y ca-certificates +$STD apt-get install -y gnupg +msg_ok "Installed Dependencies" + +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + +msg_info "Installing Wiki.js" +mkdir -p /opt/wikijs +cd /opt/wikijs +$STD wget https://github.com/Requarks/wiki/releases/latest/download/wiki-js.tar.gz +tar xzf wiki-js.tar.gz +rm wiki-js.tar.gz + +cat </opt/wikijs/config.yml +bindIP: 0.0.0.0 +port: 3000 +db: + type: sqlite + storage: /opt/wikijs/db.sqlite +logLevel: info +logFormat: default +dataPath: /opt/wikijs/data +bodyParserLimit: 5mb +EOF +$STD npm rebuild sqlite3 +msg_ok "Installed Wiki.js" + +msg_info "Creating Service" +service_path="/etc/systemd/system/wikijs.service" + +echo "[Unit] +Description=Wiki.js +After=network.target + +[Service] +Type=simple +ExecStart=/usr/bin/node server +Restart=always +User=root +Environment=NODE_ENV=production +WorkingDirectory=/opt/wikijs + +[Install] +WantedBy=multi-user.target" >$service_path +$STD systemctl enable --now wikijs +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get autoremove +$STD apt-get autoclean +msg_ok "Cleaned" \ No newline at end of file diff --git a/ubuntu/README.md b/ubuntu/README.md deleted file mode 100644 index eca6821..0000000 --- a/ubuntu/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Ubuntu VMs Inside of Proxmox - -These days, I have figured out that if I need privileged access to a container, an LXC is not the best choice. For instance, if I want to add storage to a container, it is almost impossible to do so with an LXC without making the container a privleged container which comes with security implications that I don't want to manage. - -So now I run mission-critical services in Ubuntu VMs on Proxmox. I do not use the tteck's scripts for this; I download an ISO file and upload it to storage on Proxmox and create the VM from scratch. - -## Difficult to manage publically shared services - -For services I want to share publicly that are a real pita to setup and run on my home server, I use [PikaPods](https://pikapods.com). Yes, it costs money, but I've been running Audiobookshelf for a month now on an initial $5 top up. It's a pittance for such a wonderful service, and each "Pod" has a different price for usage. They don't keep your data and the funds go directly to the open source developers apps you are using. \ No newline at end of file diff --git a/ubuntu/docker/authentik/.env.example b/ubuntu/docker/authentik/.env.example deleted file mode 100644 index 763c07e..0000000 --- a/ubuntu/docker/authentik/.env.example +++ /dev/null @@ -1 +0,0 @@ -# You environment variables go here \ No newline at end of file diff --git a/ubuntu/docker/authentik/docker-compose.yml b/ubuntu/docker/authentik/docker-compose.yml deleted file mode 100644 index 572be32..0000000 --- a/ubuntu/docker/authentik/docker-compose.yml +++ /dev/null @@ -1,86 +0,0 @@ ---- -version: "3.4" - -services: - postgresql: - image: docker.io/library/postgres:12-alpine - restart: unless-stopped - healthcheck: - test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] - start_period: 20s - interval: 30s - retries: 5 - timeout: 5s - volumes: - - database:/var/lib/postgresql/data - environment: - POSTGRES_PASSWORD: ${PG_PASS:?database password required} - POSTGRES_USER: ${PG_USER:-authentik} - POSTGRES_DB: ${PG_DB:-authentik} - env_file: - - .env - redis: - image: docker.io/library/redis:alpine - command: --save 60 1 --loglevel warning - restart: unless-stopped - healthcheck: - test: ["CMD-SHELL", "redis-cli ping | grep PONG"] - start_period: 20s - interval: 30s - retries: 5 - timeout: 3s - volumes: - - redis:/data - server: - image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.2.2} - restart: unless-stopped - command: server - environment: - AUTHENTIK_REDIS__HOST: redis - AUTHENTIK_POSTGRESQL__HOST: postgresql - AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} - AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} - AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} - volumes: - - ./media:/media - - ./custom-templates:/templates - env_file: - - .env - ports: - - "${COMPOSE_PORT_HTTP:-9000}:9000" - - "${COMPOSE_PORT_HTTPS:-9443}:9443" - depends_on: - - postgresql - - redis - worker: - image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.2.2} - restart: unless-stopped - command: worker - environment: - AUTHENTIK_REDIS__HOST: redis - AUTHENTIK_POSTGRESQL__HOST: postgresql - AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik} - AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik} - AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS} - # `user: root` and the docker socket volume are optional. - # See more for the docker socket integration here: - # https://goauthentik.io/docs/outposts/integrations/docker - # Removing `user: root` also prevents the worker from fixing the permissions - # on the mounted folders, so when removing this make sure the folders have the correct UID/GID - # (1000:1000 by default) - user: root - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - ./media:/media - - ./certs:/certs - - ./custom-templates:/templates - env_file: - - .env - depends_on: - - postgresql - - redis -volumes: - database: - driver: local - redis: - driver: local diff --git a/ubuntu/docker/photoprism/docker-compose.yml b/ubuntu/docker/photoprism/docker-compose.yml deleted file mode 100644 index b591d24..0000000 --- a/ubuntu/docker/photoprism/docker-compose.yml +++ /dev/null @@ -1,166 +0,0 @@ -# Example Docker Compose config file for PhotoPrism (Linux / AMD64) -# -# Note: -# - Running PhotoPrism on a server with less than 4 GB of swap space or setting a memory/swap limit can cause unexpected -# restarts ("crashes"), for example, when the indexer temporarily needs more memory to process large files. -# - If you install PhotoPrism on a public server outside your home network, please always run it behind a secure -# HTTPS reverse proxy such as Traefik or Caddy. Your files and passwords will otherwise be transmitted -# in clear text and can be intercepted by anyone, including your provider, hackers, and governments: -# https://docs.photoprism.app/getting-started/proxies/traefik/ -# -# Setup Guides: -# - https://docs.photoprism.app/getting-started/docker-compose/ -# - https://docs.photoprism.app/getting-started/raspberry-pi/ -# - https://www.photoprism.app/kb/activation -# -# Troubleshooting Checklists: -# - https://docs.photoprism.app/getting-started/troubleshooting/ -# - https://docs.photoprism.app/getting-started/troubleshooting/docker/ -# - https://docs.photoprism.app/getting-started/troubleshooting/mariadb/ -# -# CLI Commands: -# - https://docs.photoprism.app/getting-started/docker-compose/#command-line-interface -# -# All commands may have to be prefixed with "sudo" when not running as root. -# This will point the home directory shortcut ~ to /root in volume mounts. - -services: - # traefik: - # image: traefik:v2.11 - # restart: unless-stopped - # ports: - # - "80:80" - # - "443:443" - # volumes: - # - "./traefik.yaml:/etc/traefik/traefik.yaml" - # - "./traefik/data:/data" - # - "/var/run/docker.sock:/var/run/docker.sock" - photoprism: - ## Use photoprism/photoprism:preview for testing preview builds: - image: photoprism/photoprism:latest - ## Don't enable automatic restarts until PhotoPrism has been properly configured and tested! - ## If the service gets stuck in a restart loop, this points to a memory, filesystem, network, or database issue: - ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors - # restart: unless-stopped - stop_grace_period: 10s - depends_on: - - mariadb - security_opt: - - seccomp:unconfined - - apparmor:unconfined - ## Server port mapping in the format "Host:Container". To use a different port, change the host port on - ## the left-hand side and keep the container port, e.g. "80:2342" (for HTTP) or "443:2342 (for HTTPS): - ports: - - "2342:2342" - # labels: - # - "traefik.http.routers.photoprism.rule=Host(`photos.tiff.ws`)" - # - "traefik.http.routers.photoprism.tls=true" - # - "traefik.http.routers.photoprism.tls.certresolver=myresolver" - ## Before you start the service, please check the following config options (and change them as needed): - ## https://docs.photoprism.app/getting-started/config-options/ - environment: - PHOTOPRISM_ADMIN_USER: "admin" # admin login username - PHOTOPRISM_ADMIN_PASSWORD: # initial admin password (8-72 characters) - PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password) - PHOTOPRISM_SITE_URL: # server URL in the format "http(s)://domain.name(:port)/(path)" - PHOTOPRISM_DISABLE_TLS: "false" # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available - PHOTOPRISM_DEFAULT_TLS: "true" # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available - PHOTOPRISM_ORIGINALS_LIMIT: 5000 # file size limit for originals in MB (increase for high-res video) - PHOTOPRISM_HTTP_COMPRESSION: "gzip" # improves transfer speed and bandwidth utilization (none or gzip) - PHOTOPRISM_LOG_LEVEL: "info" # log level: trace, debug, info, warning, error, fatal, or panic - PHOTOPRISM_READONLY: "false" # do not modify originals directory (reduced functionality) - PHOTOPRISM_EXPERIMENTAL: "false" # enables experimental features - PHOTOPRISM_DISABLE_CHOWN: "false" # disables updating storage permissions via chmod and chown on startup - PHOTOPRISM_DISABLE_WEBDAV: "false" # disables built-in WebDAV server - PHOTOPRISM_DISABLE_SETTINGS: "false" # disables settings UI and API - PHOTOPRISM_DISABLE_TENSORFLOW: "false" # disables all features depending on TensorFlow - PHOTOPRISM_DISABLE_FACES: "false" # disables face detection and recognition (requires TensorFlow) - PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # disables image classification (requires TensorFlow) - PHOTOPRISM_DISABLE_VECTORS: "false" # disables vector graphics support - PHOTOPRISM_DISABLE_RAW: "false" # disables indexing and conversion of RAW images - PHOTOPRISM_RAW_PRESETS: "false" # enables applying user presets when converting RAW images (reduces performance) - PHOTOPRISM_SIDECAR_YAML: "true" # creates YAML sidecar files to back up picture metadata - PHOTOPRISM_BACKUP_ALBUMS: "true" # creates YAML files to back up album metadata - PHOTOPRISM_BACKUP_DATABASE: "true" # creates regular backups based on the configured schedule - PHOTOPRISM_BACKUP_SCHEDULE: "daily" # backup SCHEDULE in cron format (e.g. "0 12 * * *" for daily at noon) or at a random time (daily, weekly) - PHOTOPRISM_INDEX_SCHEDULE: "" # indexing SCHEDULE in cron format (e.g. "@every 3h" for every 3 hours; "" to disable) - PHOTOPRISM_AUTO_INDEX: 300 # delay before automatically indexing files in SECONDS when uploading via WebDAV (-1 to disable) - PHOTOPRISM_AUTO_IMPORT: -1 # delay before automatically importing files in SECONDS when uploading via WebDAV (-1 to disable) - PHOTOPRISM_DETECT_NSFW: "false" # automatically flags photos as private that MAY be offensive (requires TensorFlow) - PHOTOPRISM_UPLOAD_NSFW: "true" # allows uploads that MAY be offensive (no effect without TensorFlow) - # PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that does not require a separate database server - PHOTOPRISM_DATABASE_DRIVER: "mysql" # MariaDB 10.5.12+ (MySQL successor) offers significantly better performance compared to SQLite - PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB database server (hostname:port) - PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB database schema name - PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB database user name - PHOTOPRISM_DATABASE_PASSWORD: # MariaDB database user password - PHOTOPRISM_SITE_CAPTION: #your caption goes here - PHOTOPRISM_SITE_DESCRIPTION: # meta site description - PHOTOPRISM_SITE_AUTHOR: # meta site author - ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/): - # PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi) - # PHOTOPRISM_FFMPEG_SIZE: "1920" # video size limit in pixels (720-7680) (default: 3840) - # PHOTOPRISM_FFMPEG_BITRATE: "32" # video bitrate limit in Mbit/s (default: 50) - ## Run/install on first startup (options: update https gpu ffmpeg tensorflow davfs clitools clean): - # PHOTOPRISM_INIT: "https gpu tensorflow" - ## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200): - # PHOTOPRISM_UID: 1000 - # PHOTOPRISM_GID: 1000 - # PHOTOPRISM_UMASK: 0000 - ## Start as non-root user before initialization (supported: 0, 33, 50-99, 500-600, and 900-1200): - # user: "1000:1000" - ## Share hardware devices with FFmpeg and TensorFlow (optional): - # devices: - # - "/dev/dri:/dev/dri" # Intel QSV - # - "/dev/nvidia0:/dev/nvidia0" # Nvidia CUDA - # - "/dev/nvidiactl:/dev/nvidiactl" - # - "/dev/nvidia-modeset:/dev/nvidia-modeset" - # - "/dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl" - # - "/dev/nvidia-uvm:/dev/nvidia-uvm" - # - "/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools" - # - "/dev/video11:/dev/video11" # Video4Linux Video Encode Device (h264_v4l2m2m) - working_dir: "/photoprism" # do not change or remove - ## Storage Folders: "~" is a shortcut for your home directory, "." for the current directory - volumes: - # "/host/folder:/photoprism/folder" # Example - - "./photos:/photoprism/originals" # Original media files (DO NOT REMOVE) - # - "/example/family:/photoprism/originals/family" # *Additional* media folders can be mounted like this - - "./storage.usb:/photoprism/import" # *Optional* base folder from which files can be imported to originals - - "./storage:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE) - - ## MariaDB Database Server (recommended) - ## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql - mariadb: - image: mariadb:11 - ## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue: - ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors - restart: unless-stopped - stop_grace_period: 5s - security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239 - - seccomp:unconfined - - apparmor:unconfined - command: --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 - ## Never store database files on an unreliable device such as a USB flash drive, an SD card, or a shared network folder: - volumes: - - "./database:/var/lib/mysql" # DO NOT REMOVE - environment: - MARIADB_AUTO_UPGRADE: "1" - MARIADB_INITDB_SKIP_TZINFO: "1" - MARIADB_DATABASE: "photoprism" - MARIADB_USER: "photoprism" - MARIADB_PASSWORD: "x!rPM.jTjcKLPuhLHdGs78A9W" - MARIADB_ROOT_PASSWORD: "WkDdnDehFdALm*N@EUqE6e7MC" - - ## Watchtower upgrades services automatically (optional) - ## see https://docs.photoprism.app/getting-started/updates/#watchtower - ## activate via "COMPOSE_PROFILES=update docker compose up -d" - watchtower: - restart: unless-stopped - image: containrrr/watchtower - profiles: ["update"] - environment: - WATCHTOWER_CLEANUP: "true" - WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours - volumes: - - "/var/run/docker.sock:/var/run/docker.sock" - - "~/.docker/config.json:/config.json" # optional, for authentication if you have a Docker Hub account diff --git a/ubuntu/docker/qbittorrent/README.md b/ubuntu/docker/qbittorrent/README.md deleted file mode 100644 index 5e6ad6c..0000000 --- a/ubuntu/docker/qbittorrent/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# qBittorent Web Ui Install - -> [!NOTE]\ -> This gist is taken from an article on Linux Babe which is linked in the Gist. If curious now, you can find the article here: [Linux Babe How to Install qBIttorent Web UI on Ubuntu 18.04 Desktip or Server](https://www.linuxbabe.com/ubuntu/install-qbittorrent-ubuntu-18-04-desktop-server) -> -> - - - - diff --git a/ubuntu/servarr/README.md b/ubuntu/servarr/README.md deleted file mode 100644 index cbd0ff7..0000000 --- a/ubuntu/servarr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# *arr Apps - -The apps you use when you want to keep track of the ISO files you get. \ No newline at end of file diff --git a/vps/server-2/README.md b/vps/server-2/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/vps/server-2/docker/README.md b/vps/server-2/docker/README.md deleted file mode 100644 index e69de29..0000000