WIP nodebb

This commit is contained in:
Reynir Björnsson 2025-02-15 16:30:05 +01:00
parent 8f21c6e1d9
commit acaaffb982
5 changed files with 81 additions and 0 deletions

View file

@ -226,6 +226,11 @@ services:
volume_folder: "{{ volume_root_folder }}/uptime_kuma"
pre_deploy_tasks: true
version: "latest"
nodebb:
domain: "forum.{{ base_domain }}"
version: "4.x"
pre_deploy_tasks: true
volume_folder: "{{ volume_root_folder }}/nodebb"
services_exclude: []
services_include: "{{ services | dict2items | map(attribute='key') | list | difference(services_exclude) }}"

View file

@ -0,0 +1,7 @@
# vim: ft=yaml.ansible
---
- name: Upload setup.json
template:
src: nodebb/setup.json.j2
dest: "{{ services.nodebb.volume_folder }}/setup.json"
# should we create directories?!

View file

@ -0,0 +1,45 @@
services:
nodebb:
image: ghcr.io/nodebb/nodebb:{{ services.nodebb.version }}
restart: unless-stopped
ports:
# - '4567:4567' # comment this out if you don't want to expose NodeBB to the host, or change the first number to any port you want
volumes:
- ./nodebb-build:/usr/src/app/build
- ./nodebb-uploads:/usr/src/app/public/uploads
- ./nodebb-config:/opt/config
- ./setup.json:/usr/src/app/setup.json
mongo:
image: 'mongo:7-jammy'
restart: unless-stopped
ports:
- '27017:27017'
environment:
MONGO_INITDB_ROOT_USERNAME: nodebb
MONGO_INITDB_ROOT_PASSWORD: nodebb
MONGO_INITDB_DATABASE: nodebb
volumes:
- ./mongo-data:/data/db
- ./mongodb-user-init.js:/docker-entrypoint-initdb.d/user-init.js
redis:
image: redis:7.4.2-alpine
restart: unless-stopped
command: ['redis-server', '--appendonly', 'yes', '--loglevel', 'warning']
# command: ['redis-server', '--save', '60', '1', '--loglevel', 'warning'] # uncomment if you want to use snapshotting instead of AOF
volumes:
- ./redis-data:/data
profiles:
- redis
postgres:
image: postgres:17.2-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nodebb
POSTGRES_PASSWORD: nodebb
POSTGRES_DB: nodebb
volumes:
- ./postgres-data:/var/lib/postgresql/data
profiles:
- postgres

View file

@ -0,0 +1 @@
db.createUser( { user: 'nodebb', pwd: 'nodebb', roles: [ { role: 'readWrite', db: 'nodebb' }, { role: 'clusterMonitor', db: 'admin' } ] } )

View file

@ -0,0 +1,23 @@
{
"defaults": {
"mongo": {
"host": "mongo",
"port": 27017,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
},
"redis": {
"host": "redis",
"port": 6379,
"database": 0
},
"postgres": {
"host": "postgres",
"port": 5432,
"database": "nodebb",
"username": "nodebb",
"password": "nodebb"
}
}
}