code.libre.is documentation

This commit is contained in:
Jeff Moe 2024-08-31 12:30:08 -06:00
parent e0ab8e4a4e
commit 3bc4410df6
19 changed files with 2108 additions and 0 deletions

96
Makefile Normal file
View file

@ -0,0 +1,96 @@
# Makefile
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = docs/_source
BUILDDIR = docs/_build
AUTOBUILDOPTS = --host 127.0.0.1 --port 8000 --ignore "*.swp" --ignore "*.swx"
GETTEXT_BUILD = gettext_build
UPDATE_LOCALE = sphinx-intl update -p $(BUILDDIR)/locale/gettext -d $(SOURCEDIR)/locale -l
PO_FILES = $(wildcard docs/_source/locale/*/LC_MESSAGES/*.po)
MSGATTRIB = msgattrib
#LANGUAGES = am ar bg bn ca cak cs cy da de el en eo es et eu fa fi fil fr he hi hr hu id it ja ko lkt lt lv mk mr ms ne nl no pl pt ro ru si sk sl sq sr sv ta te th tr uk ur vi zh
LANGUAGES = en
.PHONY: check help html livehtml clean_sphinx clean gettext_build update_locale build_html all copy clean_po latex latexpdf
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " clean Remove all build files and directories (including translations)"
@echo " all Clean and make all targets"
@echo " gettext_build Build localisation strings for translation"
@echo " update_locale Update localisation"
@echo " update_locale_<lang> Update localisation for <lang>"
@echo " html Build the HTML documentation for all languages"
@echo " html_<lang> Build HTML documentation for <lang>"
@echo " latex Build the documentation using LaTeX for all languages"
@echo " latex_<lang> Build the documentation using LaTeX for <lang>"
@echo " latexpdf Build the PDFS documentation using LaTeX for all languages"
@echo " latexpdf_<lang> Build the PDFS documentation using LaTeX for <lang>"
@echo " index Copy static docs/index.html to docs/_build/html/index.html"
@echo " translations Translate from English. Note: needs AI translator set up"
all: clean gettext_build update_locale html index
check:
@for po in $(PO_FILES); do \
echo "Checking $$po..."; \
msgfmt --check --output-file=- "$$po" || exit 1; \
done
index:
cp -p docs/index.html docs/_build/html/index.html
clean:
for file in $(PO_FILES); do \
$(MSGATTRIB) --no-obsolete -o $$file $$file; \
done
cd docs && make clean
find $(SOURCEDIR) -type f -name "*.mo" -delete
rm -rf $(BUILDDIR)/*
gettext_build:
$(SPHINXBUILD) -b gettext -c $(SOURCEDIR) -d $(BUILDDIR)/doctrees/$(GETTEXT_BUILD) $(SOURCEDIR) $(BUILDDIR)/locale/gettext
update_locale:
@pids="" ; \
for lang in $(LANGUAGES); do \
( echo "Updating locale for $$lang..." ; $(UPDATE_LOCALE) $$lang ) & pids="$$pids $$!" ; \
done ; \
for pid in $$pids; do \
wait $$pid ; \
done
update_locale_%:
$(UPDATE_LOCALE) $*
html:
@for lang in $(LANGUAGES); do \
echo "Building HTML documentation for $$lang..."; \
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$$lang $(SOURCEDIR) $(BUILDDIR)/html/$$lang; \
done
html_%: gettext_build
$(SPHINXBUILD) -b html -d $(BUILDDIR)/doctrees -D language=$* -c $(SOURCEDIR) $(SOURCEDIR) $(BUILDDIR)/html/$*/
latex:
@for lang in $(LANGUAGES); do \
echo "Building LaTeX documentation for $$lang..."; \
$(SPHINXBUILD) -b latex -d $(BUILDDIR)/doctrees -D language=$$lang -Dlatex_engine=xelatex $(SOURCEDIR) $(BUILDDIR)/latex/$$lang; \
done
latex_%:
$(SPHINXBUILD) -b latex -d $(BUILDDIR)/doctrees -D language=$* -Dlatex_engine=xelatex $(SOURCEDIR) $(BUILDDIR)/latex/$*/; \
latexpdf:
@for lang in $(filter-out ar he ja,$(LANGUAGES)); do \
echo "Building PDF documentation for $$lang..."; \
$(MAKE) -C $(BUILDDIR)/latex/$$lang ; \
done
latexpdf_%:
$(MAKE) -C $(BUILDDIR)/latex/$* ; \
translations:
./scripts/translate-all.sh

12
docs/Makefile Normal file
View file

@ -0,0 +1,12 @@
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = _source
BUILDDIR = _build
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View file

@ -0,0 +1,6 @@
div.footer-wrapper {
display: none;
}
.wy-nav-content {
max-width: 95%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View file

@ -0,0 +1,6 @@
{% extends 'article.tpl' %}
{% block packages %}
\usepackage{fontspec}
{{ super() }}
{% endblock packages %}

View file

@ -0,0 +1,6 @@
{% extends "!layout.html" %}
{%- block extrahead %}
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/handsontable.full.min.css', 1) }}">
<script src="{{ pathto('_static/handsontable.full.min.js', 1) }}"></script>
{% endblock %}

31
docs/_source/about.rst Normal file
View file

@ -0,0 +1,31 @@
=====
About
=====
This is documentation for the developers of libre.is.
Status
======
Under development.
Issues
======
Issues are tracked with Forgejo:
* https://code.libre.is/libre/dev-libre-is/issues
Links
=====
`<https://dev.libre.is/>`_
`<https://code.libre.is/libre/dev-libre-is>`_
Author
======
| Libre Documentation Developers <dev-libre-is@libre.is>
| New Hampshire, USA

View file

@ -0,0 +1,343 @@
=============
code.libre.is
=============
This is documentation for the system administrators of
`<https://code.libre.is/>`_
The code server is a git server running Forgejo.
Status
======
Under development.
Issues
======
Issues are tracked with Forgejo:
`<https://code.libre.is/libre/dev-libre-is/issues>`_
Links
=====
`<https://code.libre.is/>`_
`<https://dev.libre.is/>`_
`<https://code.libre.is/libre/dev-libre-is>`_
Operating System
================
Install Debian stable, bookworm at present.
Install dependenices:
.. code-block:: sh
sudo apt install python3-certbot-apache git git-lfs gpg mariadb-server \
rsyslog
sudo apt clean
Open up firewalls as needed.
Apache
======
Set up apache and get other dependencies, ala:
.. code-block:: sh
sudo su -
echo "code.libre.is" > /var/www/html/index.html
certbot -d code.libre.is
Firewall
========
Briefly, something like this. Note change the real ssh port,
as defined in /etc/ssh/sshd_config, from 9999 to whatever it
is on the server. This runs two ssh servers. One for server admin,
one for Forgejo connections.
File: /etc/iptables.test.rules
.. code-block:: sh
# iptables.test.rules
*filter
# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT
# SSH Access Port
-A INPUT -p tcp --dport 9999 -j ACCEPT
# Forgejo ssh
# redirect
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 2222 -j ACCEPT
# web
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
# Allow ping
#-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
# Reject all other inbound - default deny unless explicitly allowed policy:
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
# Redirect for Forgejo from 2222 to 22
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 22 -j REDIRECT --to-ports 2222
-A OUTPUT -p tcp -m tcp --dport 22 -j REDIRECT --to-ports 2222
COMMIT
MariaDB
=======
It is best to use Forgejo with a database for 10+ users.
MariaDB is like MySQL, but a better fork.
For now, the database will be hosted on the same server as the Forgejo server.
If it gets bigger, it can be moved to a dedicated machine.
If it gets even bigger than that, it can be clustered with Galera.
Set up MariaDB thusly:
.. code-block:: sh
sudo mariadb-admin password
mariadb -uroot -p
In the database run:
.. code-block:: sql
SET old_passwords=0;
CREATE USER 'forgejo'@'%' IDENTIFIED BY 'mypassword';
CREATE DATABASE forgejodb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin';
GRANT ALL PRIVILEGES ON forgejodb.* TO 'forgejo';
FLUSH PRIVILEGES;
EXIT
Test the new database setup thusly:
.. code-block:: sh
mariadb -u forgejo -p forgejodb
Forgejo
=======
Forgejo main site:
`<https://forgejo.org/>`_
Forgejo release information:
`<https://forgejo.org/docs/next/contributor/release/>`_
For this server we'll be using the Long Term Support (LTS) releases,
currently starting with the major version "7".
Download information: `<https://forgejo.org/download/>`_
Latest releases can be found here:
`<https://codeberg.org/forgejo/forgejo/releases/>`_
Binary install docs here:
`<https://forgejo.org/docs/latest/admin/installation-binary/>`_
Get Forgejo GPG key:
.. code-block:: sh
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
Install Forgejo thusly.
.. code-block:: sh
wget https://codeberg.org/forgejo/forgejo/releases/download/v7.0.8/forgejo-7.0.8-linux-amd64
wget https://codeberg.org/forgejo/forgejo/releases/download/v7.0.8/forgejo-7.0.8-linux-amd64.sha256
wget https://codeberg.org/forgejo/forgejo/releases/download/v7.0.8/forgejo-7.0.8-linux-amd64.asc
cat forgejo-7.0.8-linux-amd64.sha256 ; sha256sum forgejo-7.0.8-linux-amd64
gpg --verify forgejo-7.0.8-linux-amd64.asc forgejo-7.0.8-linux-amd64
sudo cp forgejo-7.0.8-linux-amd64 /usr/local/bin/forgejo
sudo chmod 755 /usr/local/bin/forgejo
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' \
--group --disabled-password --home /home/git git
sudo mkdir /var/lib/forgejo
sudo chown git:git /var/lib/forgejo
sudo chmod 750 /var/lib/forgejo
sudo mkdir /etc/forgejo
sudo chown root:git /etc/forgejo
sudo chmod 770 /etc/forgejo
sudo wget -O /etc/systemd/system/forgejo.service \
https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service
sudo sed -i -e 's/#Wants=mariadb.service/Wants=mariadb.service/g' \
/etc/systemd/system/forgejo.service
sudo sed -i -e 's/#After=mariadb.service/After=mariadb.service/g' \
/etc/systemd/system/forgejo.service
sudo systemctl daemon-reload
sudo systemctl enable forgejo.service
sudo systemctl start forgejo.service
Reverse Proxy
=============
Set up Apache to be a reverse proxy for Forgejo.
.. code-block:: sh
sudo a2enmod proxy proxy_http
sudo vim /etc/apache2/sites-available/code-libre-is.conf
<VirtualHost 70.39.110.155:80>
ServerName code.libre.is
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error-code-libre-is.log
CustomLog ${APACHE_LOG_DIR}/access-code-libre-is.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =code.libre.is
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost 70.39.110.155:443>
ServerName code.libre.is
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error-code-libre-is.log
CustomLog ${APACHE_LOG_DIR}/access-code-libre-is.log combined
RewriteEngine on
ProxyPreserveHost On
ProxyRequests off
AllowEncodedSlashes NoDecode
ProxyPass / http://127.0.0.1:3000/ nocanon
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/code.libre.is/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/code.libre.is/privkey.pem
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Remove old Apache configs, and put new one in place.
.. code-block:: sh
sudo rm /etc/apache2/sites-enabled/000-default.conf
sudo rm /etc/apache2/sites-enabled/000-default-le-ssl.conf
sudo ln -s /etc/apache2/sites-available/code-libre-is.conf \
/etc/apache2/sites-enabled/
sudo systemctl daemon-reload
sudo systemctl restart apache2
Admin Setup
===========
Now connect to the newly created site and configure:
`<https://code.libre.is/>`_
Most of the defaults are ok. Set:
* Database type: MySQL
* Host: 127.0.0.1:3306
* Username: forgejo
* Password: Set to database password
* Database name: forgejodb (note "db" at end, like above)
* Instance title: Libre Code
* SSH server port: 22
The reset should be ok by default.
The main SSH should be on an alternative port.
Email settings will be set up at another point.
Uncheck:
* Enable OpenID sign-in
Set up:
* Administrator account settings
* Administrator username: codeadmin
Configure Forgejo
=================
Configuration cheat sheet:
`<https://forgejo.org/docs/latest/admin/config-cheat-sheet/>`_
Configure Forgejo thusly:
.. code-block:: sh
sudo vim /etc/forgejo/app.ini
In the very top section, add:
.. code-block:: sh
APP_NAME = Libre Code
APP_SLOGAN = Code free or die
APP_DISPLAY_NAME_FORMAT = {APP_NAME}: {APP_SLOGAN}
Add to the [server] section, so port 3000 is just listening on localhost.
Also set the SSH to use a different than the main openssh server.
This way admin and Forgejo key/ports/etc are separate.
This requires forwarding port 2222 to port 22 in the firewall.
.. code-block:: sh
HTTP_ADDR = 127.0.0.1
SSH_PORT = 22
START_SSH_SERVER = true
SSH_LISTEN_PORT = 2222
Under [service] change this to true:
.. code-block:: sh
DISABLE_REGISTRATION = true
Add sections:
.. code-block:: sh
[ui]
SHOW_USER_EMAIL = false
[ui.meta]
AUTHOR = Libre Developers
DESCRIPTION = Free Software

74
docs/_source/conf.py Normal file
View file

@ -0,0 +1,74 @@
import sys, os
import sphinx.util.logging
# If Python scripts are part of docs
# sys.path.append("../../src/muhproject")
logger = sphinx.util.logging.getLogger(__name__)
project = "Libre Developers Documentation"
copyright = "2024, Jeff Moe"
author = "Jeff Moe"
version = "0"
release = "0.0.1"
extensions = [
"notfound.extension",
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.napoleon",
"sphinx.ext.viewcode",
]
templates_path = ["_templates"]
exclude_patterns = []
source_suffix = ".rst"
master_doc = "index"
pygments_style = "staroffice"
python_display_short_literal_types = True
todo_include_todos = False
html_show_copyright = False
html_static_path = ["_static"]
html_favicon = "_static/favicon.ico"
html_logo = "_static/logo.png"
html_last_updated_fmt: None
html_show_sphinx = False
html_show_sourcelink = False
html_link_suffix = ".html"
html_theme = "sphinx_rtd_theme"
html_theme_options = {
"style_nav_header_background": "#4fb31f",
"display_version": False,
"prev_next_buttons_location": "bottom",
"collapse_navigation": True,
"sticky_navigation": True,
"navigation_depth": 4,
"includehidden": True,
"titles_only": False,
}
html_css_files = [
"custom.css",
]
html_context = {
"display_lower_left": True,
}
locale_dirs = ["locale/"]
gettext_compact = False
language = "en"
# languages = ('am', 'ar', 'bn', 'de', 'el', 'en', 'eo', 'es', 'eu', 'fil', 'fr', 'he', 'hi', 'id', 'it', 'ja', 'ko', 'mr', 'ms', 'nl', 'pl', 'pt', 'ru', 'see', 'ta', 'te', 'th', 'tr', 'ur', 'vi', 'zh')
languages = "en"
html_search_language = "en"
latex_engine = "xelatex"
latex_elements = {
"extraclassoptions": "openany,oneside",
"sphinxsetup": "hmargin={1in,1in}, vmargin={1in,1in}",
"inputenc": "",
"utf8extra": "",
"preamble": r"""
\usepackage{xcolor}
\usepackage{polyglossia}
""",
}
notfound_urls_prefix = "/en/"

16
docs/_source/index.rst Normal file
View file

@ -0,0 +1,16 @@
==============================
Libre Developers Documentation
==============================
Libre developers documentation.
* All the things
.. toctree::
about
code-libre-is
license
:maxdepth: 2
:caption: Contents:

7
docs/_source/license.rst Normal file
View file

@ -0,0 +1,7 @@
=======
License
=======
Libre Developers Documentation files are released under the Apache 2.0 license.
Copyright (C) 2024, Jeff Moe

View file

@ -0,0 +1,73 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024, Jeff Moe
# This file is distributed under the same license as the Libre Developers
# Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Libre Developers Documentation 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-31 08:40-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../../_source/about.rst:3
msgid "About"
msgstr ""
#: ../../../_source/about.rst:4
msgid "This is documentation for the developers of libre.is."
msgstr ""
#: ../../../_source/about.rst:8
msgid "Status"
msgstr ""
#: ../../../_source/about.rst:9
msgid "Under development."
msgstr ""
#: ../../../_source/about.rst:13
msgid "Issues"
msgstr ""
#: ../../../_source/about.rst:14
msgid "Issues are tracked with Forgejo:"
msgstr ""
#: ../../../_source/about.rst:16
msgid "https://code.libre.is/libre/dev-libre-is/issues"
msgstr ""
#: ../../../_source/about.rst:20
msgid "Links"
msgstr ""
#: ../../../_source/about.rst:22
msgid "`<https://dev.libre.is/>`_"
msgstr ""
#: ../../../_source/about.rst:24
msgid "`<https://code.libre.is/libre/dev-libre-is>`_"
msgstr ""
#: ../../../_source/about.rst:28
msgid "Author"
msgstr ""
#: ../../../_source/about.rst:29
msgid "Libre Documentation Developers <dev-libre-is@libre.is>"
msgstr ""
#: ../../../_source/about.rst:30
msgid "New Hampshire, USA"
msgstr ""

View file

@ -0,0 +1,299 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024, Jeff Moe
# This file is distributed under the same license as the Libre Developers
# Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Libre Developers Documentation 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-31 12:17-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../../_source/code-libre-is.rst:3
msgid "code.libre.is"
msgstr ""
#: ../../../_source/code-libre-is.rst:4
msgid "This is documentation for the system administrators of"
msgstr ""
#: ../../../_source/code-libre-is.rst:6 ../../../_source/code-libre-is.rst:25
#: ../../../_source/code-libre-is.rst:265
msgid "`<https://code.libre.is/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:8
msgid "The code server is a git server running Forgejo."
msgstr ""
#: ../../../_source/code-libre-is.rst:11
msgid "Status"
msgstr ""
#: ../../../_source/code-libre-is.rst:12
msgid "Under development."
msgstr ""
#: ../../../_source/code-libre-is.rst:16
msgid "Issues"
msgstr ""
#: ../../../_source/code-libre-is.rst:17
msgid "Issues are tracked with Forgejo:"
msgstr ""
#: ../../../_source/code-libre-is.rst:19
msgid "`<https://code.libre.is/libre/dev-libre-is/issues>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:23
msgid "Links"
msgstr ""
#: ../../../_source/code-libre-is.rst:27
msgid "`<https://dev.libre.is/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:29
msgid "`<https://code.libre.is/libre/dev-libre-is>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:33
msgid "Operating System"
msgstr ""
#: ../../../_source/code-libre-is.rst:34
msgid "Install Debian stable, bookworm at present."
msgstr ""
#: ../../../_source/code-libre-is.rst:36
msgid "Install dependenices:"
msgstr ""
#: ../../../_source/code-libre-is.rst:44
msgid "Open up firewalls as needed."
msgstr ""
#: ../../../_source/code-libre-is.rst:48
msgid "Apache"
msgstr ""
#: ../../../_source/code-libre-is.rst:49
msgid "Set up apache and get other dependencies, ala:"
msgstr ""
#: ../../../_source/code-libre-is.rst:59
msgid "Firewall"
msgstr ""
#: ../../../_source/code-libre-is.rst:60
msgid ""
"Briefly, something like this. Note change the real ssh port, as defined in /"
"etc/ssh/sshd_config, from 9999 to whatever it is on the server. This runs "
"two ssh servers. One for server admin, one for Forgejo connections. File: /"
"etc/iptables.test.rules"
msgstr ""
#: ../../../_source/code-libre-is.rst:116
msgid "MariaDB"
msgstr ""
#: ../../../_source/code-libre-is.rst:117
msgid ""
"It is best to use Forgejo with a database for 10+ users. MariaDB is like "
"MySQL, but a better fork. For now, the database will be hosted on the same "
"server as the Forgejo server. If it gets bigger, it can be moved to a "
"dedicated machine. If it gets even bigger than that, it can be clustered "
"with Galera."
msgstr ""
#: ../../../_source/code-libre-is.rst:123
msgid "Set up MariaDB thusly:"
msgstr ""
#: ../../../_source/code-libre-is.rst:130
msgid "In the database run:"
msgstr ""
#: ../../../_source/code-libre-is.rst:141
msgid "Test the new database setup thusly:"
msgstr ""
#: ../../../_source/code-libre-is.rst:150
msgid "Forgejo"
msgstr ""
#: ../../../_source/code-libre-is.rst:152
msgid "Forgejo main site:"
msgstr ""
#: ../../../_source/code-libre-is.rst:154
msgid "`<https://forgejo.org/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:156
msgid "Forgejo release information:"
msgstr ""
#: ../../../_source/code-libre-is.rst:158
msgid "`<https://forgejo.org/docs/next/contributor/release/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:160
msgid ""
"For this server we'll be using the Long Term Support (LTS) releases, "
"currently starting with the major version \"7\"."
msgstr ""
#: ../../../_source/code-libre-is.rst:163
msgid "Download information: `<https://forgejo.org/download/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:165
msgid "Latest releases can be found here:"
msgstr ""
#: ../../../_source/code-libre-is.rst:167
msgid "`<https://codeberg.org/forgejo/forgejo/releases/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:169
msgid "Binary install docs here:"
msgstr ""
#: ../../../_source/code-libre-is.rst:171
msgid "`<https://forgejo.org/docs/latest/admin/installation-binary/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:173
msgid "Get Forgejo GPG key:"
msgstr ""
#: ../../../_source/code-libre-is.rst:179
msgid "Install Forgejo thusly."
msgstr ""
#: ../../../_source/code-libre-is.rst:211
msgid "Reverse Proxy"
msgstr ""
#: ../../../_source/code-libre-is.rst:212
msgid "Set up Apache to be a reverse proxy for Forgejo."
msgstr ""
#: ../../../_source/code-libre-is.rst:248
msgid "Remove old Apache configs, and put new one in place."
msgstr ""
#: ../../../_source/code-libre-is.rst:261
msgid "Admin Setup"
msgstr ""
#: ../../../_source/code-libre-is.rst:263
msgid "Now connect to the newly created site and configure:"
msgstr ""
#: ../../../_source/code-libre-is.rst:267
msgid "Most of the defaults are ok. Set:"
msgstr ""
#: ../../../_source/code-libre-is.rst:269
msgid "Database type: MySQL"
msgstr ""
#: ../../../_source/code-libre-is.rst:270
msgid "Host: 127.0.0.1:3306"
msgstr ""
#: ../../../_source/code-libre-is.rst:271
msgid "Username: forgejo"
msgstr ""
#: ../../../_source/code-libre-is.rst:272
msgid "Password: Set to database password"
msgstr ""
#: ../../../_source/code-libre-is.rst:273
msgid "Database name: forgejodb (note \"db\" at end, like above)"
msgstr ""
#: ../../../_source/code-libre-is.rst:274
msgid "Instance title: Libre Code"
msgstr ""
#: ../../../_source/code-libre-is.rst:275
msgid "SSH server port: 22"
msgstr ""
#: ../../../_source/code-libre-is.rst:277
msgid ""
"The reset should be ok by default. The main SSH should be on an alternative "
"port. Email settings will be set up at another point."
msgstr ""
#: ../../../_source/code-libre-is.rst:281
msgid "Uncheck:"
msgstr ""
#: ../../../_source/code-libre-is.rst:283
msgid "Enable OpenID sign-in"
msgstr ""
#: ../../../_source/code-libre-is.rst:285
msgid "Set up:"
msgstr ""
#: ../../../_source/code-libre-is.rst:287
msgid "Administrator account settings"
msgstr ""
#: ../../../_source/code-libre-is.rst:288
msgid "Administrator username: codeadmin"
msgstr ""
#: ../../../_source/code-libre-is.rst:292
msgid "Configure Forgejo"
msgstr ""
#: ../../../_source/code-libre-is.rst:294
msgid "Configuration cheat sheet:"
msgstr ""
#: ../../../_source/code-libre-is.rst:296
msgid "`<https://forgejo.org/docs/latest/admin/config-cheat-sheet/>`_"
msgstr ""
#: ../../../_source/code-libre-is.rst:298
msgid "Configure Forgejo thusly:"
msgstr ""
#: ../../../_source/code-libre-is.rst:305
msgid "In the very top section, add:"
msgstr ""
#: ../../../_source/code-libre-is.rst:313
msgid ""
"Add to the [server] section, so port 3000 is just listening on localhost. "
"Also set the SSH to use a different than the main openssh server. This way "
"admin and Forgejo key/ports/etc are separate. This requires forwarding port "
"2222 to port 22 in the firewall."
msgstr ""
#: ../../../_source/code-libre-is.rst:326
msgid "Under [service] change this to true:"
msgstr ""
#: ../../../_source/code-libre-is.rst:333
msgid "Add sections:"
msgstr ""

View file

@ -0,0 +1,37 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024, Jeff Moe
# This file is distributed under the same license as the Libre Developers
# Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Libre Developers Documentation 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-31 08:16-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../../_source/index.rst:10
msgid "Contents:"
msgstr ""
#: ../../../_source/index.rst:3
msgid "Libre Developers Documentation"
msgstr ""
#: ../../../_source/index.rst:5
msgid "Libre developers documentation."
msgstr ""
#: ../../../_source/index.rst:7
msgid "All the things"
msgstr ""

View file

@ -0,0 +1,35 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024, Jeff Moe
# This file is distributed under the same license as the Libre Developers
# Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Libre Developers Documentation 0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-31 08:16-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.16.0\n"
#: ../../../_source/license.rst:3
msgid "License"
msgstr ""
#: ../../../_source/license.rst:4
msgid ""
"Libre Developers Documentation files are released under the Apache 2.0 "
"license."
msgstr ""
#: ../../../_source/license.rst:6
msgid "Copyright (C) 2024, Jeff Moe"
msgstr ""

26
docs/index.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Libre Developers Documentation.</title>
<noscript>
<meta http-equiv="refresh" content="1; url=/en/" />
</noscript>
<script>
document.addEventListener('DOMContentLoaded', function() {
var language = navigator.language || navigator.userLanguage;
var path = '/en/';
switch (language.substr(0, 2)) {
case 'en':
path = '/en/';
break;
}
window.location.href = path;
});
</script>
</head>
<body>
</body>
</html>