First of all install update and upgrade your system:
sudo apt update
sudo apt upgrade
Then, install required libraries:
| Please see https://mattdyson.org/blog/2024/02/using-traefik-with-cloudflare-tunnels for a detailed write-up of this configuration |
| The use of the I2C DS3231/3232 from Armbian SBC has a few quirks, most tutorials on the internet works but only if you have internet connection. | |
| In cuba we can sometimes use Armbian on devices that are not internet connected, so most tutorial fails and after a power failure or reboot you get a non working system because some apps/soft warns and fail with a "date in the future" message. | |
| I have crafted a way to use it as a real systemd service (yes, it's a legacy service...) | |
| Create a file named: rtc_ds1307 in /etc/init.d/ you can use the command below (root privileges are required) | |
| ``` | |
| nano /etc/init.d/rtc_ds1307 |
| ############ If you are using DOCKER all-in-one image, create Dockerfile like: ################ | |
| ############ FROM openproject/openproject:16 ################ | |
| ############ COPY ./enterprise_token.rb app/models/enterprise_token.rb ################ | |
| ############ If you are runing a manual installation: ################ | |
| ############ REPLACE app/models/enterprise_token.rb in the source code with this file! ################ | |
| ############ also be sure to RESTART OpenProject after replacing the file. ################ | |
| ############ If using some other set up (eg docker-compose), read the comments on ################ | |
| ############ https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45 ################ |
Goal: Emulate a Raspberry Pi with QEMU in order to run the Raspbian O/S (based on Debian Linux).
The current setup is not ideal. For one thing, the maximum RAM allowed using the "versatile-pb" firmware is 256 Mb. In addition, only the most basic peripherals, a keyboard and mouse, are supported.
A number of articles have been written on this topic. Most are outdated, and the few recent ones are missing key information.
| import asyncio | |
| import logging | |
| # XXX: REMOVE THIS LINE IN PRODUCTION! | |
| logging.basicConfig(format='%(asctime)s %(lineno)d %(levelname)s:%(message)s', level=logging.DEBUG) | |
| logger = logging.getLogger(__name__) | |
| # Connected client records | |
| clients = dict() | |
Markdown - это облегчённый язык разметки, который преобразует текст в структурированный HTML. Следующее руководство поможет вам разобраться, как использовать Markdown.
# Заголовок первого уровня
## Заголовок второго уровня
### Заголовок третьего уровня
#### Заголовок четвёртого уровня
##### Заголовок пятого уровня
| #!/usr/bin/env bash | |
| # Ubuntu Server or VM Cleaner. Safe by default; aggressive when asked. | |
| # Example safe: sudo ./clean.sh | |
| # Example aggressive: sudo JOURNAL_DAYS=3 AGGRESSIVE=1 ./clean.sh | |
| # Enable Docker image prune (images only): sudo ./clean.sh --docker-images | |
| # Tested on Ubuntu 20.04, 22.04, 24.04 (server/VM images). | |
| set -Eeuo pipefail | |
| trap 'rc=$?; echo "Error on line $LINENO: $BASH_COMMAND (exit $rc)"; exit $rc' ERR | |
| IFS=$'\n\t' |