Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dobbs/farm
federated wiki farm
https://github.com/dobbs/farm
Last synced: 5 days ago
JSON representation
federated wiki farm
- Host: GitHub
- URL: https://github.com/dobbs/farm
- Owner: dobbs
- License: apache-2.0
- Created: 2017-07-16T04:39:16.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-08-25T18:17:42.000Z (3 months ago)
- Last Synced: 2024-08-25T19:34:23.446Z (3 months ago)
- Language: Dockerfile
- Homepage:
- Size: 46.9 KB
- Stars: 5
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - dobbs/farm - federated wiki farm (others)
README
# Federated Wiki Farm
Start Playing Federated Wiki: http://start.fed.wiki
### Run a local wiki farm
docker run -p 3000:3000 -it --rm \
dobbs/farmVisit http://localhost:3000 and http://anything.localhost:3000
### Run a local wiki that will survive a reboot
docker run -p 3000:3000 -it --rm \
-v ~/.wiki:/home/node/.wiki \
dobbs/farmYour wiki pages and configuration will be saved in the ~/.wiki folder.
# Development
This image's tag does not match the version of the included wiki
software. Our version indicates the scale of changes in this tiny
devops pipeline.Testing new images locally:
``` bash
TAG=1.0.14-prefer-title
IMAGE=dobbs/farm:$TAG
docker build --tag $IMAGE .
```You might also want to remember the most recent tag:
``` bash
git tag --list | tail -1
```Update WIKI_VERSIONS.txt
``` bash
docker run --rm $IMAGE wiki --version > WIKI_VERSIONS.txt
```# Publish container images
End-to-end recipe to publish a new version. May require judgment in
the steps before git push and docker push.
``` bash
# Emit current version to standard error and next version to standard out.
# use that to assign the next TAG
TAG="$(git tag --list | tail -1 | perl -lne 'print STDERR $_;s/(\d+)$/$1+1/e;print $_;')"
IMAGE=dobbs/farm:$TAG
docker build --no-cache --tag $IMAGE .
docker build --tag dobbs/farm:latest .
docker run --rm $IMAGE wiki --version > WIKI_VERSIONS.txt
git add
git commit -m ""
git tag -am "" "$TAG"
git push --atomic origin main "$TAG"
docker push $IMAGE
docker push dobbs/farm:latest
```Sometimes we publish a docker image with no changes to the wiki source
code. This allows us to pick up non-breaking changes to some of the
plugins. Using `--no-cache` ensures docker re-runs this line from the
`Dockerfile` in particular: `npm install -g --prefix . $WIKI_PACKAGE`.# Experiment with K8S
With the local kubernetes example (see [examples/k8s/README.md](./examples/k8s/README.md)):
``` bash
k3d image import $IMAGE --cluster wiki
kubectl patch deployment.apps/wiki-deployment \
--type='json' \
-p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"'$IMAGE'"}]'
```