Simple file-based wiki with fulltext-search.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.8 KiB

1 month ago
7 months ago
7 months ago
1 month ago
1 month ago
7 months ago
1 month ago
7 months ago
7 months ago
7 months ago
7 months ago
1 month ago
1 month ago
  1. # Amphora Wiki
  2. ![amphora-wiki-logo](amphora_wiki.png)
  3. This is a simple wiki based on Pythons Flask framework.
  4. There is much great wiki software.
  5. Most of them are using some kind of database.
  6. I however just want to put my markdown files in a directory and get a working wiki.
  7. ## Features/To-Dos
  8. - [x] Plain text support for wiki entries
  9. - [x] Markdown Files (.md)
  10. - [x] Entry page
  11. - [ ] Option to get plain text file
  12. - [ ] Optimize CSS for code
  13. - [x] Start page
  14. - [ ] Overview of pages and namespaces
  15. - [x] Search page
  16. - [x] Full-text search
  17. - [x] Show first few lines of each match (preview)
  18. - [ ] Better CSS
  19. - [x] Navigation
  20. - [x] More advanced namespaces
  21. - [x] Header
  22. - [ ] Random article
  23. - [ ] Search bar in header
  24. - [x] Footer
  25. - [x] Switchable CSS
  26. - [x] CSS dark-theme
  27. - [x] CSS light-theme
  28. - [x] Config file
  29. - [x] Docker installation
  30. - [x] Logo
  31. ## Usage
  32. ### Create entries
  33. Wiki entries are managed by plain markdown files in the `templates/entry/` directory.
  34. The first line of each document is reserved as the title of the document.
  35. ## Deployment
  36. ### PIP/Python
  37. - `git clone https://github.com/tiyn/amphora-wiki`
  38. - `cd amphora-wiki/src`
  39. - edit the `config.py` file according to your needs
  40. - `pip3install -r requirements.txt` - install depenencies
  41. - run `python app.py`
  42. - wiki is available on port 5000
  43. ### Docker
  44. Make sure you copy an example `config.py` and edit it before running the container.
  45. The `config.py` can be found in the `src` folder.
  46. #### Volumes
  47. Set the following volumes with the -v tag.
  48. | Volume-Name | Container mount | Description |
  49. | ----------- | ------------------------- | ------------------------------------------------------------ |
  50. | config-file | /wiki/src/config.py | Config file |
  51. | entries | /wiki/src/templates/entry | Directory for wiki entries |
  52. | css | /wiki/src/static/css | (optional) Directory for css files |
  53. | html | /wiki/src/templates | (optional) Directory for templates (entry-volume not needed) |
  54. #### Ports
  55. Set the following ports with the -p tag.
  56. | Container-Port | Recommended outside port | Protocol | Description |
  57. | -------------- | ------------------------ | -------- | ----------- |
  58. | 5000 | 80 | TCP | HTTP port |
  59. #### Example run-command
  60. Either use the docker image `tiynger/amphora-wiki` or run `docker build . -t amphora-wiki` in the top directory of this repository.
  61. If so you need to change the command below apropiately (`tiynger/amphora-wiki` to `amphora-wiki`).
  62. `docker run --name wiki --restart unless-stopped -v <absolute-path-to>/config.py:/wiki/src/config.py -v entries:/wiki/src/templates/entry -p 80:5000 -d tiynger/tiyny-wiki`