Tools for Tinkers and SelfHosters
Whatever you plan to Selfhost, there will be a moment that you will be looking for:
General OSS Resources
SelfHosted Email
Self-hosted Stalwart mail server
FAQ
Hot to mount external drives consistently?
lsblk #list them again
lsblk -f /dev/sda1 /dev/sdb2 #see the format and the UUID of a couple of blocks
df -h /dev/sda1 #you will see if its mounted
sudo apt install ntfs-3g
sudo nano /etc/fstab #forever
UUID=some-uuid /mnt/data_ntfs_500 ntfs-3g defaults,uid=1000,gid=1000,umask=0022 0 1
UUID=some-uuid-of-your-drive /mnt/ext4_mount_point_folder ext4 defaults 0 1
For one time:
sudo mkdir -p /mnt/data_ntfs_500
sudo mount -t ntfs /dev/sda1 /mnt/data_ntfs_500/ #example with ntfs
sudo mkdir -p /mnt/data_ext_2tb
sudo mount -t ext4 /dev/sdb2 /mnt/data_ext_2tb/ #example with ntfs
Screen Rotation? 🚀
xrandr --output HDMI-A-0 --rotate normal
xrandr --output HDMI-A-0 --rotate right
Whats my Local IP? 🚀
ifconfig
#ifconfig eth0 | grep -A 10 "<global>" #check mac, and transfered packages
ifconfig eth0 | grep "inet " | awk '{ print $2 }' #if ETH Connected - SEE THE LOCAL IP
#ifconfig tailscale0 | grep "inet " | awk '{ print $2 }' #for Tailscale
What do I like to SelfHost?
Container UI’s 🐳: Portainer,
Syncthing 🐳
Tools 🐳: IT-Tools, CosmosServer, OmniTools
version: '3'
services:
cosmos-server:
image: azukaar/cosmos-server:latest
container_name: cosmos-server
hostname: cosmos-server
privileged: true
restart: always
ports:
- "800:80"
- "4433:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /:/mnt/host
- /var/lib/cosmos:/config
networks:
- default
networks:
default:
- Webs 🐳: Wordpress, Ghost, LinkInBio selfhosted alternatives…
Wrote a post about the most popular CMS here and about LinkStack here
Productivity Tools 🐳: Get proper focus
HTTPs Tools: Like NGINX, Traefik, Cloudflare Tunnels or Pangolin.
PaaS Tools, like Dokploy
The docker files are here 🐳
- SSGs 🐳
Like Hugo Theme Gallery
Even SliDevJS PPTs!
- Change Detection
#https://docs.linuxserver.io/images/docker-changedetection.io/#application-setup
#https://github.com/dgtlmoon/changedetection.io
---
version: "2.1"
services:
changedetection:
image: lscr.io/linuxserver/changedetection.io:latest
container_name: changedetection
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- BASE_URL= #optional
volumes:
- /home/Docker/changedetection/config:/config
ports:
- 5000:5000
restart: unless-stopped
- DUckDNS
https://hub.docker.com/r/linuxserver/duckdns
docker run -d \
--name=duckdns \
--net=host `#optional` \
-e PUID=1000 `#optional` \
-e PGID=1000 `#optional` \
-e TZ=Etc/UTC `#optional` \
-e SUBDOMAINS=subdomain1,subdomain2 \
-e TOKEN=token \
-e UPDATE_IP=ipv4 `#optional` \
-e LOG_FILE=false `#optional` \
-v /path/to/appdata/config:/config `#optional` \
--restart unless-stopped \
lscr.io/linuxserver/duckdns:latest
#https://docs.nextcloud.com/server/latest/user_manual/en/files/file_drop.html#setting-up-your-own-file-drop
If it is here -YOU ARE LUCKY - https://docs.linuxserver.io/images/docker-vscodium/#docker-cli-click-here-for-more-info
=====================================
WIRESHARK
https://docs.linuxserver.io/images/docker-wireshark/
*https://docs.linuxserver.io/images/docker-faster-whisper/#supported-architectures
MEDIA SERVER
DATABASELESS KNOWLEDGE BASE
https://docs.linuxserver.io/images/docker-raneto/#miscellaneous-options https://docs.linuxserver.io/images/docker-hedgedoc/ https://js.wiki/
CRON JOBS UI
https://docs.linuxserver.io/images/docker-healthchecks/
FAIL2BAN
version: “2.1” services: grav: image: lscr.io/linuxserver/grav:latest container_name: grav environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /home/Docker/grav/config:/config ports: - 80:80 restart: unless-stopped
https://hub.docker.com/r/honeygain/honeygain
docker run honeygain/honeygain -tou-accept -email ACCOUNT_EMAIL -pass ACCOUNT_PASSWORD -device DEVICE_NAME
version: '3'
services:
honeygain:
image: honeygain/honeygain
command: -tou-accept -email ACCOUNT_EMAIL -pass ACCOUNT_PASSWORD -device DEVICE_NAME
#https://github.com/gristlabs/grist-core #https://github.com/gristlabs/grist-electron https://hub.docker.com/r/gristlabs/grist#!
docker pull gristlabs/grist
docker run -p 8484:8484 -it gristlabs/grist
#version: '3'
services:
appflowy:
image: appflowyio/appflowy_client:main
volumes:
- $HOME/.Xauthority:/root/.Xauthority:rw
- /tmp/.X11-unix:/tmp/.X11-unix
- /dev/dri:/dev/dri
- /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
- appflowy-data:/home/appflowy
environment:
- DISPLAY=${DISPLAY}
volumes:
appflowy-data:
#https://github.com/huginn/huginn/blob/master/doc/docker/install.md
version: ‘3’ services: huginn: image: ghcr.io/huginn/huginn ports: - “3000:3000”
#Log in to your Huginn instance using the username admin and password password
##https://posthog.com/
#/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"
#version: '3'
services:
posthog:
image: posthog/posthog
ports:
- "8010:8000"
environment:
- DATABASE_URL=postgresql://posthog:posthogpassword@db:5432/posthog
- CLICKHOUSE_HOST=clickhouse
- REDIS_URL=redis://redis:6379/0
- SECRET_KEY=albertoyhermosin123
depends_on:
- db
- clickhouse
- redis
networks:
- posthog-net
db:
image: postgres:12
environment:
- POSTGRES_DB=posthog
- POSTGRES_USER=posthog
- POSTGRES_PASSWORD=posthogpassword34567
networks:
- posthog-net
clickhouse:
image: yandex/clickhouse-server:latest
ports:
- "8123:8123"
networks:
- posthog-net
redis:
image: redis:6
ports:
- "6379:6379"
networks:
- posthog-net
networks:
posthog-net: