瀏覽代碼

add jekyll

Josh Bicking 4 年之前
父節點
當前提交
7b57fdcb69
共有 1 個文件被更改,包括 233 次插入33 次删除
  1. 233 33
      templates/web/compose/docker-compose.yaml

+ 233 - 33
templates/web/compose/docker-compose.yaml

@@ -17,6 +17,11 @@ services:
       - ./conf.d/real_ip.conf:/etc/nginx/conf.d/real_ip.conf:ro
       # Password-protect some subdomains
       - ./htpasswd:/etc/nginx/htpasswd
+      # Certs for the top level domain & subdomains
+      # - ${TOP_DOMAIN_CERT}:/etc/nginx/certs/jibby.org.crt
+      # - ${TOP_DOMAIN_KEY}:/etc/nginx/certs/jibby.org.key
+      # - ${WC_DOMAIN_CERT}:/etc/nginx/certs/shared.crt
+      # - ${WC_DOMAIN_KEY}:/etc/nginx/certs/shared.key
     environment:
       - DEFAULT_HOST=jibby.org
     restart: always
@@ -43,32 +48,17 @@ services:
       - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
     restart: always
 
-  mariadb:
-    image: mariadb
-    volumes:
-      - ${CONTAINERS_DIR}/mariadb:/var/lib/mysql
-    environment:
-      # If mariadb is used for more than wordpress in the future, it'll need
-      # its own /docker-entrypoint-initdb.d entry. But for now, envrionment
-      # variables are fine.
-      - MYSQL_DATABASE=wordpress
-      - MYSQL_USER=${MARIADB_USER}
-      - MYSQL_PASSWORD=${MARIADB_PASSWORD}
-      - MYSQL_ROOT_PASSWORD=${MARIADB_PASSWORD}
-    restart: always
-
-  wordpress:
-    image: wordpress
-    links:
-        - mariadb:mysql
-    volumes:
-      - ${CONTAINERS_DIR}/wordpress:/var/www/html
+  jekyll:
+    build: https://github.com/jibby0/docker-jekyll-webhook.git
     environment:
-      - WORDPRESS_DB_USER=${MARIADB_USER}
-      - WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}
+      - TZ=America/New_York
+      - WEBHOOK_SECRET=${WEBHOOK_SECRET}
+      - REPO=https://github.com/jibby0/blog.git
       - VIRTUAL_HOST=jibby.org
-      - VIRTUAL_PORT=3000
+      - VIRTUAL_PORT=80
     restart: always
+    volumes:
+      - ${CONTAINERS_DIR}/jekyll/vendor_cache:/vendor
 
   nextcloud:
     image: nextcloud
@@ -90,6 +80,8 @@ services:
       - "3000"
     volumes:
       - ${CONTAINERS_DIR}/gogs:/data
+    # NOTE: My gogs instance isn't happy with postgres. For now, it's a small server
+    # and sqlite is fine, but I should fix this eventually.
     #links:
     #  - postgres
     environment:
@@ -108,16 +100,16 @@ services:
       # NOTE: These don't directly configure anything anymore.
       #  They can be used with `migrate_config` to build
       #  homeserver.yaml
-      - SYNAPSE_SERVER_NAME=matrix.jibby.org
-      - SYNAPSE_REPORT_STATS=no
-      - SYNAPSE_NO_TLS=true
-      - SYNAPSE_ENABLE_REGISTRATION=no
-      - SYNAPSE_LOG_LEVEL=INFO
-      - SYNAPSE_REGISTRATION_SHARED_SECRET=${POSTGRES_PASSWORD}
-      - POSTGRES_DB=synapse
-      - POSTGRES_HOST=postgres
-      - POSTGRES_USER=synapse
-      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
+      # - SYNAPSE_SERVER_NAME=matrix.jibby.org
+      # - SYNAPSE_REPORT_STATS=no
+      # - SYNAPSE_NO_TLS=true
+      # - SYNAPSE_ENABLE_REGISTRATION=no
+      # - SYNAPSE_LOG_LEVEL=INFO
+      # - SYNAPSE_REGISTRATION_SHARED_SECRET=${POSTGRES_PASSWORD}
+      # - POSTGRES_DB=synapse
+      # - POSTGRES_HOST=postgres
+      # - POSTGRES_USER=synapse
+      # - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
       - VIRTUAL_HOST=matrix.jibby.org
       - VIRTUAL_PROTO=http
       - VIRTUAL_PORT=8008
@@ -145,6 +137,7 @@ services:
     volumes:
       - ${CONTAINERS_DIR}/selfoss:/selfoss/data
     environment:
+      - CRON_PERIOD=5m
       - VIRTUAL_HOST=selfoss.jibby.org
       - VIRTUAL_PORT=8888
       - CERT_NAME=shared
@@ -162,3 +155,210 @@ services:
       - VIRTUAL_PORT=8096
       - CERT_NAME=shared
     restart: always
+
+  # Currently unused container configs:
+
+  # plex:
+  #   image: plexinc/pms-docker
+  #   expose:
+  #     - "32400"
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/plex:/config
+  #     - /tmp/plex:/transcode
+  #     - ${MEDIA_DIR}:/data
+  #   environment:
+  #     - PLEX_CLAIM="claim-pPM26k9y5p8hcbpnjzAq"
+  #     - VIRTUAL_HOST=plex.jossh.us,plex.jibby.org
+  #     - VIRTUAL_PORT=32400
+  #     - TZ="America/New_York"
+  #   restart: always
+
+  # znc:
+  #   image: znc
+  #   expose:
+  #     - "6697"
+  #   ports:
+  #     - "6697:6697"
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/znc:/home/znc/.znc
+  #   environment:
+  #     - VIRTUAL_HOST=znc.jossh.us
+  #     - LETSENCRYPT_HOST=znc.jossh.us
+  #     - VIRTUAL_PORT=6697
+  #     - VIRTUAL_PROTO=https
+  #     - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
+  #   restart: always
+
+  # gitlab:
+  #   image: gitlab/gitlab-ce
+  #   expose:
+  #     - "80"
+  #     - "22"
+  #   # Gitlab destroys databases when seeding them, and requires an admin user for seeding. So let's not link it to the running postgres instance.
+  #   environment:
+  #     - VIRTUAL_HOST=gitlab.jossh.us
+  #     - VIRTUAL_PORT=80
+  #     - LETSENCRYPT_HOST=gitlab.jossh.us
+  #     - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/gitlab/config:/etc/gitlab
+  #     - ${CONTAINERS_DIR}/gitlab/logs:/var/log/gitlab
+  #     - ${CONTAINERS_DIR}/gitlab/data:/var/opt/gitlab
+  #   restart: always
+
+  # libresonic:
+  #   image: linuxserver/libresonic
+  #   expose:
+  #     - "4040"
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/libresonic:/config
+  #     - ${MEDIA_DIR}/Music:/music
+  #   environment:
+  #     - VIRTUAL_HOST=libresonic.josh1147582.jumpingcrab.com,libresonic.jossh.us
+  #     - LETSENCRYPT_HOST=libresonic.josh1147582.jumpingcrab.com,libresonic.jossh.us
+  #     - VIRTUAL_PORT=4040
+  #     - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
+  #     - TZ=America/New_York
+  #   restart: always
+
+  # quassel:
+  #   image: linuxserver/quassel-core
+  #   expose:
+  #     - "4242"
+  #   links:
+  #     - postgres
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/quassel:/config
+  #     - /etc/localtime:/etc/localtime:ro
+  #   environment:
+  #     - PGID=1000
+  #     - PUID=1000
+  #     - VIRTUAL_HOST=quassel.jossh.us,quassel.jibby.org
+  #     - VIRTUAL_PORT=4242
+  #   restart: always
+
+  # quassel-webserver:
+  #   image: bodsch/docker-quassel-web
+  #   expose:
+  #     - "64080"
+  #   #ports:
+  #   #   port- "8080:64080"
+  #   links:
+  #     - quassel
+  #   environment:
+  #     - QUASSEL_HOST=quassel
+  #     - QUASSEL_PORT=4242
+  #     - FORCE_DEFAULT=true
+  #     - WEBSERVER_MODE=http
+  #     - VIRTUAL_HOST=quassel-web.jossh.us,quassel-web.jibby.org
+  #     - VIRTUAL_PORT=64080
+  #   restart: always
+
+  # netdata:
+  #   image: titpetric/netdata
+  #   privileged: true
+  #   hostname: cumulus-monitor
+  #   expose:
+  #     - "19999"
+  #   volumes:
+  #     - /proc:/host/proc:ro
+  #     - /sys:/host/sys:ro
+  #     - ${CONTAINERS_DIR}/netdata/health_alarm_notify.conf:/etc/netdata/health_alarm_notify.conf
+  #     - ${CONTAINERS_DIR}/netdata/conf.d/:/usr/lib/netdata/conf.d/
+  #   environment:
+  #     - VIRTUAL_HOST=netdata.jibby.org
+  #     - VIRTUAL_PORT=19999
+  #     - CERT_NAME=shared
+  #     - SMTP_TO=${LETSENCRYPT_EMAIL}
+  #     - SMTP_FROM=${SMTP_USER}
+  #     - SMTP_USER=${SMTP_USER}
+  #     - SMTP_PASS=${SMTP_PASS}
+  #   restart: always
+
+  # wordpress:
+  #   image: wordpress
+  #   links:
+  #       - mariadb:mysql
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/wordpress:/var/www/html
+  #   environment:
+  #     - WORDPRESS_DB_USER=${MARIADB_USER}
+  #     - WORDPRESS_DB_PASSWORD=${MARIADB_PASSWORD}
+  #     - VIRTUAL_HOST=jibby.org
+  #     - VIRTUAL_PORT=3000
+  #   restart: always
+
+  # mariadb:
+  #   image: mariadb
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/mariadb:/var/lib/mysql
+  #   environment:
+  #     # If mariadb is used for more than wordpress in the future, it'll need
+  #     # its own /docker-entrypoint-initdb.d entry. But for now, envrionment
+  #     # variables are fine.
+  #     - MYSQL_DATABASE=wordpress
+  #     - MYSQL_USER=${MARIADB_USER}
+  #     - MYSQL_PASSWORD=${MARIADB_PASSWORD}
+  #     - MYSQL_ROOT_PASSWORD=${MARIADB_PASSWORD}
+  #   restart: always
+
+  ### Mastodon
+  #
+  # redis:
+  #   restart: always
+  #   image: redis:4.0-alpine
+  #   healthcheck:
+  #     test: ["CMD", "redis-cli", "ping"]
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/redis:/data
+  #
+  # mastodon-web:
+  #         #build: ./docker-mastodon
+  #   image: tootsuite/mastodon
+  #   restart: always
+  #   env_file: .env.mastodon
+  #   environment:
+  #     - VIRTUAL_HOST=mastodon.jibby.org
+  #     - VIRTUAL_PORT=3000
+  #       #- VIRTUAL_PROTO=https
+  #   command: bash -c "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000 -b '0.0.0.0'"
+  #   healthcheck:
+  #     test: ["CMD-SHELL", "wget -q --spider --header 'x-forwarded-proto: https' --proxy off localhost:3000/api/v1/instance || exit 1"]
+  #   # ports:
+  #   #   - "127.0.0.1:3000:3000"
+  #   expose:
+  #     - "3000"
+  #   depends_on:
+  #     - postgres
+  #     - redis
+  #      - es
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/mastodon-web/public/system:/mastodon/public/system
+  #
+  # mastodon-streaming:
+  #         #build: ./docker-mastodon
+  #   image: tootsuite/mastodon
+  #   restart: always
+  #   env_file: .env.mastodon
+  #   command: yarn start
+  #   healthcheck:
+  #     test: ["CMD-SHELL", "wget -q --spider --header 'x-forwarded-proto: https' --proxy off localhost:4000/api/v1/streaming/health || exit 1"]
+  #   # ports:
+  #   #   - "127.0.0.1:4000:4000"
+  #   expose:
+  #     - "4000"
+  #   depends_on:
+  #     - postgres
+  #     - redis
+  #
+  # mastodon-sidekiq:
+  #         #build: ./docker-mastodon
+  #   image: tootsuite/mastodon
+  #   restart: always
+  #   env_file: .env.mastodon
+  #   command: bundle exec sidekiq
+  #   depends_on:
+  #     - postgres
+  #     - redis
+  #   volumes:
+  #     - ${CONTAINERS_DIR}/mastodon-sidekiq/public/system:/mastodon/public/system