mirror of
https://github.com/runyanjake/olomana.git
synced 2026-06-25 08:04:52 -07:00
Add docmost
This commit is contained in:
parent
72804b0039
commit
b167f266e6
5
software-development/documentation/docmost/.env.example
Normal file
5
software-development/documentation/docmost/.env.example
Normal file
@ -0,0 +1,5 @@
|
||||
# Generate with: openssl rand -hex 32
|
||||
APP_SECRET=replace_with_long_random_secret
|
||||
|
||||
# PostgreSQL password (used by both the db container and Docmost's DATABASE_URL)
|
||||
POSTGRES_PASSWORD=replace_with_strong_password
|
||||
1
software-development/documentation/docmost/.gitignore
vendored
Normal file
1
software-development/documentation/docmost/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.env
|
||||
56
software-development/documentation/docmost/README.md
Normal file
56
software-development/documentation/docmost/README.md
Normal file
@ -0,0 +1,56 @@
|
||||
# Docmost
|
||||
|
||||
[Docmost](https://docmost.com/) is an open-source collaborative documentation and wiki software.
|
||||
|
||||
Accessible at **https://documentation.whitney.rip**.
|
||||
|
||||
## Setup
|
||||
|
||||
1. Copy the example env file and fill in real values:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. Generate secrets:
|
||||
|
||||
```bash
|
||||
# App secret (32+ characters)
|
||||
openssl rand -hex 32
|
||||
|
||||
# Postgres password
|
||||
openssl rand -hex 16
|
||||
```
|
||||
|
||||
3. Start the stack:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
|
||||
## Health Check
|
||||
|
||||
```
|
||||
https://documentation.whitney.rip/api/health
|
||||
```
|
||||
|
||||
## Creating Users
|
||||
Cannot be created manually, have to do manually via db insert.
|
||||
1. Exec to container
|
||||
```bash
|
||||
docker exec -it docmost-db-1 psql -U docmost -d docmost
|
||||
```
|
||||
2. Obtain WORKSPACE_ID from the users table.
|
||||
Generate random password
|
||||
```bash
|
||||
select workspace_id from users;
|
||||
```
|
||||
3. Exit psql and generate random passord.
|
||||
```
|
||||
docker exec docmost-docmost-1 node -e "console.log(require('bcrypt').hashSync('REPLACE_PASSWORD', 12))"
|
||||
```
|
||||
3. Insert
|
||||
```bash
|
||||
INSERT INTO users (name, email, password, role, workspace_id, email_verified_at) VALUES ('Jake', 'jake@runyan.dev', '$2b$10$BEiObFC7osNTuY9GcQvV6eCU6vHKQjwohrr/uPPBFzlO27jLvQCHy', 'admin', '019d9dbf-daf5-7652-90d6-33ee72c883a1', now());
|
||||
```
|
||||
@ -0,0 +1,51 @@
|
||||
networks:
|
||||
traefik:
|
||||
external: true
|
||||
docmost:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
docmost:
|
||||
image: docmost/docmost:latest
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
environment:
|
||||
APP_URL: "https://documentation.whitney.rip"
|
||||
APP_SECRET: "${APP_SECRET}"
|
||||
DATABASE_URL: "postgresql://docmost:${POSTGRES_PASSWORD}@db:5432/docmost"
|
||||
REDIS_URL: "redis://redis:6379"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /pwspool/software/docmost/storage:/app/data/storage
|
||||
networks:
|
||||
- traefik
|
||||
- docmost
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.docmost.rule=Host(`documentation.whitney.rip`)"
|
||||
- "traefik.http.routers.docmost.entrypoints=websecure"
|
||||
- "traefik.http.routers.docmost.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.docmost.loadbalancer.server.port=3000"
|
||||
|
||||
db:
|
||||
image: postgres:18
|
||||
environment:
|
||||
POSTGRES_DB: docmost
|
||||
POSTGRES_USER: docmost
|
||||
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /pwspool/software/docmost/postgresql:/var/lib/postgresql
|
||||
networks:
|
||||
- docmost
|
||||
|
||||
redis:
|
||||
image: redis:8
|
||||
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /pwspool/software/docmost/redis:/data
|
||||
networks:
|
||||
- docmost
|
||||
|
||||
@ -10,6 +10,7 @@ declare -a CONTAINERS=(
|
||||
"software-development/design/excalidraw"
|
||||
"software-development/project-management/planka"
|
||||
"software-development/documentation/code-server"
|
||||
"software-development/documentation/docmost"
|
||||
"software-development/infrastructure/gitea"
|
||||
"software-development/infrastructure/grafana"
|
||||
"software-development/infrastructure/traefik"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user