26
25
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]
27
54
submitted 2 weeks ago by [email protected] to c/[email protected]

I saw an appreciation post for Gluetun on here in the last couple of weeks. I'd set it up before my server died and I had to reinstall everything, but then gone for the easy method when I was reinstalling.

So my easy method install had a VM as a server running Plex and Docker and a second VM with Mullvad installed running anything that needed a VPN in Docker.

Yesterday I opened up a program behind the VPN and it wasn't working again. I had to restart the VM to get it going and it annoyed me. So before work I set up Gluetun.

I had previously used this walkthrough https://youtu.be/9dJPOd0XbN8 so I went back to it, looked in the notes and found his GitHub, then his docker compose under Torrent-VPN.

I stole his initial Gluetun config and the qBittorrent part, but then went into Portainer and took all my running containers and added them to the file. I took the ports out of each compose file and added the "network mode" and "depends on Gluetun" bits from the qBittorrent part of his config and added them to each compose file I added to the file.

Then the ports I had removed I added to the Gluetun part of his compose file.

Downloaded a config file for Mullvad and added the IP and private Key to the Gluetun compose.

Then launch the stack and it worked.

Now for the Gotchas. I had to go into Portainer to get the IP address that the whole stack used. This IP address was required to get containers talking to each other. If you need Sonarr to connect to Prowlarr it needs this IP address.

Also the downloader (he uses qBittorrent and I used RDT client) needed to be mapped using "localhost" for each container and the port

But other than those Gotchas it was quite easy and I managed to get everything set up an hour after finishing work. This was because I just used backups of my already running containers and restored them in the new ones, then edited the bits that had changed (IP addresses in my Gotchas)

The upside is that I'm now only using the one VM, meaning I've saved 4gb of RAM.

I can use that ram for something else now. Nextcloud? Immich?

Hope this helps someone else.

28
44
submitted 2 weeks ago by [email protected] to c/[email protected]

Not my newsletter, just a good community share. Authors are on Mastodon at @[email protected]

29
21
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

I am in the process of setting up a home server, and I am struggling to decide. I have previously used yunohost but in the meantime, freedom box has matured quite a bit. I have also looked at Tipi.

The use case right now is, running a wireguard server and probably some notes of sorts (to be decided). A web GUI for management and updating would be much desired.

Disclaimer: I don't have too much surplus of energy, due to a hectic life, so I would prefer something easy and without the requirement of docker/kubernettes

I will run on a Gigabyte Brix with:

  • AMD Ryzen 4300U (4 core)
  • 16 maybe 32 GB RAM
  • 512GB SSD

I am open to other suggestions.

P.S. I apologise if this has been debated before, but I have not really found anything.

Thank you in advance

EDIT: I have read your recommendations and arguments, and it is noted, I am watching docker tutorials now :)

30
85
submitted 2 weeks ago by [email protected] to c/[email protected]

After months of waiting, I finally got myself an instance with Libre Cloud. I was expecting basic file storage with a few goodies but boy, this is soooo much more. I am amaze by how complete this is!!! Apps let me configure my instance to fit everything I need, my workflow is now crazy fast and I can finally say goodbye to gdrive, gsuite, trello, calendar, etc. All of this, with 1tb while not giving any of ma data to some evil business for... 10$ cad a month!? Can't believe this is not what every organisation are using.

31
28
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

I have a TrueNAS install with SMB turned on and nothing else. Even when it’s idle and nothing is accessing it, there’s constant disk activity. Very low bandwidth, but it’s like some log is in verbose mode.

TrueNAS is installed in a NVMe disk with plenty of room, and there’s only one pool. I’ve checked my snapshot configuration, nothing enabled faster than daily.

What could be causing it? How do I stop it or redirect it to the NVMe drive? I’m willing to create a partition on the NVMe drive if that’s what will do it.

Edit: thanks everyone for all the feedback, I’ll try these out and report back.

32
38
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

Hi guys

Is there any way to access Nextcloud files (self hosted) in a file manager just like a regular directory or remote location? So the way iCloud or Dropbox allow you to access files and use them for example to upload them in a browser. So far I only managed to access the files in the Nextcloud WebUI or via the command line (but then a resync is necessary).

Any input is appreciated. Thanks!

33
59
submitted 2 weeks ago by [email protected] to c/[email protected]

I like the fact that my Android phone records my location timeline from Google Maps, but the fact that this is stored in Google servers creeps me out.

I know you can download the entire location history database from Google so I was planning on building a custom app to store and browse this data.

I was also curious if there would be the possibility of making the phone send locations to this app instead of Google, but I don't know much about Android and I don't know if this would be possible.

What do you think about it? Is there already an app like this? Do you think this is a good idea?

34
9
submitted 2 weeks ago* (last edited 1 week ago) by [email protected] to c/[email protected]

cross-posted from: https://lemmy.ml/post/15121280

preferably with a web console (not required)

Edit: I went with this as a solution for now: https://github.com/Ashfaaq18/OpenNetMeter

35
35
submitted 2 weeks ago by [email protected] to c/[email protected]

From their site:

Instantly launch your favorite internet appliance with just a click using Cloud Seeder, our open-source server appliance platform for everyone, or use your skills and manually setup a home server lab. With IPv6rs, you will have the external IP you need to self host on your home computer or mobile device.

$10 a month, or $60 for a year, or $80 for 2 years.

Seems they give you an externally routable IP6 address, and then make that route to your home network, where you still have to run the server. They do have an app which is meant to make it easier to install podman containers for whatever service you want to run. For some reason, they call those "appliances". Not a fan of that word.

Before anyone jumps in to say, "Pffft. I do this now for free" - this isn't aimed at you then, is it? It's aimed at making it possible for less technical people to self-host some of their digital life, which is a good thing in general, in my mind. Kind of like how Linux needed more user-friendly distros for the masses to increase adoption. Good on them, I say, and good luck.

36
9
submitted 2 weeks ago by [email protected] to c/[email protected]

I have a MiTV box with Android that runs apps for Jellyfin, Prime Video and Disney Plus. I would like to replace it with a mini PC, like some N100 box, to have more control over what runs on it. I tried a Pi with Kodi once, but I hate the UI so much. It's just not my thing.

What other options do I have with self-hosted alternatives? I want a central UI like AndroidTV offers, I need Jellyfin, Disney Plus, Prime Video and some local TV station's streaming offerings and some remote control.

I don't think that's possible, as you can only run Disney and Prime in a browser or their apps. And using a browser on the TV is not nice UX. But maybe some of the great people here have cracked that nut and can help me.

37
10
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

Edit: I found the solution. I was missing a few environment variables.

These are the functioning Ansible tasks to deploy Immich:

Solution

- name: create Immich network
  community.docker.docker_network:
    name: immich-network
    state: present

- name: deploy Immich-Redis
  community.docker.docker_container:
    name: immich-redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
    restart_policy: always
    networks: 
      - name: immich-network

- name: deploy Immich-Postgres
  community.docker.docker_container:
    name: immich-postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    restart_policy: always
    volumes:
      - "{{ nvme_mount_point }}/immich/postgres:/var/lib/postgresql/data"
    env:
      POSTGRES_DB: "{{ immich_postgres_db_name }}"
      POSTGRES_USER: "{{ immich_postgres_db_user }}"
      POSTGRES_PASSWORD: "{{ immich_postgres_db_password }}"
    networks: 
      - name: immich-network

- name: deploy Immich-Machine-Learning
  community.docker.docker_container:
    name: immich-machine-learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    restart_policy: always
    volumes:
      - "{{ nvme_mount_point }}/immich/model-cache:/cache"
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"
      DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
      DB_HOSTNAME: immich-postgres
      REDIS_HOSTNAME: immich-redis

- name: deploy Immich-Microservices
  community.docker.docker_container:
    name: immich-microservices
    image: ghcr.io/immich-app/immich-server:release
    restart_policy: always
    command: ['start.sh', 'microservices']
    volumes:
      - "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
      - /etc/localtime:/etc/localtime:ro
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"
      DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
      DB_HOSTNAME: immich-postgres
      REDIS_HOSTNAME: immich-redis

- name: deploy Immich-Server
  community.docker.docker_container:
    name: immich-server
    image: ghcr.io/immich-app/immich-server:release
    restart_policy: always
    command: ['start.sh', 'immich']
    volumes:
      - "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "2283:3001"
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"
      DB_DATA_LOCATION: "{{ nvme_mount_point }}/immich/postgres"
      DB_HOSTNAME: immich-postgres
      REDIS_HOSTNAME: immich-redis

I'm trying to install Immich via Ansible and so far so good. The containers are all running and as long as I don't try to access it the logs all look fine but as soon as I try to access the GUI I get the following error spammed in the immich-server container log and the browser just shows a timeout and doesn't connect to the GUI.

[Nest] 7  - 05/02/2024, 9:20:45 AM   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (5)...
Error: Connection terminated due to connection timeout
    at Connection.<anonymous> (/usr/src/app/node_modules/pg/lib/client.js:132:73)
    at Object.onceWrapper (node:events:632:28)
    at Connection.emit (node:events:518:28)
    at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:63:12)
    at Socket.emit (node:events:518:28)
    at TCP.<anonymous> (node:net:337:12)
Error: connect ETIMEDOUT
    at Socket.<anonymous> (/usr/src/app/node_modules/ioredis/built/Redis.js:170:41)
    at Object.onceWrapper (node:events:632:28)
    at Socket.emit (node:events:518:28)
    at Socket._onTimeout (node:net:589:8)
    at listOnTimeout (node:internal/timers:573:17)
    at process.processTimers (node:internal/timers:514:7) {
  errorno: 'ETIMEDOUT',
  code: 'ETIMEDOUT',
  syscall: 'connect'
}

Here are my Ansible tasks to deploy Immich:

Ansible tasks with missing ENV variables

- name: create Immich network
  community.docker.docker_network:
    name: immich-network
    state: present

- name: deploy Immich-Redis
  community.docker.docker_container:
    name: immich-redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:84882e87b54734154586e5f8abd4dce69fe7311315e2fc6d67c29614c8de2672
    restart_policy: always
    networks: 
      - name: immich-network

- name: deploy Immich-Postgres
  community.docker.docker_container:
    name: immich-postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    restart_policy: always
    volumes:
      - "{{ nvme_mount_point }}/immich/postgres:/var/lib/postgresql/data"
    env:
      POSTGRES_DB: "{{ immich_postgres_db_name }}"
      POSTGRES_USER: "{{ immich_postgres_db_user }}"
      POSTGRES_PASSWORD: "{{ immich_postgres_db_password }}"
    networks: 
      - name: immich-network

- name: deploy Immich-Machine-Learning
  community.docker.docker_container:
    name: immich-machine-learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    restart_policy: always
    volumes:
      - "{{ nvme_mount_point }}/immich/model-cache:/cache"
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"

- name: deploy Immich-Microservices
  community.docker.docker_container:
    name: immich-microservices
    image: ghcr.io/immich-app/immich-server:release
    restart_policy: always
    command: ['start.sh', 'microservices']
    volumes:
      - "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
      - /etc/localtime:/etc/localtime
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"

- name: deploy Immich-Server
  community.docker.docker_container:
    name: immich-server
    image: ghcr.io/immich-app/immich-server:release
    restart_policy: always
    command: ['start.sh', 'immich']
    volumes:
      - "{{ hdd_mount_point}}/immich/library:/usr/src/app/upload"
      - /etc/localtime:/etc/localtime
    ports:
      - "2283:3001"
    networks: 
      - name: immich-network
    env:
      DB_DATABASE_NAME: "{{ immich_postgres_db_name }}"
      DB_USERNAME: "{{ immich_postgres_db_user }}"
      DB_PASSWORD: "{{ immich_postgres_db_password }}"

The variables are:

immich_postgres_db_name: immich
immich_postgres_db_user: postgres
immich_postgres_db_password: postgres

for testing purposes.

I'm currently running this on a Hyper-V VM running Fedora 39 Server Edition.

I don't know how to fix this issue, can someone help me?

I found this issue on the Immich GitHub where I found a possible fix regarding the firewall that it might block something but it didn't really help.

So I'm thankful for any ideas you can throw my way. Tell me if you need any more info.

Edit: Overlooked an error in the log and added it to the post.

38
141
submitted 2 weeks ago by [email protected] to c/[email protected]

Immich is joining FUTO!

39
39
submitted 2 weeks ago by [email protected] to c/[email protected]

Initial Thoughts

Hello friends!

This is something that's been muddling around in my mind for a bit, in part because I now have a decent collection of DVDs, and I am starting get a digital collection of shows that are a bit hard to find. I'm also interested in the fact that there's a TubeArchivist plugin for Jellyfin, as media archival interests me and YouTube is starting to suck with Google's position on ad-blocking. It would be nice to be able to access this stuff anywhere as well, so creating a media/Jellyfin server seems like a good solution.

Thing is I'd rather have a physical server than pay a bunch of monthly fees for VPS hosting. Not knocking it of course, but on top of monthly fees I also have my skepticism about VPS hosts and if they're sharing data with people regarding my use of their service.

Completely wishful thinking setup

I'm not so much of a hardware guy as I am a software guy, funnily enough, but to give you an idea of what I would like here's my admittedly wishful thinking of what I'd like for a setup:

  • DragonflyBSD as the server OS, utilizing it's HAMMER2 filesystem and swapcache as I've heard great things about those.
  • Jellyfin, obviously.
  • NVMe SSD storage with some level of RAID.
  • Intel GPU, as I've heard they're very good at video decoding, but I've not looked into evidence of this.
  • Whatever CPU and RAM I can get good performance out of without wasting money.
  • Add it to the Wireguard network so I can watch stuff anywhere.

A few things with this:

  1. I don't know how up-to-date DragonflyBSD's dport of Jellyfin is, but maybe this is something worth contributing to.
  2. God only knows if the new Intel graphics card drivers work well on the BSDs. I know all of the BSDs basically just pull from the official Linux firmware for graphics (I think?).
  3. I'd have to figure out if any other hardware would not play well with DragonflyBSD, probably not too big of an issue but it's still something to look out for.
  4. Cost of hardware.

Wrap up

Overall it probably be just me and my wife who would use the server, mostly me. Maybe some immediate family, a few friends, maybe down the line use it for kids when we have them.

What are your recommendations?

40
53
submitted 2 weeks ago by [email protected] to c/[email protected]

Just installed Syncthing on my Scale server. It looks like it doesn't have users but rather folder IDs that are then used to sync devices. One of the cool features of Nextcloud is the ability to share files with other users. Can this be done with Syncthing?

41
8
submitted 2 weeks ago by [email protected] to c/[email protected]

I set up invidious on my debian server from here and it has thumbnails on web not in clipious. How do i fix this

42
88
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

Have some new old stock SATA drives vomiting at you?

[  234.811385] ata1.00: status: { DRDY }
[  234.811392] ata1: hard resetting link
[  240.139340] ata1: link is slow to respond, please be patient (ready=0)
[  244.855349] ata1: COMRESET failed (errno=-16)
[  244.855375] ata1: hard resetting link
[  250.199443] ata1: link is slow to respond, please be patient (ready=0)
[  254.875508] ata1: COMRESET failed (errno=-16)
[  254.875533] ata1: hard resetting link
[  260.211562] ata1: link is slow to respond, please be patient (ready=0)
[  289.919779] ata1: COMRESET failed (errno=-16)
[  289.919810] ata1: limiting SATA link speed to 3.0 Gbps
[  289.919816] ata1: hard resetting link
[  294.963876] ata1: COMRESET failed (errno=-16)
[  294.963904] ata1: reset failed, giving up
[  294.963909] ata1.00: disable device

Grab your contact cleaner and clean their SATA connectors!

I just bought a new 1TB Crucial MX500 made in god knows what year and installed it in a virgin SATA port of a M710q made in 2016 and I got the vomit you see above every time I loaded the drive. Reseated all the connectors. More vomit. Scratched my head a couple of times reaching for the trash bin and I had a brainwave that there might be oxidation from sitting naked with the elements. Took out the DeoxIt Gold, dabbed all the connectors on the SATA path, cycled them a few times, powered on and loaded the drive. No more vomit.

43
98
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

Upgrade went mostly without a problem (had set more than one Hostname for a service before, seems to not work anymore lol), and i have a pretty large configuration that has grown over the past two years.

What i noticed is that it is quite a bit faster. Also the dashboard shows a little more information than before and the logs have colours now.

44
32
Websurfx 1.15.0 release (programming.dev)
submitted 2 weeks ago by [email protected] to c/[email protected]

cross-posted from: https://programming.dev/post/13475052

Hello again!!

Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again.

So, through the medium of this post I would like to share with you all the v1.15.0 major release version of the websurfx project which was released on the 25th of March.

If you are new, and you don't know what is websurfx then I would suggest taking a look at my previous post here:

https://programming.dev/post/2678496

Which covers in depth about what the project is and why it exists.

Credits

Before I share with you the changelog, what this release version means and a preview on what we are planning to work on for the next major release v2.0.0. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also, Websurfx would not have been possible without alamin655 and xffxff early involvement.

Thanks 💖 to all the people involved in the project

Now, let's dive straight into what this release version actually means.

What does this release version means

This new release version v1.15.0 introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query.

Changelog

The changelog of all the changes can be found here:

https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0

Preview of the goals for the next major release

  • Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress).
  • Even more engines will be supported.
  • Categories would be added to search results like images, news, etc.
  • More themes will be provided by default
  • More animations for the websurfx frontend will be supported.
  • Multi language support would be added.
  • I2p and tor support will be provided.
  • Reduce animations would be added for those who don't want animations and effects on the frontend.
  • And lots more ✨.
45
66
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

EDIT : I'm going to use a Lenovo P500 (at around $130) with 8 threads (will upgrade it later) and 64gb of RAM. It support the E5 v4 family so that's great. If someone knows the power consumption, that would be cool!

Hello, I want to build a "homelab" and I'm searching for a server, what do you propose me as good options? I need something with at least 64gb RAM, can buy used, and minimum 16vcores.. Around 150$ If you have any good options let's comment below 👇 THX ❤

46
57
submitted 2 weeks ago by [email protected] to c/[email protected]

I like how GF shows me articles (with images) of different websites and topics.

I tried freshrss, and the general RSS workflow, but it's somehow too frustrating having 20 articles of the same site when scrolling through the feeds and it also looks somehow dull without images.

But maybe it's just me not using the right tools.

What do you guys use to aggregate news about different topics?

47
8
submitted 2 weeks ago by [email protected] to c/[email protected]

So, I've had a Raspberry Pi 4 sitting brand new in a box for a few years, and decided to install BirdNetPi on it yesterday.

It's working like a champ, but because BirdNetPi needed a legacy version of Raspian, it's got old software on it.

Is there any way to update the software (i.e. RealVNC) without updating the OS? There is no built-in software updater, and I seem to very easily break Linux every time I make an attempt to use it. LOL

48
19
submitted 2 weeks ago by [email protected] to c/[email protected]

Hey everyone!

I’m a B2B contractor looking for a software setup that’s got everything to manage my business smoothly. Top of my list? A great system for invoicing, handling tax documents, and keeping tabs on the not-so-fun stuff like insurance and pensions. (self employed)

I want something that feels secure and under my control, especially because I deal with a lot of sensitive information. Here’s what I’m thinking:

Streamlined Invoicing: I need to send out invoices that are easy to customize and even easier to track. Bonus points if it handles multiple currencies! Tax Prep Made Easy: Anything that makes tax time less of a headache would be a game changer for me. Keeping Up with Insurance and Pensions: I definitely don’t want to drop the ball on these. A tool that helps me keep track without the hassle would be amazing. I’m all ears for any suggestions on platforms or specific tools that you think might fit the bill. And if there are some must-have add-ons or special tweaks that make everything work better, I’d love to know about those too.

Thanks a ton for helping a fellow self-hoster out!

49
78
submitted 2 weeks ago by [email protected] to c/[email protected]

Hello, I have recently been seeing a boom in people using ansible for automating setting up vps's, services, ...

Is it worth it to learn ansible to do also automate the way I setup everything, or is a bash script good enough ( I know some bash scripting but ansible seems like it could be more worth the time to learn )?

50
32
submitted 2 weeks ago* (last edited 2 weeks ago) by [email protected] to c/[email protected]

I would like new images to be uploaded to Immich from my phone and deleted after 30 days automatically, so I was thinking about this flow:

  1. I will Sync files to the server using Syncthing

  2. I will Copy files from the Synced folder to an Immich Consume folder, (not sure how to copy only new files (maybe use created date)). Then delete images that are older than 30 days which will remove them from my phone.

  3. I will upload to Immich using Immich CLI (?) which will use the delete after upload flag.

Basically:  

(1)

Camera, Screenshots, etc =Syncthing=> SyncthingImageConsume/{Folder}

(2)

{Script on SyncthingImageConsume}

SyncthingImageConsume/{Folder} =CopyNewFiles=> ImmichConsume/{Folder}

Then delete older than 30 days.

(3)

{Script on ImmichConsume}

Upload to immich and then delete

 

would this work? and is there a better way to do it? any tips?

view more: ‹ prev next ›

Selfhosted

36370 readers
614 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 11 months ago
MODERATORS