Skip to content

Instantly share code, notes, and snippets.

View anttti's full-sized avatar
😺

Antti Mattila anttti

😺
View GitHub Profile
@anttti
anttti / navidrome.md
Created August 3, 2025 10:45
Navidrome setup

Navidrome setup

Decided to spend a Saturday evening setting up Navidrome on my homelab PC. The plan was to be able to listen to music that’s stored on my Synology NAS on my phone regardless of where I am, meaning I’d probably be looking at setting up Tailscale as well. Here's what I had to do:

Prerequisites

  • Acquire cheap AF hardware. In my case, a 2nd hand 30 eur mini-PC
  • Install Proxmox to it. I used this guide (also installed Home Assistant)

Setup steps

  1. Install Navidrome using the Navidrome Proxmox VE Helper-Script
  2. Enable NFS share on my Synology’s music library partition
  3. A crucial step in making it possible for the navidrome user to be able to actually see the files within the NFS share was to select ”Squash: Map all users to admin” when setting up the NFS rule in Synology control panel. Unsure if ”Map all users to guest”
@anttti
anttti / read-file-purify.ts
Last active October 29, 2020 14:12
Reading and parsing a JSON file using Purify
import { EitherAsync } from "purify-ts/EitherAsync";
import { identity } from "purify-ts/Function";
import {
Codec,
string,
number,
date,
boolean,
nullType,
array,
@anttti
anttti / react-file-structure.txt
Created July 26, 2020 10:35
Webbidevaus 90: React-projektin esimerkkitiedostopuu
- src/
--- domain/
----- user/
------- components/
--------- avatar/
----------- index.js
----------- index.css
------- pages/
--------- profile/
----------- index.js
@anttti
anttti / hotdox.json
Last active May 24, 2020 16:39
hotdox.json
{
"version": 1,
"notes": "",
"documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>\n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n",
"keyboard": "hotdox",
"keymap": "hotdox_layout_ergodox_mine.json",
"layout": "LAYOUT_ergodox",
"layers": [
[
"KC_ESC",
@anttti
anttti / Nyhtökaurawokki.md
Created November 5, 2019 14:00
Nyhtökaurawokki

Nyhtökaurawokki

AINEKSET

  • 250 g nuudeleita
  • 1 kesäkurpitsa
  • 1 purjo
  • 1 paprika
  • ½ kiinankaali
  • ½ dl öljyä
@anttti
anttti / music-production.md
Created November 25, 2018 08:14
music-production.md
#!/usr/bin/env bash
# Original Source: http://blog.nonuby.com/blog/2012/07/05/copying-env-vars-from-one-heroku-app-to-another/
## Usage: heroku_env_copy [options] SOURCE TARGET
##
## NOTE: This script will only output the command, you should run it yourself.
##
## Options:
## -h, --help Display this message.
##
@anttti
anttti / encode.elm
Created January 19, 2018 19:30
Encode object and array to JSON body for POSTing in Elm
getWeeklyReports : Cmd Msg
getWeeklyReports =
let
url =
"http://localhost:3001/engagement"
body =
Http.jsonBody <|
Encode.object
[ ( "groupNames", Encode.string "Tammerforce" )
@anttti
anttti / vr.js
Created January 9, 2018 08:48
VR No Flash bookmarklet
javascript:(function(d){var%20s=d.createElement('script');s.src='https://vr.aarre.net/nf.min.js?D='+(new%20Date()).getTime();d.head.appendChild(s)})(document)
@anttti
anttti / share.js
Created March 1, 2017 11:53
Facebook & Twitter -sharing without SDKs
onShareFB() {
window.open(
'https://www.facebook.com/sharer/sharer.php?u=http://SHARE-URL.com',
'pop',
'width=600, height=400, scrollbars=no'
);
},
onShareTwitter() {
window.open(
'https://twitter.com/intent/tweet?text=http://SHARE-URL.com',