Updating from WIkiJS
This commit is contained in:
parent
e90e9bce56
commit
7846130a4a
70 changed files with 18448 additions and 930 deletions
23
sites/getstarted.qmd
Normal file
23
sites/getstarted.qmd
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "Getting Started"
|
||||
---
|
||||
If you want to take a look inside a project, there are currently three important repositories:
|
||||
|
||||
- VIRTUOS_Playground: The repository contains the Unreal Engine Project
|
||||
- VIRTUOS_Assets: Contains all Project related assets like 3D-Models, Graphics etc.
|
||||
- VIRTUOS_Documents: Contains all written Documents
|
||||
|
||||
# Setting up the project with UE5
|
||||
|
||||
If you're familiar with Git, you'll likely already know how to get the files.
|
||||
|
||||
```bash
|
||||
git pull https://code.virtuos.world/VIRTUOS_WORLD/VIRTUOS_Docs.git
|
||||
```
|
||||
|
||||
If you're not comforatable with the command line, you can install a Git GUI like Github Desktop.
|
||||
|
||||
|
||||
```{=html}
|
||||
<iframe width="100%" height="500" src="https://blueprintue.com/render/-azlwrm2/" scrolling="no" allowfullscreen></iframe>
|
||||
```
|
5
sites/overview.qmd
Normal file
5
sites/overview.qmd
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "About"
|
||||
---
|
||||
|
||||
About this site
|
31
sites/styleguide.aux
Normal file
31
sites/styleguide.aux
Normal file
|
@ -0,0 +1,31 @@
|
|||
\relax
|
||||
\providecommand*\new@tpo@label[2]{}
|
||||
\providecommand\hyper@newdestlabel[2]{}
|
||||
\providecommand*\HyPL@Entry[1]{}
|
||||
\HyPL@Entry{0<</S/D>>}
|
||||
\@writefile{toc}{\contentsline {subsection}{\nonumberline Important Terminology}{1}{subsection*.2}\protected@file@percent }
|
||||
\newlabel{important-terminology}{{}{1}{Important Terminology}{subsection*.2}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{\nonumberline Levels/Maps}{1}{subparagraph*.4}\protected@file@percent }
|
||||
\newlabel{levelsmaps}{{}{1}{Levels/Maps}{subparagraph*.4}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{\nonumberline Identifiers}{1}{subparagraph*.6}\protected@file@percent }
|
||||
\newlabel{identifiers}{{}{1}{Identifiers}{subparagraph*.6}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{\nonumberline Cases}{1}{subparagraph*.8}\protected@file@percent }
|
||||
\newlabel{cases}{{}{1}{Cases}{subparagraph*.8}{}}
|
||||
\@writefile{toc}{\contentsline {subparagraph}{\nonumberline Variables / Properties}{2}{subparagraph*.10}\protected@file@percent }
|
||||
\newlabel{variables-properties}{{}{2}{Variables / Properties}{subparagraph*.10}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\nonumberline 0. Principles}{2}{subsection*.12}\protected@file@percent }
|
||||
\newlabel{principles}{{}{2}{0. Principles}{subsection*.12}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline 0.1 If your UE4 project already has a style guide, you should follow it.}{3}{subsubsection*.14}\protected@file@percent }
|
||||
\newlabel{if-your-ue4-project-already-has-a-style-guide-you-should-follow-it.}{{}{3}{0.1 If your UE4 project already has a style guide, you should follow it}{subsubsection*.14}{}}
|
||||
\@writefile{toc}{\contentsline {paragraph}{\nonumberline ``Arguments over style are pointless. There should be a style guide, and you should follow it.''}{3}{paragraph*.16}\protected@file@percent }
|
||||
\newlabel{arguments-over-style-are-pointless.-there-should-be-a-style-guide-and-you-should-follow-it.}{{}{3}{``Arguments over style are pointless. There should be a style guide, and you should follow it.''}{paragraph*.16}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline 0.2 All structure, assets, and code in any Unreal Engine 4 project should look like a single person created it, no matter how many people contributed.}{3}{subsubsection*.18}\protected@file@percent }
|
||||
\newlabel{all-structure-assets-and-code-in-any-unreal-engine-4-project-should-look-like-a-single-person-created-it-no-matter-how-many-people-contributed.}{{}{3}{0.2 All structure, assets, and code in any Unreal Engine 4 project should look like a single person created it, no matter how many people contributed}{subsubsection*.18}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline 0.3 Friends do not let friends have bad style.}{3}{subsubsection*.20}\protected@file@percent }
|
||||
\newlabel{friends-do-not-let-friends-have-bad-style.}{{}{3}{0.3 Friends do not let friends have bad style}{subsubsection*.20}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline 0.4 A team without a style guide is no team of mine.}{4}{subsubsection*.22}\protected@file@percent }
|
||||
\newlabel{a-team-without-a-style-guide-is-no-team-of-mine.}{{}{4}{0.4 A team without a style guide is no team of mine}{subsubsection*.22}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\nonumberline 0.5 Don't Break The Law}{4}{subsubsection*.24}\protected@file@percent }
|
||||
\newlabel{dont-break-the-law}{{}{4}{0.5 Don't Break The Law}{subsubsection*.24}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\nonumberline 00. Globally Enforced Opinions}{4}{subsection*.26}\protected@file@percent }
|
||||
\newlabel{globally-enforced-opinions}{{}{4}{00. Globally Enforced Opinions}{subsection*.26}{}}
|
1125
sites/styleguide.log
Normal file
1125
sites/styleguide.log
Normal file
File diff suppressed because it is too large
Load diff
BIN
sites/styleguide.pdf
Normal file
BIN
sites/styleguide.pdf
Normal file
Binary file not shown.
1638
sites/styleguide.qmd
Normal file
1638
sites/styleguide.qmd
Normal file
File diff suppressed because it is too large
Load diff
2397
sites/styleguide.tex
Normal file
2397
sites/styleguide.tex
Normal file
File diff suppressed because it is too large
Load diff
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire.png
Normal file
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire.png
Normal file
File diff suppressed because one or more lines are too long
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire1.png
Normal file
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire1.png
Normal file
File diff suppressed because one or more lines are too long
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire12.png
Normal file
1817
sites/styleguide_files/mediabag/bp-graphs-align-wire12.png
Normal file
File diff suppressed because one or more lines are too long
333
sites/webservices.qmd
Normal file
333
sites/webservices.qmd
Normal file
|
@ -0,0 +1,333 @@
|
|||
---
|
||||
title: "Websevices"
|
||||
---
|
||||
# Forgejo
|
||||
|
||||
Forgejo is an open source source control system. As game development not only needs to track text files but large binaries (Images, Videos, Audio etc.), traditional providers like GitHub or GitLab might not scale or become quite pricey. This is why a self-hosted solution was set up.
|
||||
|
||||
The Forgejo instance is currently hosted on Hetzner Cloud cpx11. For storage, a 1tb Hetzner Storage Box is attached via CIFS. The Forgejo instance can be accessed on [https://code.virtuos.world](https://code.virtuos.world).
|
||||
|
||||
## Installation on Ubuntu Server 22.04
|
||||
|
||||
- On a new server, add a new user that is not root:
|
||||
|
||||
```bash
|
||||
adduser newusername
|
||||
usermod -aG sudo newusername
|
||||
sudo -i -u git newusername
|
||||
```
|
||||
|
||||
- Create git user account and add it to the docker usergroup, then switch to the new user.
|
||||
|
||||
```bash
|
||||
sudo adduser --system --shell /bin/bash -gecos 'Git Version Control' --group --disabled-password --home /home/git/ git
|
||||
sudo usermod -aG docker git
|
||||
```
|
||||
|
||||
- Automount the storage box by editing `/etc/fstab`. Important: Use the UID and GID of the newly created git user! You can get them by typing `id git`.
|
||||
|
||||
```bash
|
||||
sudo nano /etc/fstab
|
||||
```
|
||||
|
||||
- Add this line
|
||||
|
||||
```
|
||||
//<username>.your-storagebox.de/backup /mnt/<path> cifs iocharset=utf8,rw,credentials=/etc/backup-credentials.txt,uid=<system account>,gid=<system group>,file_mode=0660,dir_mode=0770 0 0
|
||||
```
|
||||
|
||||
Create the credentials file…
|
||||
|
||||
```bash
|
||||
sudo nano /etc/backup-credentials.txt
|
||||
```
|
||||
|
||||
…and fill it with your username and password.
|
||||
|
||||
```
|
||||
username=uXXXXXX
|
||||
password=yourpassword
|
||||
```
|
||||
|
||||
- Install `cifs-utils`
|
||||
|
||||
```bash
|
||||
apt install cifs-utils
|
||||
```
|
||||
|
||||
- Mounting might result in an error regarding the iocharset, to fix that do:
|
||||
|
||||
```bash
|
||||
apt install linux-generic
|
||||
apt install linux-modules-extra-$(uname -r)
|
||||
reboot
|
||||
```
|
||||
|
||||
- Mount the storage
|
||||
|
||||
```bash
|
||||
sudo mount -a
|
||||
```
|
||||
|
||||
- Install docker-compose
|
||||
|
||||
```bash
|
||||
sudo apt install docker-compose
|
||||
```
|
||||
|
||||
- Create docker directory
|
||||
|
||||
```bash
|
||||
sudo mkdir ~/forgejo
|
||||
```
|
||||
|
||||
- Create docker-compose file
|
||||
|
||||
```bash
|
||||
sudo nano docker-compose.yml
|
||||
```
|
||||
|
||||
- Paste the following content. This assumes your UID is 115 and your GID is 120. Use `id -u <username>` to find your values. It also maps the repository to use the storage box.
|
||||
|
||||
> Edit: I removed `- /mnt/source/git/repositories:/data/git/repositories` as it's slow and hooks won't work on the Storage Box!
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
|
||||
networks:
|
||||
forgejo:
|
||||
external: false
|
||||
|
||||
services:
|
||||
server:
|
||||
image: codeberg.org/forgejo/forgejo:1.20
|
||||
container_name: forgejo
|
||||
environment:
|
||||
- USER_UID=115
|
||||
- USER_GID=120
|
||||
restart: always
|
||||
networks:
|
||||
- forgejo
|
||||
volumes:
|
||||
- ./forgejo:/data
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /mnt/source/git/lfs:/data/lfs
|
||||
|
||||
ports:
|
||||
- '3000:3000'
|
||||
- '222:22'
|
||||
```
|
||||
|
||||
For some reason in my case, the app.ini pointed to `/data/git/lfs` instead of `data/lfs`. Fixing this resulted in actually using `/mnt/source/git/lfs` on the host.
|
||||
|
||||
- Install nginx
|
||||
|
||||
```bash
|
||||
sudo apt install nginx
|
||||
```
|
||||
|
||||
- Setup firewall
|
||||
|
||||
```bash
|
||||
sudo ufw allow OpenSSH
|
||||
sudo ufw allow "Nginx Full"
|
||||
sudo ufw enable
|
||||
```
|
||||
|
||||
- Open nginx config
|
||||
|
||||
```bash
|
||||
sudo nano /etc/nginx/sites-available/forgejo
|
||||
```
|
||||
|
||||
- Add:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name my.domain.tld;
|
||||
|
||||
location / {
|
||||
client_max_body_size 4G;
|
||||
proxy_pass http://localhost:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real_IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
(This assumes you have registered a domain and added A and AAAA records.)
|
||||
|
||||
- Create symlink to actually enable the site
|
||||
|
||||
```bash
|
||||
sudo ln -s /etc/nginx/sites-available/forgejo /etc/nginx/sites-enabled/
|
||||
```
|
||||
|
||||
- Install Certbot
|
||||
|
||||
```bash
|
||||
sudo apt install snapd
|
||||
sudo snap install --classic certbot
|
||||
sudo ln -s /snap/bin/certbot /usr/bin/certbot
|
||||
```
|
||||
|
||||
- Get Let's Encrypt certificate. For testing, add `--test-cert`.
|
||||
|
||||
```bash
|
||||
sudo certbot --nginx
|
||||
```
|
||||
|
||||
- Run your docker compose
|
||||
|
||||
```bash
|
||||
cd ~/forgejo
|
||||
sudo docker-compose up -d
|
||||
```
|
||||
|
||||
- To redirect the homepage to the repository view:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
server_name code.virtuos.world;
|
||||
|
||||
location / {
|
||||
client_max_body_size 4G;
|
||||
proxy_pass http://localhost:3000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real_IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
|
||||
location = / {
|
||||
return 301 https://$host/explore/repos;
|
||||
}
|
||||
|
||||
listen [::]:443 ssl ipv6only=on; # managed by Certbot
|
||||
listen 443 ssl; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/code.virtuos.world/fullchain.pem;
|
||||
ssl_certificate_key /etc/letsencrypt/live/code.virtuos.world/privkey.pem;
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf;
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
||||
}
|
||||
|
||||
server {
|
||||
if ($host = code.virtuos.world) {
|
||||
return 301 https://$host$request_uri;
|
||||
}
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name code.virtuos.world;
|
||||
return 404;
|
||||
}
|
||||
```
|
||||
|
||||
Thanks to KeepItTechie for this tutorial: [https://www.youtube.com/watch?v=I4OQMc1rIO4](https://www.youtube.com/watch?v=I4OQMc1rIO4)
|
||||
|
||||
## Customizing Forgejo/Gitea
|
||||
|
||||
On the host, the path starts from the folder with your docker-compose file, `/forgejo/gitea/public/assets/`
|
||||
|
||||
Paste the images with the respective names listed below:
|
||||
|
||||
- `public/img/logo.svg` - Used for site icon, app icon
|
||||
- `public/img/logo.png` - Used for Open Graph
|
||||
- `public/img/avatar_default.png` - Used as the default avatar image
|
||||
- `public/img/apple-touch-icon.png` - Used on iOS devices for bookmarks
|
||||
- `public/img/favicon.svg` - Used for favicon
|
||||
- `public/img/favicon.png` - Used as fallback for browsers that don't support SVG favicons
|
||||
|
||||
---
|
||||
|
||||
# Leantime
|
||||
|
||||
Leantime is an open source project management system. The Leantime instance is hosted on Uberspace.de and can be accessed on [https://manage.virtuos.world](https://manage.virtuos.world).
|
||||
|
||||
## Installation on Uberspace
|
||||
|
||||
- Download latest release package, upload and untar:
|
||||
|
||||
```bash
|
||||
tar -xf <name.tar.gz>
|
||||
```
|
||||
|
||||
- Create an empty MySQL database:
|
||||
|
||||
```bash
|
||||
mysql -e "CREATE DATABASE <username>_leantime"
|
||||
```
|
||||
|
||||
- Point your domain to the `public/` directory
|
||||
Edit `/leantime/public/.htaccess`:
|
||||
|
||||
```apache
|
||||
Options +SymLinksIfOwnerMatch
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteRule ^ index.php [L]
|
||||
```
|
||||
|
||||
- Get your MySQL credentials:
|
||||
|
||||
```bash
|
||||
my_print_defaults client
|
||||
```
|
||||
|
||||
- Fill in your database credentials (username, password, host, dbname) in `config/sample.env`
|
||||
- Rename `config/sample.env` to `config/.env`
|
||||
- Navigate to `<yourdomain.com>/install`
|
||||
- Follow instructions to install database and set up first user account
|
||||
|
||||
## Updating Leantime
|
||||
|
||||
Leantime comes with an update script in `/leantime`:
|
||||
|
||||
```bash
|
||||
./updateLeantime.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Wordpress
|
||||
|
||||
Wordpress is an open source Content Management System (CMS). The Wordpress instance is hosted on Uberspace.de and can be accessed on [https://virtuos.world](https://virtuos.world).
|
||||
|
||||
## Installation on Uberspace
|
||||
|
||||
The Wordpress installation is well documented on
|
||||
[https://lab.uberspace.de/guide_wordpress/](https://lab.uberspace.de/guide_wordpress/)
|
||||
|
||||
## Updating Wordpress
|
||||
|
||||
Wordpress updates itself. Plugins may need manual updating via the Wordpress Interface.
|
||||
|
||||
---
|
||||
|
||||
# Wiki.js
|
||||
|
||||
Wiki.js is an open source Wiki software. The Wiki.js instance is hosted on Uberspace.de and you are currently accessing it on [https://docs.virtuos.world](https://docs.virtuos.world).
|
||||
|
||||
## Installation on Uberspace
|
||||
|
||||
The Wiki.js installation is well documented on
|
||||
[https://lab.uberspace.de/guide_wiki-js/](https://lab.uberspace.de/guide_wiki-js/)
|
||||
|
||||
## Updating Wiki.js
|
||||
|
||||
An update script is available at the same location:
|
||||
[https://lab.uberspace.de/guide_wiki-js/](https://lab.uberspace.de/guide_wiki-js/)
|
||||
|
||||
---
|
||||
|
||||
# Pretix
|
||||
|
||||
Pretix is an open source ticketing system. It's currently not in use. This installation is not as easy, but well documented here:
|
||||
[https://docs.pretix.eu/en/latest/admin/installation/docker_smallscale.html](https://docs.pretix.eu/en/latest/admin/installation/docker_smallscale.html)
|
Loading…
Add table
Add a link
Reference in a new issue