Spyke

Posts

Finally a good self-hosted calendar frontend

I AM NOT THE DEV

Hi all,

There are plenty of CalDAV servers out there, but surprisingly very few good self-hosted web interfaces to actually access and manage your calendars.

For the past couple of years I've been following a project called Luna, and I think it deserves a bit more visibility here: https://github.com/Opisek/luna

It can pull calendars from multiple sources (CalDAV, Google, iCal links, etc.) and bring them together in a single interface.

For people like me with a constantly changing, busy, and somewhat chaotic schedule, having everything in one place like this is incredibly useful.

The project is still young, but it's progressing steadily, and the developer has been very patient and responsive whenever I've interacted with him.

Just wanted to share it here and show some support.

PS: I think the developer didn’t really expect anyone to promote the project or draw attention to it yet 🙂 Screenshots will probably come in time. It’s still a young project, so a little patience goes a long way.

Finally a good self-hosted calendar frontendhttps://github.com/Opisek/lunaOpen linkView original on lemmy.ml

Cherche couples pour shooting gratuit dans le 37 / 41

Bonjour à tous !

J'imagine que cette demande va surprendre ici, mais je crois que les personnes avec qui j'aimerais le plus faire ce projet se trouvent sur Lemmy :) Si ça n'est pas sa place, merci aux modérateurs de supprimer ce message.

Je m’appelle Stéphane, photographe de mariage pro. Pour étoffer et renouveler mon portfolio, je cherche 5 couples pour des shootings funs et décontractés autour de Tours / Vendôme.

Ce que je propose :

  • Une séance photo gratuite (valeur 250€), avec 10 photos retouchées (style naturel et coloré). En échange, je vous demande de pouvoir utiliser nos photos dans mon portfolio.

  • Des petits jeux et défis pour vous mettre à l’aise et capturer des moments spontanés.

  • Des créneaux tôt le matin (7h-8h) ou en fin de journée (19h-20h) pour une lumière douce.

Pour qui ?

  • Les amoureux en quête d’une expérience simple et sympa.

  • Les couples mariés qui veulent ressortir leurs tenues de mariage (un plus, mais pas obligé).

  • Ceux qui préfèrent les photos naturelles aux poses guindées.

Mon approche ? Pas de "regardez la caméra et souriez" : je vous guide avec des activités pour que vous oubliez l’objectif. Résultat ? Des images vivantes et pleines de complicité.

Intéressés ? Envoyez-moi un message pour réserver votre séance. Places limitées à 5 couples !

Vous pouvez vous faire une idée de mon travail en allant voir ma galerie sur mon site (lien en fin de message).

N'hésitez pas à faire passer l'info à votre entourage !

À bientôt, Stéphane.

www.photo.stephanebonduel.com

View original on lemmy.ml

Best Original Trilogy Restoration as of today ?

Hi, Sorry to ask this here, but I have to start somewhere.

I’ve recently become interested in the original trilogy restorations, and I have to admit I’m a bit lost among all the different versions out there: Silver Screen Edition, 4K77 (80 and 83), D+ Projects, Harmy’s Despecialized, and other fan edits. I honestly don’t know where to begin.

As of now, which version would you recommend for the best quality and the one closest to the original theatrical releases?

Thanks for any guidance you can provide!

View original on lemmy.ml

Alternative to HRConvert2 ?

Hi everyone!

I’ve been trying to use HRConvert2, which looks like a fantastic tool for converting all kinds of files. However, I’m struggling to get it working properly with Docker. Specifically, I can’t figure out how to correctly bind volumes to retrieve my converted files. I’m using Portainer to deploy my containers, and while I can get HRConvert2 up and running, the lack of clear documentation for volume mounting is a roadblock for me.

Additionally, it seems HRConvert2 hasn’t been updated in over a year, which makes me a bit hesitant to rely on it long-term.

Does anyone know of a good self-hosted alternative that can handle a wide range of file conversions similar to HRConvert2 ?

Thanks in advance for any suggestions or insights !

View original on lemmy.ml

[Solved] 4get: Any tips for replacing the default banner ?

Edit! I’ll answer to past me, because apparently he was blind: https://git.lolcat.ca/lolcat/4get/src/branch/master/docs/docker.md#custom-banners

Hi all,

I’m running the official Docker image of 4get. The homepage shows the default “4get” banner, while I’ve seen other instances with custom banners.

I’d like to replace it with my own image. Has anyone here figured out the best way to do this with the prebuilt Docker image? Mounting a volume ? Rebuilding the image. Any guidance would be appreciated.

I’m asking here because I can’t contact the maintainer directly. The Git repository is closed for new accounts due to bot attacks. So I hope someone in the community might know.

Thanks in advance!

View original on lemmy.ml

Solved: Help with 504 Error and UFW+NPM Setup on AlphaVPS

That was the solution: UFW was blocking internal traffic. Running ufw allow from 172.16.0.0/12 fixed it.


Hello!

So until now, I’ve been self-hosting at home with my own machines, and this is the first time I’m working with a VPS.

I’m running Nginx Proxy Manager (NPM) and my application in separate Docker containers on my AlphaVPS VPS with the IP address 100.100.10.10. I’ve configured UFW to secure my server, and I’m trying to access my application through a domain using NPM, but I’m getting a 504 Gateway Timeout error.

Here’s what I’ve done so far with UFW:

1. Block All Incoming Traffic by Default

ufw default deny incoming
ufw default allow outgoing

2. Allowed Specific IPs

I’ve allowed specific IPs which are my home and work IP:

ufw allow from 100.100.10.11
ufw allow from 100.100.10.12

3. Allowed Ports for Nginx Proxy Manager

I’ve opened the necessary ports for HTTP (80) and HTTPS (443) to be accessible from the outside:

ufw allow 80
ufw allow 443

What I did in Nginx Proxy Manager:

  • I created an A record for sub.domain.com through my registrar, pointing to the VPS IP (100.100.10.10).
  • In Nginx Proxy Manager, I added a Proxy Host for the domain sub.domain.com, set the IP address (100.100.10.10), and the port of my application inside Docker (e.g., 8000).
  • I also enabled SSL and requested a new certificate for sub.domain.com.

Issue:

Even after setting up everything, I’m facing a 504 Gateway Timeout error when trying to access my application through the domain name.

Could someone help me troubleshoot why I’m getting the 504 Gateway Timeout error? I might have done something wrong as my understanding of this is very basic. Could it be a problem with the UFW setup, or is there something wrong with the Nginx Proxy Manager configuration?

Thanks in advance for your help!

View original on lemmy.ml

ImaGUIck: a simple image processing app

Hello!

I started my journey into self-hosting around 2022, and it's been a long and laborious learning process. I'm not a developer by trade (just a sound engineer and photographer) but I'm curious, and I needed a straightforward and effective application to fill a gap in my photography workflow.

With some guidance from my brother, who knows how to code, and a significant amount of help from AI, I managed to create an application that does exactly what I need. Yeah, I'm sorry I had to rely so heavily on AI, but I can't afford to learn to code entirely since I already have multiple jobs, a lot of hobbies, and a family I want to spend time with :) Anyway, I learned a lot working on this.

I'm sharing this app here in all humility, I'm sure it's all very goofy, but I was hoping it might be useful to some of you somehow. Feel free to check it out and let me know if it helps or if you have any suggestions for improvement. Thanks for being such a supportive community!


ImaGUIck is a user-friendly web application designed around Imagemagick for batch image processing. It offers a very simple graphical interface to resize and convert images with ease. Key features include:

  • Single or Batch Image Processing: Handle individual images or batch process multiple images with ZIP export.
  • Resizing Options: Resize images by specific dimensions, percentage, with aspect ratio preservation or not. You can select 1080p resolution based on the longest edge for social media platforms.
  • Format Support: Supports common, RAW, modern, animation, and vector formats.
  • Automatic Image Enhancement: Optimize dynamic range, correct exposure, and apply sharpening.
  • Image Import from URL: Import images directly from a URL.

You can find it here.

ImaGUIck: a simple image processing apphttps://github.com/tiritibambix/ImaGUIckOpen linkView original on lemmy.ml

Notesnook sync server: a Noob-Friendly Setup Tutorial

Hello.

Notesnook is an end-to-end encrypted note taking alternative to Evernote. I wanted to self-host a Notesnook sync server really badly, but I'm a noob. So, I worked hard on it and came up with this noob-proof tutorial on how to set up a Notesnook sync server with local file storage, getting inspiration from the provided docker-compose in the repository.

That's my way of giving back to the self-hosting community. I hope it can help some people.


Overview

This guide will help you set up a self-hosted instance of Notesnook using Docker Compose.


Prerequisites

  • Linux server with Docker and Docker Compose installed.
  • Domain name with the ability to create subdomains.
  • Basic understanding of terminal commands.
  • Ports 5264, 6264, 7264, 8264, 9090 and 9009 available. Or you can change them but take good note of your changes.

1. Directory Structure Setup

Create the required directories:

# Create data directories
mkdir -p /srv/Files/Notesnook/db
mkdir -p /srv/Files/Notesnook/s3
mkdir -p /srv/Files/Notesnook/setup

2. Configuration Files

2.1. Environment File

Create the .env file:

cd /srv/Files/Notesnook/setup
nano .env

Add the following content (modify the values accordingly):

# Instance Configuration
INSTANCE_NAME=My Notesnook
DISABLE_SIGNUPS=false
NOTESNOOK_API_SECRET=your_secure_api_secret_here

# SMTP Configuration
[email protected]
SMTP_PASSWORD=your_smtp_password
SMTP_HOST=smtp.your-server.com
SMTP_PORT=587

# Public URLs (replace domain.com with your domain)
AUTH_SERVER_PUBLIC_URL=https://auth.domain.com/
NOTESNOOK_APP_PUBLIC_URL=https://notes.domain.com/
MONOGRAPH_PUBLIC_URL=https://mono.domain.com/
ATTACHMENTS_SERVER_PUBLIC_URL=https://files.domain.com/

# MinIO Configuration
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=your_secure_password_here

2.2. Docker Compose File

Create the docker-compose.yml file:

nano docker-compose.yml

Paste the following content:

x-server-discovery: &server-discovery
  NOTESNOOK_SERVER_PORT: 5264
  NOTESNOOK_SERVER_HOST: notesnook-server
  IDENTITY_SERVER_PORT: 8264
  IDENTITY_SERVER_HOST: identity-server
  SSE_SERVER_PORT: 7264
  SSE_SERVER_HOST: sse-server
  SELF_HOSTED: 1
  IDENTITY_SERVER_URL: ${AUTH_SERVER_PUBLIC_URL}
  NOTESNOOK_APP_HOST: ${NOTESNOOK_APP_PUBLIC_URL}

x-env-files: &env-files
  - .env

services:
  validate:
    image: vandot/alpine-bash
    entrypoint: /bin/bash
    env_file: *env-files
    command:
      - -c
      - |
        required_vars=(
          "INSTANCE_NAME"
          "NOTESNOOK_API_SECRET"
          "DISABLE_SIGNUPS"
          "SMTP_USERNAME"
          "SMTP_PASSWORD"
          "SMTP_HOST"
          "SMTP_PORT"
          "AUTH_SERVER_PUBLIC_URL"
          "NOTESNOOK_APP_PUBLIC_URL"
          "MONOGRAPH_PUBLIC_URL"
          "ATTACHMENTS_SERVER_PUBLIC_URL"
        )
        for var in "$${required_vars[@]}"; do
          if [ -z "$${!var}" ]; then
            echo "Error: Required environment variable $$var is not set."
            exit 1
          fi
        done
        echo "All required environment variables are set."
    restart: "no"

  notesnook-db:
    image: mongo:7.0.12
    hostname: notesnook-db
    volumes:
      - /srv/Files/Notesnook/db:/data/db
      - /srv/Files/Notesnook/db:/data/configdb
    networks:
      - notesnook
    command: --replSet rs0 --bind_ip_all
    depends_on:
      validate:
        condition: service_completed_successfully
    healthcheck:
      test: echo 'db.runCommand("ping").ok' | mongosh mongodb://localhost:27017 --quiet
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s

  initiate-rs0:
    image: mongo:7.0.12
    networks:
      - notesnook
    depends_on:
      - notesnook-db
    entrypoint: /bin/sh
    command:
      - -c
      - |
        mongosh mongodb://notesnook-db:27017 <<EOF
          rs.initiate();
          rs.status();
        EOF

  notesnook-s3:
    image: minio/minio:RELEASE.2024-07-29T22-14-52Z
    ports:
      - 9009:9000
      - 9090:9090
    networks:
      - notesnook
    volumes:
      - /srv/Files/Notesnook/s3:/data/s3
    environment:
      MINIO_BROWSER: "on"
    depends_on:
      validate:
        condition: service_completed_successfully
    env_file: *env-files
    command: server /data/s3 --console-address :9090
    healthcheck:
      test: timeout 5s bash -c ':> /dev/tcp/127.0.0.1/9000' || exit 1
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s

  setup-s3:
    image: minio/mc:RELEASE.2024-07-26T13-08-44Z
    depends_on:
      - notesnook-s3
    networks:
      - notesnook
    entrypoint: /bin/bash
    env_file: *env-files
    command:
      - -c
      - |
        until mc alias set minio http://notesnook-s3:9000/ ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-minioadmin}; do
          sleep 1;
        done;
        mc mb minio/attachments -p

  identity-server:
    image: streetwriters/identity:latest
    ports:
      - 8264:8264
    networks:
      - notesnook
    env_file: *env-files
    depends_on:
      - notesnook-db
    healthcheck:
      test: wget --tries=1 -nv -q  http://localhost:8264/health -O- || exit 1
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s
    environment:
      <<: *server-discovery
      MONGODB_CONNECTION_STRING: mongodb://notesnook-db:27017/identity?replSet=rs0
      MONGODB_DATABASE_NAME: identity

  notesnook-server:
    image: streetwriters/notesnook-sync:latest
    ports:
      - 5264:5264
    networks:
      - notesnook
    env_file: *env-files
    depends_on:
      - notesnook-s3
      - setup-s3
      - identity-server
    healthcheck:
      test: wget --tries=1 -nv -q  http://localhost:5264/health -O- || exit 1
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s
    environment:
      <<: *server-discovery
      MONGODB_CONNECTION_STRING: mongodb://notesnook-db:27017/?replSet=rs0
      MONGODB_DATABASE_NAME: notesnook
      S3_INTERNAL_SERVICE_URL: "http://notesnook-s3:9000/"
      S3_INTERNAL_BUCKET_NAME: "attachments"
      S3_ACCESS_KEY_ID: "${MINIO_ROOT_USER:-minioadmin}"
      S3_ACCESS_KEY: "${MINIO_ROOT_PASSWORD:-minioadmin}"
      S3_SERVICE_URL: "${ATTACHMENTS_SERVER_PUBLIC_URL}"
      S3_REGION: "us-east-1"
      S3_BUCKET_NAME: "attachments"

  sse-server:
    image: streetwriters/sse:latest
    ports:
      - 7264:7264
    env_file: *env-files
    depends_on:
      - identity-server
      - notesnook-server
    networks:
      - notesnook
    healthcheck:
      test: wget --tries=1 -nv -q  http://localhost:7264/health -O- || exit 1
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s
    environment:
      <<: *server-discovery

  monograph-server:
    image: streetwriters/monograph:latest
    ports:
      - 6264:3000
    env_file: *env-files
    depends_on:
      - notesnook-server
    networks:
      - notesnook
    healthcheck:
      test: wget --tries=1 -nv -q  http://localhost:3000/api/health -O- || exit 1
      interval: 40s
      timeout: 30s
      retries: 3
      start_period: 60s
    environment:
      <<: *server-discovery
      API_HOST: http://notesnook-server:5264/
      PUBLIC_URL: ${MONOGRAPH_PUBLIC_URL}

networks:
  notesnook:

3. Docker Images Preparation

Pull all required images to avoid timeout issues:

cd /srv/Files/Notesnook/setup
docker pull mongo:7.0.12
docker pull minio/minio:RELEASE.2024-07-29T22-14-52Z
docker pull streetwriters/identity:latest
docker pull streetwriters/notesnook-sync:latest
docker pull streetwriters/sse:latest
docker pull streetwriters/monograph:latest
docker pull vandot/alpine-bash

or just

cd /srv/Files/Notesnook/setup
docker compose pull

4. Deployment

Start the services:

cd /srv/Files/Notesnook/setup
docker compose up -d

5. Service Verification

5.1. Check Container Status

docker compose ps

Expected status:

  • Running containers:
    • notesnook-db
    • notesnook-s3
    • identity-server
    • notesnook-server
    • sse-server
    • monograph-server
  • Completed containers (should show Exit 0):
    • validate
    • initiate-rs0
    • setup-s3

5.2. Check Logs

docker compose logs

5.3. Test MinIO Access

Visit: http://your-server:9009/


6. Reverse Proxy Configuration with Nginx and SSL

Enable WebSockets Support for: notes.domain.com (port 5264) - For real-time synchronization
events.domain.com (port 7264) - For real-time notifications

Enable Cache Assets for: mono.domain.com (port 6264) - For optimizing public notes loading

Step 1: Install Certbot

sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

Step 2: Obtain SSL Certificates

sudo certbot --nginx -d auth.domain.com -d notes.domain.com -d events.domain.com -d mono.domain.com

Step 3: Modify Nginx Configuration

Use the following example configurations for each subdomain:

# Auth Server - Basic (no cache/websocket needed)
server {
    listen 80;
    server_name auth.domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name auth.domain.com;

    ssl_certificate /etc/letsencrypt/live/auth.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/auth.domain.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:8264/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# Notes Server - With WebSocket
server {
    listen 80;
    server_name notes.domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name notes.domain.com;

    ssl_certificate /etc/letsencrypt/live/notes.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/notes.domain.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:5264/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
    }
}

# Events Server - With WebSocket
server {
    listen 80;
    server_name events.domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name events.domain.com;

    ssl_certificate /etc/letsencrypt/live/events.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/events.domain.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:7264/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
    }
}

# Monograph Server - With Cache
server {
    listen 80;
    server_name mono.domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name mono.domain.com;

    ssl_certificate /etc/letsencrypt/live/mono.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mono.domain.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://localhost:6264/;
        proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
        proxy_cache_valid 200 60m;
        add_header X-Cache-Status $upstream_cache_status;
        expires 1h;
        add_header Cache-Control "public, no-transform";
    }
}

7. Useful Commands

Service Management

# View real-time logs
docker compose logs -f

# View logs for specific service
docker compose logs [service-name]

# Restart specific service
docker compose restart [service-name]

# Stop all services
docker compose down

# Update services
docker compose pull
docker compose up -d

8. Maintenance

8.1. Backup

Regularly backup these directories:

  • /srv/Files/Notesnook/db/ (MongoDB data)
  • /srv/Files/Notesnook/s3/ (MinIO data)
  • /srv/Files/Notesnook/setup/.env (Configuration)

8.2. Updates

To update all services:

cd /srv/Files/Notesnook/setup
docker compose pull
docker compose down
docker compose up -d

9. Troubleshooting

Common Issues:

Service won't start

  • Check logs: docker compose logs [service-name]
  • Verify port availability.
  • Check directory permissions.
  • Verify environment variables.

Database Connection Issues

  • Ensure MongoDB replica set is initialized.
  • Check MongoDB logs: docker compose logs notesnook-db.

Storage Issues

  • Verify MinIO credentials.
  • Check MinIO logs: docker compose logs notesnook-s3.

Email Not Working

  • Verify SMTP settings in .env.
  • Check identity-server logs.

Security Notes

  • Change default passwords in .env.
  • Use strong passwords for MinIO and API secret.
  • Keep your .env file secure.
  • Regularly update all services.
  • Enable HTTPS on your reverse proxy.
  • Consider implementing fail2ban.
  • Regularly monitor logs for suspicious activity.

Support

If you encounter issues:

Notesnook sync server: a Noob-Friendly Setup Tutorialhttps://github.com/streetwriters/notesnook-sync-serverOpen linkView original on lemmy.ml
opensignups·Open SignupsbyTiritibambix

[CLOSED] LST.GG

Hey there!

It seems like registrations are open on lst.gg once more!

I went ahead and tried to create an account (actually two, using different emails), but I haven’t received the confirmation email yet (hence the second email attempt).

I also tried reaching out to the admins, but I got a "Undelivered Mail Returned to Sender" response.

Has anyone had better luck than me?

Genetral Tracker UNIT3D based tracker

Open for 8 days

Signup Link: https://lst.gg/register

Stats:

Torrents: 55,980

Total Torrent Size :1.12 PiB

  • Movies :33,621

  • Shows: 21,774

  • HD: 52,983

  • SD: 2,997

  • Users: 6,062 Peers: 191,116 Seeders: 190,707 Leechers: 409

Traffic:

  • Real Upload: 3.54 PiB
  • Real Download: 3.39 PiB
  • Total Traffic: 6.93 PiB
  • Credited Upload: 5.18 PiB
  • Credited Download: 528.21 TiB
  • Credited Traffic: 5.69 PiB
[CLOSED] LST.GGhttps://www.lst.gg/registerOpen linkView original on lemmy.ml

ClipBucket: video hosting with PHP

Hello there.

I just wanted to share a recent discovery.

I was on the lookout for a self-hosted video hosting solution to host the tutorials I have and to share videos with family and work. I looked everywhere, and the only solution that suited me was MediaCMS. I'm exclusively using Docker for my self-hosted setup, and let me tell you that MediaCMS was a real pain in the ass to set up. Worse, it kept breaking over and over, and when you're just a beginner hobbyist like me, it was simply unsustainable. Don't get me wrong: MediaCMS is a great piece of software, but unless you run it barebones I guess, it is broken and desperately lacks support (at least for Docker).

So my journey continued, searxing, browsing awesome selfhosted, and trying every option I could get my hands on (honorable mention to Gerbera).

The other day, I was desperate and decided to ask Mistral what solutions it knew of. It was the only source that mentioned ClipBucket.

I tried it, encountered issues, posted them on GitHub, and two days later, their Dockerfile and setup instructions were updated. Communication was flawless, and the team is really great.

So please, give ClipBucket a try. Star them on GitHub, and show them some support. They deserve it!

https://github.com/MacWarrior/clipbucket-v5

View original on lemmy.ml

Alternative to Create-Synchronicity

Hi everyone!

I've been using Create-Synchronicity for a few years, and it's been great for my needs. However, it hasn't been updated in a while, and I'm curious if there might be a more current alternative out there.

I'm looking for features like mirror, incremental, and two-way incremental backups, as well as the ability to schedule my backups. Opensource is a great plus.

There are plenty of options available, so I thought it would be a good idea to ask you all what you're using and what you would recommend.

Thanks a bunch for your help!

View original on lemmy.ml

Quantum boards in Europe

Hey everyone!

A couple of years ago, I began my learning journey with a 60x60x120 cm tent and a 125w Kingbrite with Lm301h Mix Epistar 660nm.

Now that I'm moving to a new place with plenty of space, I'm considering upgrading my setup. I'm thinking about either an 80x80x160 or a 100x100x180 tent, and I believe a 240W lamp would suit my needs perfectly.

However, I live in Western Europe, and I noticed that Kingbrite is only available on Alibaba or Aliexpress. When I bought my first board, I ended up paying 80€ customs fees. I also can't find HLG options here.

If anyone in Europe has experience with sourcing good grow lights, I would really appreciate your advice! Thank you! :)

View original on lemmy.ml
cannabiscultivation·Cannabis Cultivation byTiritibambix

Quantum boards in Europe

Hey everyone!

A couple of years ago, I began my learning journey with a 60x60x120 cm tent and a 125w Kingbrite with Lm301h Mix Epistar 660nm.

Now that I'm moving to a new place with plenty of space, I'm considering upgrading my setup. I'm thinking about either an 80x80x160 or a 100x100x180 tent, and I believe a 240W lamp would suit my needs perfectly.

However, I live in Western Europe, and I noticed that Kingbrite is only available on Alibaba or Aliexpress. When I bought my first board, I ended up paying 80€ customs fees. I also can't find HLG options here.

If anyone in Europe has experience with sourcing good grow lights, I would really appreciate your advice! Thank you! :)

View original on lemmy.ml

I have an online business. How f*cked am I ?

Hi there,

I'm currently going through some significant changes in my life. I'll be making a professional transition soon by leaving Paris for a more rural area, but I won't bore you with all the details.

My issue is that I really value my privacy and dislike big tech companies like gafam. To protect myself, I use Pihole and only allow an old phone to have access to meta products.

I recently caved in and reactivated my old Facebook and Instagram accounts to help with advertising, along with using a platform similar to Hootsuite to streamline things. When responding to private messages on Instagram, I use Aeroinsta to block ads and telemetry.

I'm managing okay so far, but I've seen the success some people have on TikTok and feel tempted to create an account. The thought of it turns my stomach, though.

If you're in a similar situation where online communication is vital, how do you navigate it? Have you found any alternative apps for TikTok like Aerosinsta ?

I'd really appreciate hearing from you and getting some insights. Thank you for your input.

View original on lemmy.ml

Guide: How to run MediaCMS with Docker

This is a followup to my previous post.

If you want to bind volumes outside of Docker, this is what you need to do.

There was a huge permission and volume mapping problem. I mention github issues that helped me here.

I hope that will help noobs and insecure people like me.


cd /srv/path/Files
git clone https://github.com/mediacms-io/mediacms
cd /srv/path/Files/mediacms
mkdir postgres_data \
&& chmod -R 755 postgres_data
nano docker-compose.yaml
version: "3"

services:
  redis:
    image: "redis:alpine"
    restart: always
    healthcheck:
      test: ["CMD", "redis-cli","ping"]
      interval: 30s
      timeout: 10s
      retries: 3

  migrations:
    image: mediacms/mediacms:latest
    volumes:
      - /srv/path/Files/mediacms/deploy:/home/mediacms.io/mediacms/deploy
      - /srv/path/Files/mediacms/logs:/home/mediacms.io/mediacms/logs
      - /srv/path/Files/mediacms/media_files:/home/mediacms.io/mediacms/media_files
      - /srv/path/Files/mediacms/cms/settings.py:/home/mediacms.io/mediacms/cms/settings.py
    environment:
      ENABLE_UWSGI: 'no'
      ENABLE_NGINX: 'no'
      ENABLE_CELERY_SHORT: 'no'
      ENABLE_CELERY_LONG: 'no'
      ENABLE_CELERY_BEAT: 'no'
      ADMIN_USER: 'admin'
      ADMIN_EMAIL: 'admin@localhost'
      ADMIN_PASSWORD: 'complicatedpassword'
    restart: on-failure
    depends_on:
      redis:
        condition: service_healthy
  web:
    image: mediacms/mediacms:latest
    deploy:
      replicas: 1
    ports:
      - "8870:80" #whatever:80
    volumes:
      - /srv/path/Files/mediacms/deploy:/home/mediacms.io/mediacms/deploy
      - /srv/path/Files/mediacms/logs:/home/mediacms.io/mediacms/logs
      - /srv/path/Files/mediacms/media_files:/home/mediacms.io/mediacms/media_files
      - /srv/path/Files/mediacms/cms/settings.py:/home/mediacms.io/mediacms/cms/settings.py
    environment:
#      ENABLE_UWSGI: 'no' #keep commented
      ENABLE_CELERY_BEAT: 'no'
      ENABLE_CELERY_SHORT: 'no'
      ENABLE_CELERY_LONG: 'no'
      ENABLE_MIGRATIONS: 'no'
      
  db:
    image: postgres:15.2-alpine
    volumes:
      - /srv/path/Files/mediacms/postgres_data:/var/lib/postgresql/data/
    restart: always
    environment:
      POSTGRES_USER: mediacms
      POSTGRES_PASSWORD: mediacms
      POSTGRES_DB: mediacms
      TZ: Europe/Paris
    healthcheck:
      test: ["CMD-SHELL", "pg_isready", "--host=db", "--dbname=$POSTGRES_DB", "--username=$POSTGRES_USER"]
      interval: 30s
      timeout: 10s
      retries: 5

  celery_beat:
    image: mediacms/mediacms:latest
    volumes:
      - /srv/path/Files/mediacms/deploy:/home/mediacms.io/mediacms/deploy
      - /srv/path/Files/mediacms/logs:/home/mediacms.io/mediacms/logs
      - /srv/path/Files/mediacms/media_files:/home/mediacms.io/mediacms/media_files
      - /srv/path/Files/mediacms/cms/settings.py:/home/mediacms.io/mediacms/cms/settings.py
    environment:
      ENABLE_UWSGI: 'no'
      ENABLE_NGINX: 'no'
      ENABLE_CELERY_SHORT: 'no'
      ENABLE_CELERY_LONG: 'no'
      ENABLE_MIGRATIONS: 'no'

  celery_worker:
    image: mediacms/mediacms:latest
    deploy:
      replicas: 1
    volumes:
      - /srv/path/Files/mediacms/deploy:/home/mediacms.io/mediacms/deploy
      - /srv/path/Files/mediacms/logs:/home/mediacms.io/mediacms/logs
      - /srv/path/Files/mediacms/media_files:/home/mediacms.io/mediacms/media_files
      - /srv/path/Files/mediacms/cms/settings.py:/home/mediacms.io/mediacms/cms/settings.py
    environment:
      ENABLE_UWSGI: 'no'
      ENABLE_NGINX: 'no'
      ENABLE_CELERY_BEAT: 'no'
      ENABLE_MIGRATIONS: 'no'
    depends_on:
      - migrations
docker-compose up -d

CSS will probably be missing because reasons, so bash into web container

docker exec -it mediacms_web_1 /bin/bash

Then

python manage.py collectstatic

No need to reboot

View original on lemmy.ml