Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 32 additions & 22 deletions Docker/README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,53 @@
# NeoWiki Docker Deployment
# NeoWiki Docker

Deploy NeoWiki on a VPS with automatic HTTPS via Caddy.
Try NeoWiki locally or deploy it to a server.

## Prerequisites

- Docker and Docker Compose installed on your VPS
- A domain name pointing to your VPS
- Ports 80 and 443 open
NeoWiki is in the experimental proof of concept phase. It is not production ready, public interfaces will change,
big structural changes will happen, and key functionality is still missing.

## Setup
## Prerequisites

1. Copy this directory to your VPS
- Docker and Docker Compose

2. Edit `.env` and change all values marked with `# Change for production`:
- `MW_SERVER` - your wiki's URL (e.g., `https://wiki.example.com`)
- `MARIADB_ROOT_PASSWORD` - database root password
- `MARIADB_PASSWORD` - database user password
- `MW_ADMIN_PASSWORD` - MediaWiki admin password
- `NEO4J_PASSWORD` - Neo4j password
- `NEO4J_PASSWORD_READ` - Neo4j read-only user password
## Local setup

3. Start the containers:
1. Start the containers:
```bash
docker compose up -d
```

4. Wait for containers to be healthy, then initialize the database:
2. Wait for all containers to be healthy:
```bash
docker compose ps
```

3. Initialize the database and Neo4j:
```bash
make install-db
make load-neo4j-users
```

5. Optionally load NeoWiki demo data:
4. Load demo data:
```bash
make import-demo-data
```

6. Access your wiki at your configured `MW_SERVER` URL
5. Open http://localhost:8484

To log in, use username `AdminName` and the password from `.env` (`AdminPassword` by default).

## Server deployment

To deploy on a server with automatic HTTPS via Caddy:

1. Edit `.env` and change all values marked with `# Change for production`, including
`MW_SERVER` (e.g., `https://wiki.example.com`)

2. Start all services including Caddy:
```bash
docker compose --profile server up -d
```

## Extra
3. Follow steps 2-4 from the local setup above

Server hardening is not covered here.
4. Access your wiki at your configured `MW_SERVER` URL
4 changes: 4 additions & 0 deletions Docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ services:
mediawiki:
image: ghcr.io/professionalwiki/neowiki:latest
restart: unless-stopped
ports:
- "${MW_SERVER_PORT:-8484}:80"
volumes:
- mediawiki-images-data:/var/www/html/w/images
# Uncomment to use custom LocalSettings.
Expand Down Expand Up @@ -58,6 +60,8 @@ services:
caddy:
image: caddy:2.10-alpine
restart: unless-stopped
profiles:
- server
ports:
- "80:80"
- "443:443"
Expand Down