1
0
mirror of https://github.com/tiyn/wiki.git synced 2025-04-19 22:17:45 +02:00

Compare commits

..

No commits in common. "8d60e297c1671158e605a16e7e7613425da6ee9c" and "fdf05f68faa37de2f95da1e6ac431c243d8897f7" have entirely different histories.

6 changed files with 29 additions and 455 deletions

View File

@ -42,7 +42,7 @@ docker-compose up -d
## .env
```sh
```txt
TZ="Europe/Berlin"
PT_INITIAL_ROOT_PASSWORD=<root password>

View File

@ -12,16 +12,6 @@ Docker container.
Create the files `rebuild.sh` and `docker-compose.yml` at the same place.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
It is recommended to use the versionnumber instead of `:latest` for both the MariaDB and the
NextCloud image like the following example.
```
nextcloud:22
mariadb:9
```
Make sure to substitute all the occurences of the `:latest` tag accordingly.
Updating has to be done manually so nothing breaks.
## Volumes
@ -60,7 +50,7 @@ volumes:
services:
db:
image: mariadb:latest
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volumes:
@ -72,7 +62,7 @@ services:
- MYSQL_USER=nextcloud
app:
image: nextcloud:latest
image: nextcloud
restart: always
ports:
- 8080:80
@ -91,4 +81,5 @@ volumes:
driver: local
nextcloud:
driver: local
```

View File

@ -1,251 +0,0 @@
# vabene1111 - recipes
This is a [Docker](/wiki/docker.md) container for a [TandoorRecipes](/wiki/tandoor_recipes.md)
server.
The official container and documentation was made by
[TandoorRecipes](https://github.com/TandoorRecipes/recipes).
This docker-rebuild is made up by a `docker-compose.yml` file.
In addition to the main container you need to connect a
[postgres container](/wiki/docker/postgres.md) to it.
## Set-up
Create the files `rebuild.sh`, `.env` and `docker-compose.yml` at the same
place.
Make sure to set `SECRET_KEY` and `POSTGRES_PASSWORD`.
Change the settings according to your needs and run `./rebuild.sh` afterwards.
## Ports
Set the following ports in the `ports:` section.
| Container Port | Recommended outside port | Protocol | Description |
| -------------- | ------------------------ | -------- | ----------- |
| `8083` | `8080` | TCP | WebUI |
## Volumes
Set the following volumes with the -v tag.
| Outside mount/volume name | Container mount | Description |
| ------------------------- | -------------------------- | ------------------------ |
| `staticfiles` | `/opt/recipes/staticfiles` | storage for static files |
| `mediafiles` | `/opt/recipes/mediafiles` | storage for media files |
## rebuild.sh
```sh
#!/bin/sh
docker-compose down
docker pull vabene1111/recipes:latest
docker pull postgres:15-alpine
docker-compose up -d
```
## .env
```sh
# only set this to true when testing/debugging
# when unset: 1 (true) - dont unset this, just for development
DEBUG=0
SQL_DEBUG=0
DEBUG_TOOLBAR=0
# Gunicorn log level for debugging (default value is "info" when unset)
# (see https://docs.gunicorn.org/en/stable/settings.html#loglevel for available settings)
# GUNICORN_LOG_LEVEL="debug"
# HTTP port to bind to
# TANDOOR_PORT=8080
# hosts the application can run under e.g. recipes.mydomain.com,cooking.mydomain.com,...
ALLOWED_HOSTS=*
# random secret key, use for example `base64 /dev/urandom | head -c50` to generate one
# ---------------------------- REQUIRED -------------------------
SECRET_KEY=<secret_key>
# ---------------------------------------------------------------
# your default timezone See https://timezonedb.com/time-zones for a list of timezones
TIMEZONE=Europe/Berlin
# add only a database password if you want to run with the default postgres, otherwise change settings accordingly
DB_ENGINE=django.db.backends.postgresql
# DB_OPTIONS= {} # e.g. {"sslmode":"require"} to enable ssl
POSTGRES_HOST=db_recipes
POSTGRES_PORT=5432
POSTGRES_USER=djangouser
# ---------------------------- REQUIRED -------------------------
POSTGRES_PASSWORD=<password>
# ---------------------------------------------------------------
POSTGRES_DB=djangodb
# database connection string, when used overrides other database settings.
# format might vary depending on backend
# DATABASE_URL = engine://username:password@host:port/dbname
# the default value for the user preference 'fractions' (enable/disable fraction support)
# default: disabled=0
FRACTION_PREF_DEFAULT=0
# the default value for the user preference 'comments' (enable/disable commenting system)
# default comments enabled=1
COMMENT_PREF_DEFAULT=1
# Users can set a amount of time after which the shopping list is refreshed when they are in viewing mode
# This is the minimum interval users can set. Setting this to low will allow users to refresh very frequently which
# might cause high load on the server. (Technically they can obviously refresh as often as they want with their own scripts)
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
# Default for user setting sticky navbar
# STICKY_NAV_PREF_DEFAULT=1
# If base URL is something other than just / (you are serving a subfolder in your proxy for instance http://recipe_app/recipes/)
# Be sure to not have a trailing slash: e.g. '/recipes' instead of '/recipes/'
# SCRIPT_NAME=/recipes
# If staticfiles are stored at a different location uncomment and change accordingly, MUST END IN /
# this is not required if you are just using a subfolder
# This can either be a relative path from the applications base path or the url of an external host
# STATIC_URL=/static/
# If mediafiles are stored at a different location uncomment and change accordingly, MUST END IN /
# this is not required if you are just using a subfolder
# This can either be a relative path from the applications base path or the url of an external host
# MEDIA_URL=/media/
# Serve mediafiles directly using gunicorn. Basically everyone recommends not doing this. Please use any of the examples
# provided that include an additional nxginx container to handle media file serving.
# If you know what you are doing turn this back on (1) to serve media files using djangos serve() method.
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
GUNICORN_MEDIA=0
# GUNICORN SERVER RELATED SETTINGS (see https://docs.gunicorn.org/en/stable/design.html#how-many-workers for recommended settings)
# GUNICORN_WORKERS=1
# GUNICORN_THREADS=1
# S3 Media settings: store mediafiles in s3 or any compatible storage backend (e.g. minio)
# as long as S3_ACCESS_KEY is not set S3 features are disabled
# S3_ACCESS_KEY=
# S3_SECRET_ACCESS_KEY=
# S3_BUCKET_NAME=
# S3_REGION_NAME= # default none, set your region might be required
# S3_QUERYSTRING_AUTH=1 # default true, set to 0 to serve media from a public bucket without signed urls
# S3_QUERYSTRING_EXPIRE=3600 # number of seconds querystring are valid for
# S3_ENDPOINT_URL= # when using a custom endpoint like minio
# S3_CUSTOM_DOMAIN= # when using a CDN/proxy to S3 (see https://github.com/TandoorRecipes/recipes/issues/1943)
# Email Settings, see https://docs.djangoproject.com/en/3.2/ref/settings/#email-host
# Required for email confirmation and password reset (automatically activates if host is set)
# EMAIL_HOST=
# EMAIL_PORT=
# EMAIL_HOST_USER=
# EMAIL_HOST_PASSWORD=
# EMAIL_USE_TLS=0
# EMAIL_USE_SSL=0
# email sender address (default 'webmaster@localhost')
# DEFAULT_FROM_EMAIL=
# prefix used for account related emails (default "[Tandoor Recipes] ")
# ACCOUNT_EMAIL_SUBJECT_PREFIX=
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing
# see docs for more information https://docs.tandoor.dev/features/authentication/
# when unset: 0 (false)
REVERSE_PROXY_AUTH=0
# Default settings for spaces, apply per space and can be changed in the admin view
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes
# SPACE_DEFAULT_MAX_USERS=0 # 0=unlimited users per space
# SPACE_DEFAULT_MAX_FILES=0 # Maximum file storage for space in MB. 0 for unlimited, -1 to disable file upload.
# SPACE_DEFAULT_ALLOW_SHARING=1 # Allow users to share recipes with public links
# allow people to create accounts on your application instance (without an invite link)
# when unset: 0 (false)
# ENABLE_SIGNUP=0
# If signup is enabled you might want to add a captcha to it to prevent spam
# HCAPTCHA_SITEKEY=
# HCAPTCHA_SECRET=
# if signup is enabled you might want to provide urls to data protection policies or terms and conditions
# TERMS_URL=
# PRIVACY_URL=
# IMPRINT_URL=
# enable serving of prometheus metrics under the /metrics path
# ATTENTION: view is not secured (as per the prometheus default way) so make sure to secure it
# trough your web server (or leave it open of you dont care if the stats are exposed)
# ENABLE_METRICS=0
# allows you to setup OAuth providers
# see docs for more information https://docs.tandoor.dev/features/authentication/
# SOCIAL_PROVIDERS = allauth.socialaccount.providers.github, allauth.socialaccount.providers.nextcloud,
# Should a newly created user from a social provider get assigned to the default space and given permission by default ?
# ATTENTION: This feature might be deprecated in favor of a space join and public viewing system in the future
# default 0 (false), when 1 (true) users will be assigned space and group
# SOCIAL_DEFAULT_ACCESS = 1
# if SOCIAL_DEFAULT_ACCESS is used, which group should be added
# SOCIAL_DEFAULT_GROUP=guest
# Django session cookie settings. Can be changed to allow a single django application to authenticate several applications
# when running under the same database
# SESSION_COOKIE_DOMAIN=.example.com
# SESSION_COOKIE_NAME=sessionid # use this only to not interfere with non unified django applications under the same top level domain
# by default SORT_TREE_BY_NAME is disabled this will store all Keywords and Food in the order they are created
# enabling this setting makes saving new keywords and foods very slow, which doesn't matter in most usecases.
# however, when doing large imports of recipes that will create new objects, can increase total run time by 10-15x
# Keywords and Food can be manually sorted by name in Admin
# This value can also be temporarily changed in Admin, it will revert the next time the application is started
# This will be fixed/changed in the future by changing the implementation or finding a better workaround for sorting
# SORT_TREE_BY_NAME=0
# LDAP authentication
# default 0 (false), when 1 (true) list of allowed users will be fetched from LDAP server
#LDAP_AUTH=
#AUTH_LDAP_SERVER_URI=
#AUTH_LDAP_BIND_DN=
#AUTH_LDAP_BIND_PASSWORD=
#AUTH_LDAP_USER_SEARCH_BASE_DN=
#AUTH_LDAP_TLS_CACERTFILE=
#AUTH_LDAP_START_TLS=
# Enables exporting PDF (see export docs)
# Disabled by default, uncomment to enable
# ENABLE_PDF_EXPORT=1
# Recipe exports are cached for a certain time by default, adjust time if needed
# EXPORT_FILE_CACHE_DURATION=600
```
## docker-compose.yml
```yml
version: "3"
services:
web_recipes:
restart: unless-stopped
image: vabene1111/recipes
ports:
- 8083:8080
env_file:
- ./.env
volumes:
- staticfiles:/opt/recipes/staticfiles
- mediafiles:/opt/recipes/mediafiles
depends_on:
- db_recipes
db_recipes:
restart: unless-stopped
image: postgres:15-alpine
volumes:
- postgresql:/var/lib/postgresql/data
env_file:
- ./.env
volumes:
postgresql:
staticfiles:
mediafiles:
```

View File

@ -3,6 +3,29 @@
[Firefox](https://www.mozilla.org/en-US/Firefox) is a free and open-source web
browser.
## Configuration
Firefox has many possible settings and precerences.
This section addresses possible settings and preferences for specific use cases.
### Telemetry
Telemetry is the remote measurement and transmission of data.
To change the telemetry of Firefox navigate to `about:telemetry` and click the
options to toggle between enabled and disabled.
### Enable/Disable Scrolling
On Linux distributions auto scroll is disabled by default.
This means that you cant click the middle mouse button to use it for scrolling.
To enable it go into the preferences and check `Use autoscrolling`.
### Enable/Disable Sponsorings
Sponsorings are embedded ads in Firefox.
After navigating to `about:config` enabling and disabling of sponsorings can be done at
`browser.newtabpage.activity-stream.showSponsored`.
## Usage
The following section addresses different uses and add-ons of Firefox.
@ -14,7 +37,7 @@ including bookmarks smaller.
After navigating to `about:config` the configuration can be done at
`browser.compactmode.show`.
### List of useful Firefox add-ons
## List of useful Firefox add-ons
Following is a list of useful Firefox add-ons.
They can be removed and configured under `about:config`.
@ -65,7 +88,7 @@ They can be removed and configured under `about:config`.
- [Vim Vixen](https://addons.mozilla.org/en-GB/Firefox/addon/vim-vixen) enables
vim movement for Firefox.
### Add a new search engine
## Add a new search engine
You can add a new search engine with the add-on `Add custom search engine`.
Make sure to replace `<url to search engine>` with the according url.
@ -73,179 +96,3 @@ Make sure to replace `<url to search engine>` with the according url.
It is possible to add it without an add-on.
Navigate to the search engine and click the `...` in the address bar.
Then click `Add Search Engine`
### Telemetry
Telemetry is the remote measurement and transmission of data.
To change the telemetry of Firefox navigate to `about:telemetry` and click the
options to toggle between enabled and disabled.
### Scrolling
On Linux distributions auto scroll is disabled by default.
This means that you cant click the middle mouse button to use it for scrolling.
To enable it go into the preferences and check `Use autoscrolling`.
### Sponsorings
Sponsorings are embedded ads in Firefox.
After navigating to `about:config` enabling and disabling of sponsorings can be done at
`browser.newtabpage.activity-stream.showSponsored`.
### Disable Unneeded Services and Features
The following section is based on the website
[privacy-handbuch.de](https://www.privacy-handbuch.de/handbuch_21n.htm) which discusses ways to
disable often unneeded features in Firefox.
The way to disable these services is by setting values in `about:config`.
To disable the Pocket expansion set the following config.
```txt
extensions.pocket.enabled = false
```
To disable the screenshot expansion set the following config.
```txt
extensions.screenshots.disabled = true
```
To disable Firefox Sync set the following config.
```txt
identity.fxaccounts.enabled = false
```
To disable form fillings set the following configs.
```txt
browser.formfill.enable = false
extensions.formautofill.addresses.enabled = false
extensions.formautofill.creditCards.enabled = false
extensions.formautofill.heuristics.enabled = false
```
To disable fingerprinting the GPU set the following configs.
```txt
webgl.enable-debug-renderer-info = false
webgl.disable-extensions = true
webgl.min_capability_mode = true
webgl.disable-fail-if-major-performance-caveat = true
```
To avoid operating system attacks via WebGL set the following configs.
```txt
webgl.disabled = true
webgl.enable-webgl2 = false
```
To disable speculative loading of websites when hovering over links set the following config.
```txt
network.http.speculative-parallel-limit = 0
```
To disable remote deactivation of plugins by firefox aswell as connection of the AMO-servers on a
daily basis set the following configs.
```txt
extensions.blocklist.enabled = false
extensions.getAddons.cache.enabled = false
```
To disable various health reports and telemetry data set the following configs.
```txt
browser.tabs.crashReporting.sendReport = false
datareporting.policy.dataSubmissionEnabled = false
datareporting.healthreport.uploadEnabled = false
toolkit.coverage.endpoint.base = ""
toolkit.coverage.opt-out = true
toolkit.telemetry.coverage.opt-out = true
```
To disable the localization done by pinging Mozillas location server set the following configs.
```txt
browser.region.update.enabled = false
browser.region.network.url = ""
```
To disable safebrowsing which grabs block lists by Mozilla every 30 minutes run the set the
following configs.
```txt
browser.safebrowsing.phishing.enabled = false
browser.safebrowsing.malware.enabled = false
browser.safebrowsing.blockedURIs.enabled = false
browser.safebrowsing.downloads.enabled = false
browser.safebrowsing.downloads.remote.enabled = false
browser.safebrowsing.downloads.remote.block_dangerous = false
browser.safebrowsing.downloads.remote.block_dangerous_host = false
browser.safebrowsing.downloads.remote.block_potentially_unwanted = false
browser.safebrowsing.downloads.remote.block_uncommon = false
browser.safebrowsing.downloads.remote.url = ""
browser.safebrowsing.provider.*.gethashURL = ""
browser.safebrowsing.provider.*.updateURL = ""
browser.pagethumbnails.capturing_disabled = true
```
To disable ads after an update set the following config.
```txt
browser.startup.homepage_override.mstone = ignore
```
To disable the ad system for Firefox add-ons set the following configs.
```txt
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons = false
browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features = false
extensions.htmlaboutaddons.recommendations.enabled = false
extensions.ui.lastCategory = addons://list/extension
```
To disable [VPN](/wiki/vpn.md) ads set the following config.
```txt
browser.vpn_promo.enabled = false
```
To disable the rating samples set the following config.
```txt
app.normandy.enabled = false
```
To always keep add-ons active even on Firefox and Mozilla sites set the following config.
```txt
extensions.webextensions.restrictedDomains = ""
```
To avoid the fingerprinting of desktop settings deactive the standard values for system colors by
setting the following config.
```txt
ui.use_standins_for_native_colors = true
```
Firefox contacts Firefox' servers on each start to check IP connections.
To disable this set the following config.
```txt
network.connectivity-service.enabled = false
```
To disable Microsoft Family Safety on [Windows systems](/wiki/windows/windows.md) which can be used
as a censoring tool set the following config.
```txt
security.family_safety.mode = 0
```
Additionally check [the telemetry section](#telemetry) and
[the sponsoring section](#sponsorings).

View File

@ -48,10 +48,6 @@ Additionally `find` can be used to recursively substitute substrings in all file
find folder -type f -exec rename 's/string1/string2/g' {} +
```
For renaming many files in bulk the `qmv` to move or `qcp` or copy can be used.
Usually both of these commands are packaged withing the `renameutils` package.
For more information visit the [renameutils website](https://www.nongnu.org/renameutils/).
### Expansion
This section is based on the

View File

@ -1,9 +0,0 @@
# Tandoor Recipes
[Tandoor Recipes](https://docs.tandoor.dev/) is an application for managing recipes, meals and
shop lists.
## Setup
The software can be setup via [Docker](/wiki/docker.md) with the
[vabene1111 image](/wiki/docker/vabene1111_-_recipes.md).