code.libre.is documentation
This commit is contained in:
parent
e0ab8e4a4e
commit
3bc4410df6
96
Makefile
Normal file
96
Makefile
Normal 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
12
docs/Makefile
Normal 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)
|
6
docs/_source/_static/custom.css
Normal file
6
docs/_source/_static/custom.css
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
div.footer-wrapper {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.wy-nav-content {
|
||||||
|
max-width: 95%;
|
||||||
|
}
|
BIN
docs/_source/_static/favicon.ico
Normal file
BIN
docs/_source/_static/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.2 KiB |
46
docs/_source/_static/handsontable.full.min.css
vendored
Normal file
46
docs/_source/_static/handsontable.full.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
995
docs/_source/_static/handsontable.full.min.js
vendored
Normal file
995
docs/_source/_static/handsontable.full.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
docs/_source/_static/logo.png
Normal file
BIN
docs/_source/_static/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
6
docs/_source/_templates/latex.tex
Normal file
6
docs/_source/_templates/latex.tex
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{% extends 'article.tpl' %}
|
||||||
|
|
||||||
|
{% block packages %}
|
||||||
|
\usepackage{fontspec}
|
||||||
|
{{ super() }}
|
||||||
|
{% endblock packages %}
|
6
docs/_source/_templates/layout.html
Normal file
6
docs/_source/_templates/layout.html
Normal 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
31
docs/_source/about.rst
Normal 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
|
||||||
|
|
343
docs/_source/code-libre-is.rst
Normal file
343
docs/_source/code-libre-is.rst
Normal 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
74
docs/_source/conf.py
Normal 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
16
docs/_source/index.rst
Normal 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
7
docs/_source/license.rst
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
=======
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
Libre Developers Documentation files are released under the Apache 2.0 license.
|
||||||
|
|
||||||
|
Copyright (C) 2024, Jeff Moe
|
||||||
|
|
73
docs/_source/locale/en/LC_MESSAGES/about.po
Normal file
73
docs/_source/locale/en/LC_MESSAGES/about.po
Normal 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 ""
|
299
docs/_source/locale/en/LC_MESSAGES/code-libre-is.po
Normal file
299
docs/_source/locale/en/LC_MESSAGES/code-libre-is.po
Normal 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 ""
|
37
docs/_source/locale/en/LC_MESSAGES/index.po
Normal file
37
docs/_source/locale/en/LC_MESSAGES/index.po
Normal 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 ""
|
35
docs/_source/locale/en/LC_MESSAGES/license.po
Normal file
35
docs/_source/locale/en/LC_MESSAGES/license.po
Normal 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
26
docs/index.html
Normal 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>
|
Loading…
Reference in a new issue