diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5cc01f0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sites/rittenhop/content/themes/rh-theme-v1"] + path = sites/rittenhop/content/themes/rh-theme-v1 + url = git@github.com:b7s9/rh-theme-v1.git diff --git a/bluesky/docker-compose.yml b/bluesky/docker-compose.yml new file mode 100644 index 0000000..191a45e --- /dev/null +++ b/bluesky/docker-compose.yml @@ -0,0 +1,20 @@ +services: + pds: + container_name: pds + image: ghcr.io/bluesky-social/pds:0.4 + restart: unless-stopped + volumes: + - ./data:/pds + env_file: + - ./.env + environment: + - VIRTUAL_HOST=bluesky.${DOMAIN} + - VIRTUAL_PORT=3005 + - LETSENCRYPT_HOST=bluesky.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + ports: + - 3005:3005 +networks: + default: + name: nginx-proxy + external: true \ No newline at end of file diff --git a/wiki/.env.example b/docs/.env.example similarity index 100% rename from wiki/.env.example rename to docs/.env.example diff --git a/wiki/.gitignore b/docs/.gitignore similarity index 100% rename from wiki/.gitignore rename to docs/.gitignore diff --git a/wiki/docker-compose.yml b/docs/docker-compose.yml similarity index 88% rename from wiki/docker-compose.yml rename to docs/docker-compose.yml index 803466d..c2a2c29 100644 --- a/wiki/docker-compose.yml +++ b/docs/docker-compose.yml @@ -6,14 +6,14 @@ services: - PUID=1000 - PGID=1000 - TZ=${TZ} - - APP_URL=https://wiki.${DOMAIN} + - APP_URL=https://docs.${DOMAIN} - DB_HOST=bookstack_db - DB_PORT=3306 - DB_USER=bookstack - DB_PASS=${DBPASS} - DB_DATABASE=bookstackapp - - VIRTUAL_HOST=wiki.${DOMAIN} - - LETSENCRYPT_HOST=wiki.${DOMAIN} + - VIRTUAL_HOST=docs.${DOMAIN} + - LETSENCRYPT_HOST=docs.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} volumes: - ./config:/config diff --git a/games/docker-compose.yml b/games/docker-compose.yml index 0f243f3..7144593 100644 --- a/games/docker-compose.yml +++ b/games/docker-compose.yml @@ -1,6 +1,6 @@ services: gamevault-backend: - image: phalcode/gamevault-backend:latest + image: phalcode/gamevault-backend:13.1.0 restart: unless-stopped environment: - PUID=${UID} @@ -17,7 +17,7 @@ services: # Mount the folder where your games are - ${DATA_LOCATION}:/files # Mount the folder where GameVault should store its images - - ${DATA_LOCATION}/images:/images + - ${DATA_LOCATION}/images:/media expose: - "8080" ports: diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 417b26d..62f4083 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -11,7 +11,7 @@ services: - GITEA__database__USER=gitea - GITEA__database__PASSWD=${DBPASS} - VIRTUAL_HOST=git.${DOMAIN},git.${DOMAIN} - - VIRTUAL_PORT=3000 + - VIRTUAL_PORT=3004 - LETSENCRYPT_HOST=git.${DOMAIN},git.${DOMAIN} - LETSENCRYPT_EMAIL=${EMAIL} restart: always @@ -21,10 +21,10 @@ services: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - - "3000:3000" + - "3004:3004" - "2222:2222" expose: - - "3000" + - "3004" db: image: postgres:14 restart: always diff --git a/kiwix/docker-compose.yml b/kiwix/docker-compose.yml new file mode 100644 index 0000000..8c46b11 --- /dev/null +++ b/kiwix/docker-compose.yml @@ -0,0 +1,23 @@ +services: + kiwix-serve: + ports: + - 8082:8082 + image: ghcr.io/kiwix/kiwix-serve:latest + # uncomment next 4 lines to use it with local zim file in /tmp/zim + volumes: + - /tank/storage/media/Cloud/Kiwix:/data + command: + - 'wikipedia_en_all_maxi_2024-01.zim' + # uncomment next 2 lines to use it with remote zim file + environment: + - PORT=8082 + - VIRTUAL_HOST=wiki.${DOMAIN} + - VIRTUAL_PORT=8082 + - LETSENCRYPT_HOST=wiki.${DOMAIN} + - LETSENCRYPT_EMAIL=${EMAIL} + expose: + - "8082" +networks: + default: + name: nginx-proxy + external: true \ No newline at end of file diff --git a/nginx-proxy/client_max_body_size.conf b/nginx-proxy/client_max_body_size.conf deleted file mode 100644 index 964fcea..0000000 --- a/nginx-proxy/client_max_body_size.conf +++ /dev/null @@ -1 +0,0 @@ -client_max_body_size 100000m; \ No newline at end of file diff --git a/nginx-proxy/docker-compose.yml b/nginx-proxy/docker-compose.yml index 158d689..6d7ce14 100644 --- a/nginx-proxy/docker-compose.yml +++ b/nginx-proxy/docker-compose.yml @@ -10,7 +10,8 @@ services: - ./nginx/certs:/etc/nginx/certs - ./nginx/html:/usr/share/nginx/html - ./nginx/vhost.d:/etc/nginx/vhost.d - - ./client_max_body_size.conf:/etc/nginx/conf.d/client_max_body_size.conf:ro + - ./settings.conf:/etc/nginx/conf.d/settings.conf:ro + # - ./keepalive_requests.conf:/etc/nginx/conf.d/keepalive_requests.conf:ro nginx-letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nginx-letsencrypt diff --git a/nginx-proxy/settings.conf b/nginx-proxy/settings.conf new file mode 100644 index 0000000..7fce4ba --- /dev/null +++ b/nginx-proxy/settings.conf @@ -0,0 +1,2 @@ +client_max_body_size 100000m; +keepalive_requests 1000000; diff --git a/restart_all.sh b/restart_all.sh new file mode 100755 index 0000000..955cbae --- /dev/null +++ b/restart_all.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# cd nginx-proxy +# sudo docker compose restart +cd ../arr +sudo docker compose restart +cd ../dashboard +sudo docker compose restart +cd ../games +sudo docker compose restart +cd ../gita +sudo docker compose restart +cd ../lazylibrarian +sudo docker compose restart +cd ../nextcloud +sudo docker compose restart +cd ../plex +sudo docker compose restart +cd ../readers +sudo docker compose restart +cd ../recipes +sudo docker compose restart +cd ../rss-reader +sudo docker compose restart +cd ../sites +cd botc +sudo docker compose restart +cd ../fusiondance +sudo docker compose restart +cd ../gamesclub +sudo docker compose restart +cd ../photos +sudo docker compose restart +cd .. +cd ../stats +sudo docker compose restart +cd ../vnc +sudo docker compose restart +cd ../wiki +sudo docker compose restart \ No newline at end of file diff --git a/sites/analytics/.env.example b/sites/analytics/.env.example new file mode 100644 index 0000000..bfaa95d --- /dev/null +++ b/sites/analytics/.env.example @@ -0,0 +1,12 @@ +EMAIL=example@gmail.com +DOMAIN=example.com + +DATABASE_URL=postgresql://umami_user:umami_pass@db:5432/umami_db +DATABASE_TYPE=postgresql +HASH_SALT=generate_a_random_salt + +POSTGRES_DB=umami_db +POSTGRES_USER=umami_user +POSTGRES_PASSWORD=umami_pass + +APP_SECRET=random-string \ No newline at end of file diff --git a/sites/analytics/docker-compose.yml b/sites/analytics/docker-compose.yml new file mode 100644 index 0000000..9839264 --- /dev/null +++ b/sites/analytics/docker-compose.yml @@ -0,0 +1,33 @@ +services: + umami: + image: ghcr.io/umami-software/umami:postgresql-latest + env_file: .env + environment: + TRACKER_SCRIPT_NAME: getinfo + API_COLLECT_ENDPOINT: all + VIRTUAL_HOST: "analytics.${DOMAIN}" + VIRTUAL_PORT: 3000 + CLIENT_IP_HEADER: x-real-ip + # HOSTNAME: "analytics.${DOMAIN}" + # PORT: 3004 + # FORCE_SSL: 0 + LETSENCRYPT_HOST: "analytics.${DOMAIN}" + LETSENCRYPT_EMAIL: ${EMAIL} + depends_on: + - db + restart: always + ports: + - 3000:3000 + expose: + - 3000 + db: + container_name: umami-db + image: postgres:15-alpine + env_file: .env + volumes: + - ./data:/var/lib/postgresql/data + restart: always +networks: + default: + name: nginx-proxy + external: true diff --git a/sites/rittenhop/config.production.json b/sites/botc/config.production.json.sendgrid similarity index 54% rename from sites/rittenhop/config.production.json rename to sites/botc/config.production.json.sendgrid index 5d4c3de..b2e880c 100644 --- a/sites/rittenhop/config.production.json +++ b/sites/botc/config.production.json.sendgrid @@ -1,19 +1,19 @@ { - "url": "http://localhost:2377", + "url": "http://localhost:2371", "server": { - "port": 2377, + "port": 2371, "host": "::" }, "mail": { "transport": "SMTP", "options": { - "service": "Mailgun", - "host": "smtp.mailgun.org", + "service": "Sendgrid", + "host": "smtp.sendgrid.net", "port": 587, - "secure": false, + "secure": true, "auth": { - "user": "", - "pass": "" + "user": "apikey", + "pass": "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" } } }, diff --git a/sites/fusiondance/update.sh b/sites/fusiondance/update.sh new file mode 100755 index 0000000..0570226 --- /dev/null +++ b/sites/fusiondance/update.sh @@ -0,0 +1 @@ +sudo docker cp config.production.json fusiondance-ghost-1:/var/lib/ghost/. \ No newline at end of file diff --git a/sites/rittenhop/.env.example b/sites/rittenhop/.env.example deleted file mode 100644 index 9efa7a2..0000000 --- a/sites/rittenhop/.env.example +++ /dev/null @@ -1,5 +0,0 @@ -DBPASS=rittenhop -EMAIL=example@rittenhop.org -TZ=America/New_York -SITE=rittenhop.org -PORT=2368 \ No newline at end of file diff --git a/sites/rittenhop/config.production.json.example b/sites/rittenhop/config.production.json.example deleted file mode 100644 index 5d4c3de..0000000 --- a/sites/rittenhop/config.production.json.example +++ /dev/null @@ -1,30 +0,0 @@ -{ - "url": "http://localhost:2377", - "server": { - "port": 2377, - "host": "::" - }, - "mail": { - "transport": "SMTP", - "options": { - "service": "Mailgun", - "host": "smtp.mailgun.org", - "port": 587, - "secure": false, - "auth": { - "user": "", - "pass": "" - } - } - }, - "logging": { - "transports": [ - "file", - "stdout" - ] - }, - "process": "systemd", - "paths": { - "contentPath": "/var/lib/ghost/content" - } -} diff --git a/sites/rittenhop/docker-compose.yml b/sites/rittenhop/docker-compose.yml deleted file mode 100644 index b8ead67..0000000 --- a/sites/rittenhop/docker-compose.yml +++ /dev/null @@ -1,40 +0,0 @@ -services: - ghost: - image: ghost:5 - container_name: rittenhop-ghost - restart: always - ports: - - ${PORT}:2377 - expose: - - ${PORT} - environment: - # see https://ghost.org/docs/config/#configuration-options - database__client: mysql - database__connection__host: rittenhop-db - database__connection__user: root - database__connection__password: ${DBPASS} - database__connection__database: rittenhop - VIRTUAL_HOST: "${SITE}" - VIRTUAL_PORT: ${PORT} - LETSENCRYPT_HOST: "${SITE}" - LETSENCRYPT_EMAIL: ${EMAIL} - # url: http://0.0.0.0:${PORT} #Dev - url: "https://${SITE}" #Prod - # contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired) - # NODE_ENV: development - volumes: - - ./content:/var/lib/ghost/content - # - ./themes:/var/lib/ghost/current/content/themes:rw - db: - image: mysql:8.0 - container_name: rittenhop-db - restart: always - environment: - MYSQL_DATABASE: rittenhop - MYSQL_ROOT_PASSWORD: ${DBPASS} - volumes: - - ./db:/var/lib/mysql -networks: - default: - name: nginx-proxy - external: true \ No newline at end of file diff --git a/sites/rittenhop/update.sh b/sites/rittenhop/update.sh deleted file mode 100644 index b167a5a..0000000 --- a/sites/rittenhop/update.sh +++ /dev/null @@ -1 +0,0 @@ -sudo docker cp config.production.json rittenhop-ghost:/var/lib/ghost/. \ No newline at end of file diff --git a/sites/rittenhop_deleteme b/sites/rittenhop_deleteme new file mode 160000 index 0000000..aea30b3 --- /dev/null +++ b/sites/rittenhop_deleteme @@ -0,0 +1 @@ +Subproject commit aea30b392ded2d623df4067ff174ca3e4a87f486