Skip to content

Instantly share code, notes, and snippets.

@Jarvvski
Last active June 6, 2022 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jarvvski/67c37080d530cdb64515f360b7a57e3c to your computer and use it in GitHub Desktop.
Save Jarvvski/67c37080d530cdb64515f360b7a57e3c to your computer and use it in GitHub Desktop.
server {
listen 80;
index index.php index.html;
root /var/www/html;
real_ip_header X-Forwarded-For;
set_real_ip_from 172.17.0.0/16;
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
location ~ \.php$ {
# try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass xenforo:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
version: '3.7'
services:
xenforo_server:
image: jarvvski/xenforo-2-php-fpm:alpine
container_name: xenforo
user: 1003:998
healthcheck:
test: ["CMD", "php-fpm-healthcheck"]
interval: 15s
timeout: 10s
retries: 3
start_period: 1m
networks:
- xenforo
restart: always
working_dir: /var/www/html
volumes:
- xenforo-www:/var/www/html:rw
- xenforo-data:/var/www/html/data:rw
- xenforo-internal_data:/var/www/html/internal_data:rw
environment:
DB_PORT: 3306
DB_HOST: xenforo-db
DB_USER: xenforo
DB_PASSWORD: <PASSWORD>
DB_NAME: xenforo
REDIS_HOST: xenforo-redis
REDIS_PORT: 6379
nginx:
image: nginx:1.21-alpine
container_name: xenforo-nginx
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 15s
timeout: 10s
retries: 3
start_period: 1m
restart: always
networks:
- edge
- xenforo
volumes_from:
- xenforo_server:rw
volumes:
- xenforo-nginx-conf:/etc/nginx/conf.d/
environment:
VIRTUAL_HOST: 7cav.us
VIRTUAL_PROTO: http
VIRTUAL_ROOT: /var/www/html
LETSENCRYPT_HOST: 7cav.us
redis:
container_name: xenforo-redis
restart: always
networks:
- xenforo
image: redis:6
database:
container_name: xenforo-db
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "$$MYSQL_USER", "--password=$$MYSQL_PASSWORD"]
interval: 15s
timeout: 10s
retries: 3
start_period: 1m
restart: always
networks:
- xenforo
- xenforo-db
image: mariadb:10.5
ports:
- "9999:3306"
volumes:
- xenforo-database:/var/lib/mysql
environment:
MYSQL_DATABASE: xenforo
MYSQL_USER: xenforo
MYSQL_PASSWORD: <PASSWORD>
MYSQL_ROOT_PASSWORD: <ROOT_PASSWORD>
email:
container_name: xenforo-smtp
networks:
- xenforo
image: namshi/smtp
restart: always
volumes:
- certs:/etc/smtp/certs
- /etc/dkim/config:/etc/exim4/_docker_additional_macros:ro
- /etc/dkim/dkim_private.pem:/etc/exim4/domain.key:rw
environment:
KEY_PATH: /etc/exim4/domain.key
# CERTIFICATE_PATH: /etc/smtp/certs/7cav.us/cert.pem
PORT: 25
MAILNAME: jtchance.7cav.us
# Very simple bot that just shows the bot is 'online'
# - all actual activity happens via REST API calls within Xenforo Addon
discord-bot-online:
container_name: xenforo-discord-bot-status
networks:
- xenforo
image: node:lts-alpine
restart: always
volumes:
- discord_bot:/bot/
command: "node bot/app.js"
elasticsearch:
container_name: xenforo-es
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
interval: 15s
timeout: 10s
retries: 3
start_period: 1m
restart: always
networks:
- xenforo
image: elasticsearch:7.14.2
volumes:
- xenforo-elasticsearch:/usr/share/elasticsearch/data:rw
environment:
- node.name=kifarunix-demo-es
- cluster.name=es-docker-cluster
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
xenforo-database:
xenforo-elasticsearch:
xenforo-www:
driver_opts:
type: none
o: bind
device: /opt/xenforo/www
xenforo-data:
driver_opts:
type: none
o: bind
device: /opt/xenforo/data
xenforo-internal_data:
driver_opts:
type: none
o: bind
device: /opt/xenforo/internal_data
xenforo-nginx-conf:
driver_opts:
type: none
o: bind
device: /opt/compose/xenforo/docker/nginx/
certs:
driver_opts:
type: none
o: bind
device: /opt/compose/nginx-proxy/certs
discord_bot:
driver_opts:
type: none
o: bind
device: /opt/compose/xenforo/docker/discord_bot/
networks:
edge:
external : true
name: edge
xenforo:
name: xenforo
xenforo-db:
name: xenforo-db
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment