{"id":19175382,"url":"https://github.com/clecap/dante-wiki-production","last_synced_at":"2025-02-23T00:45:56.148Z","repository":{"id":212271304,"uuid":"696461756","full_name":"clecap/dante-wiki-production","owner":"clecap","description":"Install DanteWiki for end users","archived":false,"fork":false,"pushed_at":"2024-06-19T09:10:31.000Z","size":61791,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-04T01:54:04.704Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clecap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-25T19:40:48.000Z","updated_at":"2024-06-19T09:10:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e8cc5c0-f532-423c-88bd-1c8caafcfd5e","html_url":"https://github.com/clecap/dante-wiki-production","commit_stats":null,"previous_names":["clecap/dante-wiki-production"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecap%2Fdante-wiki-production","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecap%2Fdante-wiki-production/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecap%2Fdante-wiki-production/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clecap%2Fdante-wiki-production/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clecap","download_url":"https://codeload.github.com/clecap/dante-wiki-production/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240254181,"owners_count":19772386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T10:22:59.059Z","updated_at":"2025-02-23T00:45:56.106Z","avatar_url":"https://github.com/clecap.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DanteWiki Production\n\n\u003cb\u003eThis repository\u003c/b\u003e https://github.com/clecap/dante-wiki-production is for \n1. **end users** wanting to install DanteWiki on their machine and for \n2. **administrators** wanting to roll out DanteWikis automatically for a larger number of users.\n\nThe repository for \u003cb\u003edevelopment\u003c/b\u003e work can be found here: https://github.com/clecap/dante-wiki\n\n## Requirements for Installing DanteWiki\n\n\u003ctable\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eEcosystem\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\u003cb\u003eRecommended:\u003c/b\u003e Linux, MacOS\u003cbr\u003eWindows (Win 10 and 11 with WSL Windows Subsystem for Linux)\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eDeployment\u003cbr\u003e Environment\u003c/b\u003e\u003c/td\u003e\u003ctd\u003eDocker\u003cbr\u003e\n  \u003ca href=\"doc/README-docker.md\"\u003ePreparing docker on a Debian VM\u003c/a\u003e\u003cbr\u003e\n  \u003ca href=\"https://docs.docker.com/engine/install/\"\u003ePreparing docker desktop on an arbitrary machine\u003c/a\u003e\n\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eSoftware\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e\n Installed \u003ccode\u003e/bin/bash\u003c/code\u003e and \u003ccode\u003ecurl\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eCPU\u003c/b\u003e\u003c/td\u003e\u003ctd\u003eminimum 2 vCPUs, recommended 4 vCPUs\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eRAM\u003c/b\u003e\u003c/td\u003e\u003ctd\u003eminimum 6GB, recommended 8 GB\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e\u003cb\u003eDISC\u003c/b\u003e\u003c/td\u003e\u003ctd\u003e20-30 GB recommended\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExplanations:\u003c/b\u003e (Click on triangle)\u003c/summary\u003esu\n\n\u003cb\u003eDocker:\u003c/b\u003e DanteWiki is based on two Docker images, so you need a possibility to run Docker images. A traditional docker server is fine, but DanteWiki will also run on medium-sized laptops. It consists of a web-server, a PHP application process, which is a MediaWiki modification, and a number of latex processes. It uses extensive caching. It is not a microservice architecture and can make use of \nmulticore / multithreade architectures for speeding up reaction time.\n\n\u003cb\u003eRequirements:\u003c/b\u003e We currently run the system on our development machine with 8 vCPUs, 8 GB Memory and 30 GB Disc and we are studying performance to cut down on this.\n\n\u003c/details\u003e \n\n## Installation for End Users\n\n### Basic Installation\n1. **Terminal:** Open a terminal window to the machine where you want to install. \u003cbr\u003e\n  Must use a user name having docker rights.\n2. **Shell:** Ensure that you are running `/bin/bash`.\u003cbr\u003e\n  Check the shell you are running with `echo $SHELL`.\u003cbr\u003e\n  If needed switch to the required shell by `/bin/bash`.\n2. **Directory:** Navigate to a directory into which you want to install. \n  A good place is your home directory.\n  This installation procedure will generate a directory named `dante` inside of the directory you just navigated to. \n3. **Run:** `Copy-and-paste` the following line into your shell and press return.\n\n```\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/clecap/dante-wiki-production/HEAD/bin/quick-install.sh)\"\n```\n4. **Configuration:** Answer the questions posed by the interactive shell.\n5. **Wait** several minutes until completion.\n\n### Adding an https Certificate\n\nIf you want to provide a trustworthy authentication of and encrypt the communication with your DanteWiki using https, you can provide a certificate and a private key using below steps. Below instructions assume that the working directory of your shell still is the directory where you started the installation procedure. This directory should contain the sub-directory `dante`.\n\n1. **Obtain** an X.509 certificate and a matching private key for use with https. \n    1. The root certificate of the CA should be contained in the ca-certificates packahe of Alpine (which for most commercial CAs they probably are).\n    1. Certificate and key files must be in `PEM` (privacy enhanced mail) format. \n    1. it is not necessary that the certificate contains the complete certificate chain.\n1. **Copy** the certificate (as file `server.pem`) and the private key (as file `server.key`) to the directory `dante/KEYS-AND-CERTIFICATES`.\n\n```\nscp \u003cuser\u003e@\u003chost\u003e:\u003cpath-to-certificate-file\u003e ./dante/KEYS-AND-CERTIFICATES/server.pem\nscp \u003cuser\u003e@\u003chost\u003e:\u003cpath-to-key-file\u003e ./dante/KEYS-AND-CERTIFICATES/server.key\n```\n\n3. **Install** the certificate and the private key into the container, protect them, and restart the web-server:\n```\n./dante/dante-wiki-production-master/bin/install-keys.sh\n```\n\n### Updates\n\n### Repeacted Installations\n\nThis process has to be repeated after every update, since an update removes the container.\n\n\n\n\n\n\u003cb\u003eNote:\u003c/b\u003e \nIf you repeat the installation, no questions will be asked, but the file `dante/private/generated-conf-file.sh.sh` will be used. If you want to change the answers you gave in the first installation, you should edit this file manually\nor delete it before running the installation.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eExplanations:\u003c/b\u003e (Click on triangle)\u003c/summary\u003e\n\n\u003cdiv style=\"background-color:cyan\"\u003e\n\n`curl` will download an install script and `/bin/bash` will execute it on your machine.\n\nExplanation of the curl parameters:\n\u003ctable style=\"border-collapse:collapse;\" cellpadding=0 cellspacing=10\u003e\n\u003ctr\u003e\u003ctd\u003e-f\u003c/td\u003e\u003ctd\u003eFail silently on server errors.\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e-s\u003c/td\u003e\u003ctd\u003eDo not show a progress meter.\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e-S\u003c/td\u003e\u003ctd\u003eShow error messages on all other errors.\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd\u003e-L\u003c/td\u003e\u003ctd\u003eFollow redirects when received from the server.\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\u003c/details\u003e\n\n\n## Installation  for Administrators\n\nTODO. This description will allow for a mass installation of several instances as based on pre-prepared configuration files.\n\nCopy files server.key and server.pem into  directory dante-wiki-production-master\n\n### First Test\n\nDanteWiki should now be up and running on the target machine at \n\n* http://localhost:8080/wiki-dir/index.php\n* http://IP-ADDRESS-OF-MACHINE:8080/wiki-dir/index.php\n* https://localhost:4443/wiki-dir/index.php (probably with some https security warning)\n* https://IP-ADDRESS-OF-MACHINE:4443/wiki-dir/index.php (probably with some https security warning)\n\n\n## Configuration Changes\n\n### 1. Reverse Proxy to Http\n\nHostname: localhost\nPort: 8080\n\nUse a reverse proxy to ti.\n\n\n\n### 1. https Solution: Reverse Proxy\n\nThis is the most secure and convenient solution. It needs the most IT skills to set up.\nHere, you will\n* Set up a reverse proxy which directs the browser to the DanteWiki web server and\n* Block access to ports 4443 and 8080 on the local machine.\n\n### 2. https Solution: Server Certificate\n\nHere, you will\n* buy a web server certificate\n* install the certificate into DanteWiki web server and\n* change the configuration of DanteWiki web server to make the service available on port 443 and\n* change the configuration of DanteWiki web server to redirect an access to port 8080 to port 443\n\n```\nCopy the private key of the server into conf/server.key\nCopy the public key of the server into conf/server.pem\n```\n\n\n### 3. https Solution: Localhost Certificate\n\nHere, you will\n* generate a certificate for localhost using mkcert and\n* install the certificate for localhost on DanteWiki web server\n\n\n\n\n\n### Port Change\n\nWe configured DanteWiki web server to use ports 4443 (for https) and 8080 (for http), as these ports most likely are\navailable on the target machine. However, these ports are not completely standard and require entering the port\nnumber as part of the URL.\n\nYou may want to change the port numbers to the standard 443 (for https) and 80 (for http).\n\n### How to Make Configuration Changes\n\nYou can enter the containers for introspection or configuration change by shell commands via\n\n`docker exec -it my-lap-container /bin/ash`\n`docker exec -it my-mysql /bin/ash`\n\nThere you have an Alpine shell (ash) and can navigate the container as needed.\n\nNote, that the changes you make are persistent only as long as the lifetime of the container.\n\nTo prevent this, we will provide some automated shell scripts for the standard cases. This still has to be done.\n\n\n## Running DanteWiki\n\n## Backup of DanteWiki\n\n\n\n\n\n## Restore of DanteWiki\n\n### Restore by Command Line Interface\n\n\n\n### Restore by Browser User Interface\n\n\n\n\n## Updating DanteWiki\n\nDanteWiki is software in development. As it follows the perpetual-beta philosophy of Web 2.0 we will see updates.\n\nFor small updates you can execute `update-dante.sh`. \n\nIt is good operational practice to make a backup of data before every update.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclecap%2Fdante-wiki-production","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclecap%2Fdante-wiki-production","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclecap%2Fdante-wiki-production/lists"}