Giter Club home page Giter Club logo

monk-dokuwiki's Introduction

Dokuwiki meets Monk

This repository contains Monk.io template to deploy Dokuwiki system either locally or on cloud of your choice (AWS, GCP, Azure, Digital Ocean).

This template uses Traefik as a reverse proxy to provide full HTTPS encryption. Traefik will try to obtain full SSL certificate from Lets Encrypt(assuming valid hostname is provided in the manifest.yaml) and if not it will fallback to a default self generated SSL certificate.

If you wish to disable Traefik(for example you have your own reverse proxy) please look at Variables section.

Prerequisites

Make sure monkd is running

foo@bar:~$ monk status
daemon: ready
auth: logged in
not connected to cluster

Clone Repository

git clone [email protected]:monk-io/monk-dokuwiki.git

Load Template

cd monk-dokuwiki
monk load manifest.yaml

Verify if it's loaded correctly

$ monk list -l dokuwiki

✔ Got the list
Type      Template        Repository  Version  Tags
runnable  dokuwiki/server  local       -        -

Deploy Stack

Deploy Dokuwiki Server

$ monk run dokuwiki/server
? Select tag to run [local/dokuwiki/server] on: aws
✔ Starting the job: local/dokuwiki/server... DONE
✔ Preparing nodes DONE
✔ Checking/pulling images...
✔ [================================================] 100% traefik:v2.9.1 set1-2
✔ [================================================] 100% lscr.io/linuxserver/dokuwiki:latest set1-2
✔ Checking/pulling images DONE
✔ Started local/dokuwiki/server

🔩 templates/local/dokuwiki/server
 └─🧊 Peer set1-2
    ├─🔩 templates/local/dokuwiki/server
    │  └─📦 f725d3ff8b38a2f637e10aa0e8d2f688-local-dokuwiki-server-traefik
    │     ├─🧩 traefik:v2.9.1
    │     ├─💾 /var/lib/monkd/volumes/dokuwikiacme -> /acmestore
    │     ├─💾 /var/run/podman/podman.sock -> /var/run/docker.sock
    │     ├─🔌 open 44.195.66.170:80 -> 80
    │     └─🔌 open 44.195.66.170:443 -> 443
    └─🔩 templates/local/dokuwiki/server
       └─📦 3fca6c2394ea761f05b304cd9246115b-local-dokuwiki-server-dokuwiki
          ├─🧩 lscr.io/linuxserver/dokuwiki:latest
          └─💾 /var/lib/monkd/volumes/dokuwikistorage -> /config

💡 You can inspect and manage your above stack with these commands:
        monk logs (-f) local/dokuwiki/server - Inspect logs
        monk shell     local/dokuwiki/server - Connect to the container's shell
        monk do        local/dokuwiki/server/action_name - Run defined action (if exists)
💡 Check monk help for more!

Variables

The variables are stored in manifest.yaml file. You can quickly setup by editing the values there.

Variable Description Default
hostname Your Dokuwiki master hostname <- ip-address-public
enable-traefik If disabled traffic will be routed only to Dokuwiki via non-ssl encrypted port true
force-https If enabled traffic will always be routed only to ssl encrypted port true
http-port Port that Traefik/Dokuwiki will listen for non SSL traffic 80
https-port Port that Traefik will listen for SSL traffic 443

Stop, remove and clean up workloads and templates

monk purge    dokuwiki/server
monk purge -x dokuwiki/server

Persistency

If you're using any of the clouds available via Monk. You can use volume definition to spin a disk block device to make your Dokuwiki instance independent from the node it's running on. To do simply uncomment the volume block in manifest.yaml

monk-dokuwiki's People

Contributors

maksymtrykur avatar nooga avatar

Watchers

 avatar Burakhan Ozyol avatar  avatar v.nyzhehorodov avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.