Selfhosted

39718 readers
1459 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
1
 
 

Hello everyone! Mods here 😊

Tell us, what services do you selfhost? Extra points for selfhosted hardware infrastructure.

Feel free to take it as a chance to present yourself to the community!

🦎

2
3
 
 

Announcement by the creator: https://forum.syncthing.net/t/discontinuing-syncthing-android/23002

Unfortunately I don’t have good news on the state of the android app: I am retiring it. The last release on Github and F-Droid will happen with the December 2024 Syncthing version.

Reason is a combination of Google making Play publishing something between hard and impossible and no active maintenance. The app saw no significant development for a long time and without Play releases I do no longer see enough benefit and/or have enough motivation to keep up the ongoing maintenance an app requires even without doing much, if any, changes.

Thanks a lot to everyone who ever contributed to this app!

4
 
 

Bitwarden introduced a non-free dependency to their clients. The Bitwarden CTO tried to frame this as a bug but his explanation does not really make it any less concerning.

Perhaps it is time for alternative Bitwarden-compatible clients. An open source client that's not based on Electron would be nice. Or move to something else entirely? Are there any other client-server open source password managers?

5
 
 

Hey everyone,

it’s me again, one of the two developers behind GameVault, a self-hosted gaming platform similar to how Plex/Jellyfin is for your movies and series, but for your game collection. If you've hoarded a bunch of games over the years, this app is going to be your best friend. Think of it as your own personal Steam, hosted on your own server.

If you haven’t heard of GameVault yet, you can check it out here and get started within 5 minutesβ€”seriously, it’s a game changer.

For those who already know GameVault, or its old name He-Who-Must-Not-Be-Named, we are excited to tell you we just launched a major update. I’m talking a massive overhaulβ€”so much so, that we could’ve rebuilt the whole thing from scratch. Here’s the big news: We’re no longer relying on RAWG or Google Images for game metadata. Instead, we’ve officially partnered with IGDB/Twitch for a more reliable and extended metadata experience!

But it doesn’t stop there. We’ve also rolled out a new plugin system and a metadata framework that allows you to connect to multiple metadata providers at once. It’s never been this cool to run your own Steam-like platform right from your good ol' 19" incher below your desk!

What’s new in this update?

  • IGDB/Twitch Integration: Say goodbye to unreliable metadata scrapers. Now you can enjoy game info sourced directly from IGDB.
  • Customizable Metadata: Edit and fine-tune game metadata with ease. Your changes are saved separately, so the original data stays intact.
  • Plugin System: Build your own plugins for metadata or connect to as many sources as you wantβ€”unlimited flexibility!
  • Parental Controls: Manage age-appropriate access for the family and children.
  • Built-in Media Player: Watch game trailers and gameplay videos directly in GameVault.
  • UI Overhaul: A fresh, streamlined look for the app, community, game and admin interface.
  • Halloween Theme: For GameVault+ users, we’ve added a spooky Halloween skin just in time for the season!

Things to keep in mind when updating:

  • GameVault Client v1.12 is now required for servers running v13 or above.
  • Older clients won’t work on servers that have been updated to v13.

For a smooth update and a guide on how to use all these new features, check out the detailed migration instructions in the server changelogs. As always, if you hit any snags, feel free to reach out to us on Discord.

If you run into any issues or need help with the migration, feel free to join and open a ticket in our Discord communityβ€”we’re always happy to help!

If you want to support our pet-project and keep most upcoming features of GameVault free for everyone, consider subscribing to GameVault+ or making a one-time donation. Every little bit fuels our passion to keep building and improving!

Thanks for everything! We're more than 800 Members on our discord now and I can’t wait to hear what you think of the latest version.

6
28
submitted 10 hours ago* (last edited 7 hours ago) by mitexleo@buddyverse.one to c/selfhosted@lemmy.world
 
 

I'm currently using @nextcloud@mastodon.xyz for my music collection after downloading over 2.5k songs from YouTube Music (Premium). While it works fine for most things, I'm looking for a better alternative. My key requirement is to read files from a mounted WebDAV folder (NextCloud Folder).

The Subsonic API in NextCloud Music works fine, and I've had no issues streaming through clients like Symfonium and Subtract. However, I want to eliminate the 5-10 second buffering issue I experience on mobile. When I tried @powerampache@floss.social, my NextCloud AIO instance became unresponsive after about 30 minutes (happened twice, not sure why).

I also tried Navidrome, but I didn't like how it organizes musicβ€”it only recognizes album artists, which doesn’t work for me since I don’t have albums. I downloaded the songs in Playlists using Seal.

Ideally, I’m looking for a solution that streams high-quality music instantly, like Spotify or YouTube Music. If possible, I'd prefer tweaking my Nginx config to resolve the buffering issue rather than setting up new software. What alternatives do you guys use for fast, high-quality music playback with WebDAV support?

Edit: Forgot to mention, the buffering issue only occurs when I use a Subsonic or Ampache client with NC Music. The web version works very smoothly.

7
 
 

I currently have my home services set up in a way I like, and think I understand. I have an S12 pro w/ *arr, Overseerr, Immich, paperless, etc running. The only things exposed are immich, paperless, and overseerr. This is via swag/dockerproxy over a cloudflare tunnel. This makes it so I don't have to do anything on the cloudflare end or my router to add a new service. DockerProxy picks up a new container, swag configures a reverse proxy automatically (assuming it recognizes the container, but it also supports custom configs) using the container_id as the subdomain.

I'm looking at setting up a VPS to host authentik and uptima kuma (to start - maybe ntfy in the future). What I'd like to do is have the public interface on these containers use the same cloudflare tunnel I'm currently using... or a second one, if necessary. For the interface back to my home server, I'd like to use Tailscale. I already have it running on my home server, and I expect I'll install it on my VPS. The goal here is the "public" connection uses the cloudflare tunnel, and the backend connection is over tailscale.

I've tested that I can spin up swag/dockerproxy on a second box in my lab and it will connect to cloudflare. I have not yet tested standing up a container on that box to see if the proxy works as expected.

So, questions:

  • Tailscale on VPS: container or no? Obviously, if I can't install it locally, I'll put it in a container
  • How to I configure a container to use these 2 networks? I'm fairily good on getting the cloudflare part working. The TS part is new to me, and all the documentation I've seen doesn't really cover other containers using the tailnet.
  • Am I overthinking this? If I put these services on tailnet alone, will the cloudflare tunnel... tunnel back and forth to/from clients not on tailnet?
8
 
 

Hi all,

I’m having an issue with an NFS mount that I use for serving podcasts through audibookshelf. The issue has been ongoing for months, and I’m not sure where the problem is and how to start debugging.

My setup:

  • Unraid with NFS share β€œpodcasts” set up
  • Proxmox on another machine, with VM running Fedora Server 40.
  • Storage set up in Fedora to mount the β€œpodcasts” share on boot, works fine
  • docker container on the same Fedora VM has Audiobookshelf configured with the β€œpodcasts” mount passed through in the docker-compose file.

The issue:

NFS mount randomly drops. When it does, I need to manually mount it again, then restart the Audiobookshelf container (or reboot the VM, but I have other services).

There doesn’t seem to be any rhyme or reason to the unmount. It doesn’t coincide to any scheduled updates or spikes in activity. No issue on the Unraid side that I can see. Sometimes it drops over night, sometimes mid day. Sometimes it’s fine for a week, other times I’m remounting twice a day. What has finally forced me to seek help is the other day I was listening to a podcast, paused for 10-15 mins and couldn’t restart the episode until I went through the manual mount procedure. I checked and it was not due to the disk sinning down.

I’ve tried updating everything I could, issue persists. I only just updated to Fedora 40. It was on 38 previously and initially worked for many months without issue, then randomly started dropping the NFS mounts (I tried setting up other share mounts and same problem). Update to 39, then 40 and issue persists.

I’m not great with logs but I’m trying to learn. Nothing sticks out so far.

Does anyone have any ideas how I can debug and hopefully fix this?

9
 
 

A decade ago I used BitTorrent Sync. Then it became Resilio Sync. Then with Resilio Sync 2 they nerfed the free app to a point that I just removed that from all my computers and switched to syncthing.

Yesterday I was watching my server struggling when syncthing was doing the periodic scan of a directory with hundreds of thousands of files and then i thought, "maybe Resilio Sync uses less resources or doesn't waste time reindexing a static directory for the nth time"

I went to see their website and now with the new version 3, all the features are back. The business plan now is to sell the app to enterprises at unaffordable prices rather to persuade consumers to pay a subscription to self host their syncing server

I wanted to try it but now they say docker version is discontinued, need to install the package to bare metal. Ugh... So I desisted and decided to stay with syncthing

Now with the news of the impending discontinuation of syncthing android app, everything changes. Without Android support, syncthing is no more irreplaceable for me.

So, has anyone tried Resilio Sync 3? Is it good?

10
 
 

Hello everyone! πŸŽ‰

I’ve created an RSS Feed Bot that automates sharing news in Lemmy and Fediverse channels, helping to keep Fediverse users better informed. The bot is written in Python3 and can easily run via Docker Compose.

Hope you find it useful! πŸš€

#Lemmy #Fediverse #RSS #Python #Docker #Automation #OpenSource

11
 
 

cross-posted from: https://lemmy.world/post/21065836

Hi friends, as promised, I'm back with my second post. I'll be hanging around in the comments for any questions!

In this post, I take a look at a typical deployment process, how long each part of it takes, and then I present a simple alternative that I use which is much faster and perfect for hobbit software.

12
 
 

So Tailscale has this whole series about hosting services on one's Tailnet using Docker. Their approach is to run Tailscale in Docker and have the services' containers share its namespace by setting network_mode: service:<tailscale_service_name>.

I am trying to understand why this is better than just binding the service's port to the Tailscale IP of the host device, given that option is not even mentioned in any of their blog posts.

The only advantage I can think of is that you get to have different Tailscale rules/configurations for different services. In my case, this is not an advantage because I will run Tailscale on the host anyway and I won't have different configurations for each service.

Can anyone help me understand?

https://tailscale.com/kb/1282/docker

13
 
 

Any recommendation for a cheap, small #firewall for my #homelab ? I realized I can’t control easily what goes out of my network only via DNS block lists

Cc @selfhosted@lemmy.world @selfhost@lemmy.ml

14
 
 
15
 
 

Designers can create stunning designs, interactive prototypes, and design systems at scale, while developers enjoy ready-to-use code and make their workflow easy and fast.

Designed for developers

Penpot was built to serve both designers and developers and create a fluid design-code process. You have the choice to enjoy real-time collaboration or play "solo".

Inspect mode

Work with ready-to-use code and make your workflow easy and fast. The inspect tab gives instant access to SVG, CSS and HTML code.

Self host your own instance

Provide your team or organization with a completely owned collaborative design tool. Use Penpot's cloud service or deploy your own Penpot server.

Integrations

Penpot offers integration into the development toolchain, thanks to its support for webhooks and an API accessible through access tokens.

Self hosting instructions (via docker) can be found here: https://help.penpot.app/technical-guide/getting-started/#install-with-docker

16
 
 

Hi! I am trying to set up a wireguard client in docker. I use the linuxserver image, I it running in server mode on a different machine (exactly the same ubuntu version) and i can login with my laptop to the wireguard server, but the docker wg-client has problems, i hope someone has an idea :)

The client docker container has trouble starting and throws this error: [___](modprobe: FATAL: Module ip6_tables not found in directory /lib/modules/6.8.0-47-generic ip6tables-restore v1.8.10 (legacy): ip6tables-restore: unable to initialize table 'raw' Error occurred at line: 1 Try 'ip6tables-restore -h' or 'ip6tables-restore --help' for more information. )

I copied the config to the server with the wg server running, it has the same problem with the client. I can ping google.com from inside the server container, but not from inside the client container. Here is the output of the 'route' cmd from the client:Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.18.0.0 * 255.255.0.0 U 0 0 0 eth0

I searched for a solution quite a bit, but cant seem to find something that works. changed the .yml compose file according to some suggestions but without success.

I tried to install the missing module but could not get it working.

Its a completely clean install of ubuntu 24.04.1 LTS, Kernel: Linux 6.8.0-47-generic.

here is the compose file, in case its needed, it should be exact same one as provided by linux-server in their github:

compose file:

services:
  wireguard:
    image: lscr.io/linuxserver/wireguard:latest
    container_name: wireguard-client
    cap_add:
      - NET_ADMIN
      - SYS_MODULE #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
#      - SERVERURL=wireguard.domain.com #optional
#      - SERVERPORT=51820 #optional
#      - PEERS=1 #optional
#      - PEERDNS=auto #optional
#      - INTERNAL_SUBNET=10.13.13.0 #optional
#      - ALLOWEDIPS=0.0.0.0/0 #optional
#      - PERSISTENTKEEPALIVE_PEERS= #optional
#      - LOG_CONFS=true #optional
    volumes:
      - /srv/wireguard/config:/config
#      - /lib/modules:/lib/modules #optional
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

here is the complete error log from the wg-client docker:

error

[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────

      β–ˆβ–ˆβ•—     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
      β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—
      β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
      β–ˆβ–ˆβ•‘     β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘
      β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
      β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•β•β•β•

   Brought to you by linuxserver.io
───────────────────────────────────────

To support the app dev(s) visit:
WireGuard: https://www.wireguard.com/donations/

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1000
User GID:    1000
───────────────────────────────────────
Linuxserver.io version: 1.0.20210914-r4-ls55
Build-date: 2024-10-10T11:23:38+00:00
───────────────────────────────────────
    
Uname info: Linux ec3813b50277 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 21:40:26 UTC 2024 x86_64 GNU/Linux
**** It seems the wireguard module is already active. Skipping kernel header install and module compilation. ****
**** Client mode selected. ****
[custom-init] No custom files found, skipping...
**** Disabling CoreDNS ****
**** Found WG conf /config/wg_confs/peer1.conf, adding to list ****
**** Activating tunnel /config/wg_confs/peer1.conf ****
[#] ip link add peer1 type wireguard
[#] wg setconf peer1 /dev/fd/63
[#] ip -4 address add 10.13.13.2 dev peer1
[#] ip link set mtu 1420 up dev peer1
[#] resolvconf -a peer1 -m 0 -x
s6-rc: fatal: unable to take locks: Resource busy
[#] wg set peer1 fwmark 51820
[#] ip -6 route add ::/0 dev peer1 table 51820
[#] ip -6 rule add not fwmark 51820 table 51820
[#] ip -6 rule add table main suppress_prefixlength 0
[#] ip6tables-restore -n
modprobe: FATAL: Module ip6_tables not found in directory /lib/modules/6.8.0-47-generic
ip6tables-restore v1.8.10 (legacy): ip6tables-restore: unable to initialize table 'raw'
Error occurred at line: 1
Try `ip6tables-restore -h' or 'ip6tables-restore --help' for more information.
[#] resolvconf -d peer1 -f
s6-rc: fatal: unable to take locks: Resource busy
[#] ip -6 rule delete table 51820
[#] ip -6 rule delete table main suppress_prefixlength 0
[#] ip link delete dev peer1
**** Tunnel /config/wg_confs/peer1.conf failed, will stop all others! ****
**** All tunnels are now down. Please fix the tunnel config /config/wg_confs/peer1.conf and restart the container ****
[ls.io-init] done.

Thanks a lot. I appreciate every input!

17
37
You're overcomplicating production (paravoce.bearblog.dev)
submitted 2 days ago* (last edited 2 days ago) by something_random_tho@lemmy.world to c/selfhosted@lemmy.world
 
 

cross-posted from: https://lemmy.world/post/21023181

Sharing some lessons I learned from 10 years/millions of users in production. I’ll be in the comments if anyone has any questions!

I hope this series will be useful to the self-hosted and small web crowdsβ€”tips for tools to pick and the basics of server management.

18
 
 

Evening Lemmy,

I have run into a small hiccup in my self-hosting journey. Youtube on my TV in the living room has ads... and they become more unbearable by the day. To that end, I'd like to set up a Raspberry Pi (Or something) to run as a one-stop for media. Ideally, I'd like it to have YouTube (Or more likely NewPipe/FreeTube), Steam Link and access to my Jellyfin instance. More ideally, I'd like this to be controllable with a controller (TV Remote, Steam controller, doesn't matter). The reason for the latter is that I'd rather not create too much trouble for my wife when she uses the TV.

I've done some looking, and I seem to be able to get an Amazon Firestick to run NewPipe, and Jellyfin, and maybe even the Steam Link but from the stories I've read it's... less than ideal. So, I was hoping there may be an alternative.

The goal is to get all three in one system, with decently user friendly functionality.

Has anyone set something similar up, and could you point me in a direction.

19
 
 

My RTX 2060 computer running DarkPlanet 8B:

Me: What is isotony?

Bot: Isotony, a term coined by the mathematician and physicist Robert Hermann in the 1970s, refers to the property of a Lie algebra that ensures the commutator of any two elements is also an element of the algebra. In other words, isotony (or the isotonicity of the Lie bracket) means that the Lie algebra is closed under the commutator operation.

Formally, a Lie algebra G over a field k is said to be isotonic if for any u, v ∈ G, [u, v] ∈ G, where [ , ] denotes the Lie bracket (or commutator). This implies that the Lie algebra is a subset of itself under the commutator operation, making it a Lie subalgebra of itself.

Isotony has significant consequences in the theory of Lie algebras and their representations:

Cohomology: Isotony is a crucial condition for the development of Lie algebra cohomology, which studies the obstructions to extending Lie algebra homomorphisms. It ensures that the cohomology groups are well-defined.

Representations: The isotony property is essential for the classification of finite-dimensional representations of semisimple Lie algebras. It guarantees that the representation space remains unchanged under the commutator operation, facilitating the construction of higher-order tensors and invariant polynomials.

Geometry: In the context of differential geometry, isotonic Lie algebras are linked to the structure of geometric objects, such as tangent spaces and cotangent spaces. This relationship is exploited in the study of Lie groups, symplectic manifolds, and Poisson geometry.

Physics: In quantum mechanics and gauge theories, isotony is relevant to the definition of observables and their algebraic properties under commutation. The isotonicity of the Lie algebra of observables ensures that the commutator of any two observables remains an observable, which is vital for the consistency of the theory.

It's worth noting that not all Lie algebras are isotonic. For instance, the algebra of polynomial vector fields on ℝ² is not isotonic, since the commutator of two such fields may not be a polynomial vector field.

In summary, isotony is a fundamental property of Lie algebras that ensures their closure under the commutator operation. It has far-reaching implications for the classification of Lie algebras, their representations, cohomology, and connections to differential geometry and physics. Do you have any more questions about isotony or its applications?

Gemini:

Me: What is isotony?

Bot: "Isotonic" has different meanings depending on the context. Here are the most common ones:

  1. In Chemistry/Biology:
  • Isotonic solutions: Refer to solutions that have the same osmotic pressure. This means they have the same concentration of solutes. Cells placed in an isotonic solution will neither shrink nor swell because there's no net movement of water across the cell membrane. This is important in biology and medicine, especially when administering fluids intravenously.
  1. In Exercise Physiology:
  • Isotonic muscle contractions: Describe muscle contractions where the muscle changes length while maintaining a constant tension. There are two types:
    • Concentric contractions: The muscle shortens as it contracts (e.g., lifting a weight).
    • Eccentric contractions: The muscle lengthens as it contracts (e.g., lowering a weight).
  1. Other less common meanings:
  • In music: Refers to equal tones or intervals.
  • In mathematics: Can sometimes refer to functions that preserve order (though "order-preserving" or "monotone" are more common terms in this context).

To understand the specific meaning of "isotonic," it's essential to consider the context in which it's used.

Here are some examples to illustrate the different meanings:

  • "The doctor administered an isotonic saline solution to the patient." (Chemistry/Biology)
  • "Lifting a dumbbell is an example of an isotonic concentric contraction." (Exercise Physiology)
  • "The two notes played an isotonic interval." (Music)

If you can provide more context about where you encountered the term "isotonic," I can help you pinpoint its specific meaning.


Both were given a mathematical space context before asking the question.

20
21
 
 

Is there a way to remotely (wired/wireless) update photos in a digital picture frame that doesn't have any connectivity capability? All it has is a USB port and sd card port.

22
 
 

I would like to be able to give people an URL and have them be able to access my service.

Example I have overseerr currently funneled so when the go to url pcname.tail$$$$$.ts.net they are greeted with overseerr. But if I funneled another service at pcname.tail$$$$$.ts.net/immich for example it does nothing just blank loading but the url knows it should be Immich or another service (I can put the url pcname.tail$$$$$.ts.net/immich in the immich app and have it work). I have tried reversing them so I believe I can not set paths after .net..

Am I doing something wrong or is this not supported?

23
32
submitted 5 days ago* (last edited 5 days ago) by possiblylinux127@lemmy.zip to c/selfhosted@lemmy.world
 
 

I have Grafana and Influxdb setup but it is fairly complex for what I am doing. I don't want to spend a bunch of time creating dashboards and thinking about the movement of data. I am looking for something simple.

I am looking to mostly monitor uptime and Ansible automations.

Edit:

Found this: gethomepage.dev

24
 
 

I have a small homelab that is not open to the internet. I am considering the following setup. Please let me know if there are any glaring issues or if I am over complicating things.

  • I want to setup a reverse proxy in the cloud that will also act as a certificate authority. (I want to limit who can access the server to a small group of people.)

  • I will setup a vpn from a raspberry pi in my home to the reverse proxy in the cloud.

  • The traffic will pass from the raspberry pi vpn to my homelab.

I am not sure if I need the raspberry pi. I like the cloud as the reverse proxy as I do not have a static IP. I would just get a cheap vps from hetzner or something like that.

25
100
submitted 5 days ago* (last edited 5 days ago) by baldissara@lemmy.world to c/selfhosted@lemmy.world
 
 

Hey guys, version 2.5.3 of Tasks.md just got released!

This release is actually pretty small, as I focused a lot on resolving technical debt, fixing visual inconsistencies and improving "under the hood" stuff. Which I will continue to do a little bit more before the next release.

For those who don't know, Tasks.md is a self-hosted, Markdown file based task management board. It's like a kanban board that uses your filesystem as a database, so you can manipulate all cards within the app or change them directly through a text editor, changing them in one place will reflect on the other one.

The latest release includes the following:

  • Feature: Generate an initial color for a new tags based on their names
  • Feature: Add new tag name input validation
  • Fix: Use environment variables in Dockerfile ENTRYPOINT
  • Fix: Allow dragging cards when sort is applied
  • Fix: Fix many visual issues

Edit: Updated with the correct link, sorry for the confusion! The fact that someone created another application with the same name I used for the one I made is really annoying

view more: next β€Ί