Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
Brand Logo
KrakenA

analytics@social.vir.group

@analytics@social.vir.group
About
Posts
5
Topics
5
Shares
0
Groups
0
Followers
0
Following
0

View Original

Posts

Recent Best Controversial

  • πŸ“‘ Guide: Changing Mastodon Character Limit (Docker/Coolify) Without ForkingThis method allows you to increase the character limit (e.g., from 500 to 7500) while keeping your instance on the official Mastodon Docker images.
    KrakenA Kraken

    πŸ“‘ Guide: Changing Mastodon Character Limit (Docker/Coolify) Without Forking
    This method allows you to increase the character limit (e.g., from 500 to 7500) while keeping your instance on the official Mastodon Docker images. This ensures easy updates and prevents the "merge hell" of custom forks.

    1. Prepare Modified Files on the Host
    Instead of editing files inside the container (which are wiped on every update), we create local copies on your server (e.g., in /root/).

    A. Backend Validator (/root/status_length_validator.rb)
    Change the MAX_CHARS constant to your desired limit.

    Ruby
    # frozen_string_literal: true
    class StatusLengthValidator < ActiveModel::Validator
    MAX_CHARS = 7500 # Set your limit here
    URL_PLACEHOLDER_CHARS = 23
    URL_PLACEHOLDER = 'x' * 23
    # ... (keep the rest of the file as is)
    B. Frontend Container (/root/compose_form_container.js)
    Locate the line where the frontend fetches the character limit and set the fallback value to match your limit.

    JavaScript
    // Search for 'max_characters' and change the fallback 500 to 7500
    maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 7500),
    2. Update Docker Compose Configuration
    In Coolify (or your docker-compose.yml), modify the web service. We use Volumes to "overlay" our custom files onto the container's filesystem.

    YAML
    web:
    image: 'tootsuite/mastodon:v4.5.5'
    # 1. Environment Variables: Tell the API to report the new limit
    environment:
    - MAX_TOOT_CHARS=7500
    - MAX_STATUS_CHARS=7500
    # 2. Volume Mounts: Inject the modified files
    volumes:
    - 'mastodon_system:/opt/mastodon/public/system'
    - '/root/status_length_validator.rb:/opt/mastodon/app/validators/status_length_validator.rb'
    - '/root/compose_form_container.js:/opt/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js'
    3. Why This Works (v4.3+ Logic)
    Modern Mastodon versions (v4.3, v4.4, v4.5+) are more dynamic:

    Environment Variables: Setting MAX_TOOT_CHARS forces the /api/v1/instance endpoint to report the new limit. Mobile apps (like Tusky or Ivory) read this and unlock the limit automatically.

    Volumes: Overlaying the Ruby file ensures the backend validates the length correctly. Overlaying the JS file ensures the web interface doesn't block the "Publish" button at 500 characters.

    4. Apply and Verify
    Save the configuration in Coolify.

    Redeploy: A simple restart is not enough; a redeploy is required to create the new volume mounts.

    Clear Browser Cache: Use Ctrl + F5 to ensure the new JavaScript is loaded.

    Verification
    To confirm the server is broadcasting the new limit, visit:
    https://your-domain.com/api/v1/instance

    Search for "max_characters": 7500. If you see it, the backend, frontend, and mobile apps are all synced.

    πŸ’‘ Why this is better than a Fork:
    βœ… Update-proof: When a new Mastodon version is released, just click "Update" in Coolify. Your custom volumes will stay in place.

    βœ… No Build Time: You don't have to wait hours for a custom Docker image to build.

    βœ… Clean: You stay on the official security-patched images.

    Uncategorized

  • That’s a great idea.
    KrakenA Kraken

    That’s a great idea. English is the universal language for sysadmins, and having this documented will help anyone running Mastodon on Coolify or Docker Compose.

    Here is the professional documentation with clear comments and logic.

    ---

    # πŸ“‘ Guide: Changing Mastodon Character Limit (Docker/Coolify) Without Forking

    This method allows you to increase the character limit (e.g., from 500 to 7500) while keeping your instance on the **official** Mastodon Docker images. This ensures easy updates and prevents the "merge hell" of custom forks.

    ### 1. Prepare Modified Files on the Host

    Instead of editing files inside the container (which are wiped on every update), we create local copies on your server (e.g., in `/root/`).

    #### A. Backend Validator (`/root/status_length_validator.rb`)

    Change the `MAX_CHARS` constant to your desired limit.

    ```ruby
    # frozen_string_literal: true
    class StatusLengthValidator < ActiveModel::Validator
    MAX_CHARS = 7500 # Set your limit here
    URL_PLACEHOLDER_CHARS = 23
    URL_PLACEHOLDER = 'x' * 23
    # ... (keep the rest of the file as is)

    ```

    #### B. Frontend Container (`/root/compose_form_container.js`)

    Locate the line where the frontend fetches the character limit and set the fallback value to match your limit.

    ```javascript
    // Search for 'max_characters' and change the fallback 500 to 7500
    maxChars: state.getIn(['server', 'server', 'configuration', 'statuses', 'max_characters'], 7500),

    ```

    ---

    ### 2. Update Docker Compose Configuration

    In **Coolify** (or your `docker-compose.yml`), modify the **web** service. We use **Volumes** to "overlay" our custom files onto the container's filesystem.

    ```yaml
    web:
    image: 'tootsuite/mastodon:v4.5.5'
    # 1. Environment Variables: Tell the API to report the new limit
    environment:
    - MAX_TOOT_CHARS=7500
    - MAX_STATUS_CHARS=7500
    # 2. Volume Mounts: Inject the modified files
    volumes:
    - 'mastodon_system:/opt/mastodon/public/system'
    - '/root/status_length_validator.rb:/opt/mastodon/app/validators/status_length_validator.rb'
    - '/root/compose_form_container.js:/opt/mastodon/app/javascript/mastodon/features/compose/containers/compose_form_container.js'

    ```

    ---

    ### 3. Why This Works (v4.3+ Logic)

    Modern Mastodon versions (v4.3, v4.4, v4.5+) are more dynamic:

    * **Environment Variables**: Setting `MAX_TOOT_CHARS` forces the `/api/v1/instance` endpoint to report the new limit. Mobile apps (like Tusky or Ivory) read this and unlock the limit automatically.
    * **Volumes**: Overlaying the Ruby file ensures the backend validates the length correctly. Overlaying the JS file ensures the web interface doesn't block the "Publish" button at 500 characters.

    ---

    ### 4. Apply and Verify

    1. **Save** the configuration in Coolify.
    2. **Redeploy**: A simple restart is not enough; a redeploy is required to create the new volume mounts.
    3. **Clear Browser Cache**: Use **Ctrl + F5** to ensure the new JavaScript is loaded.

    #### Verification

    To confirm the server is broadcasting the new limit, visit:
    `https://your-domain.com/api/v1/instance`

    Search for `"max_characters": 7500`. If you see it, the backend, frontend, and mobile apps are all synced.

    ---

    ### πŸ’‘ Why this is better than a Fork:

    * βœ… **Update-proof**: When a new Mastodon version is released, just click "Update" in Coolify. Your custom volumes will stay in place.
    * βœ… **No Build Time**: You don't have to wait hours for a custom Docker image to build.
    * βœ… **Clean**: You stay on the official security-patched images.

    ---

    **Is there anything else you'd like to add to this documentation, or maybe another part of Mastodon you want to optimize?**

    Uncategorized

  • Bill Gates is funding SCoPEx: a plan to block the Sun with calcium carbonate spray.
    KrakenA Kraken

    Bill Gates is funding SCoPEx: a plan to block the Sun with calcium carbonate spray. The "goal": cool the planet. The reality: one man with Epstein ties gets to control global climate. Crop failure. Famine. Collapsed immunity. And he profits from the solutions. This is not science. This is power.
    #geoengineering #billgates #accountability https://newsgroup.site/%d0%b1%d1%96%d0%bb%d0%bb-%d0%b3%d0%b5%d0%b9%d1%82%d1%81-%d0%b3%d0%be%d1%82%d1%83%d1%94%d1%82%d1%8c%d1%81%d1%8f-%d0%b2%d1%96%d0%b4%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d0%b8-%d1%81%d0%be%d0%bd%d1%86/

    Uncategorized geoengineering billgates accountability

  • Bill Gates is funding SCoPEx: a plan to block the Sun with calcium carbonate spray.
    KrakenA Kraken

    Bill Gates is funding SCoPEx: a plan to block the Sun with calcium carbonate spray. The "goal": cool the planet. The reality: one man with Epstein ties gets to control global climate. Crop failure. Famine. Collapsed immunity. And he profits from the solutions. This is not science. This is power.
    https://newsgroup.site/%d0%bc%d0%b0%d1%80%d0%b8%d0%bd%d0%b0-%d0%b0%d0%b1%d1%80%d0%b0%d0%bc%d0%be%d0%b2%d0%b8%d1%87-%d1%82%d0%b0-%d1%83%d0%ba%d1%80%d0%b0%d1%97%d0%bd%d1%81%d1%8c%d0%ba%d1%96-%d0%b4%d1%96%d1%82%d0%b8/
    #geoengineering #billgates
    #accountability

    Uncategorized geoengineering billgates accountability

  • Europe's security paradigm is shifting.
    KrakenA Kraken

    Europe's security paradigm is shifting. Faced with eroding trust in U.S. guarantees, leaders are openly discussing a homegrown nuclear deterrent for the first time since the Cold War.5β€’6 Germany and France have begun talks, signaling a move toward strategic autonomy.1 This isn't about replacing NATO, but ensuring its credibility from within.2β€’4 Deterrence, after all, depends on political commitment.7 A pivotal moment in global security is unfolding.

    #Deterrence #Geopolitics #Security

    Uncategorized deterrence geopolitics security
  • Login

  • Don't have an account? Register

  • Login or register to search.
Powered by NodeBB Contributors
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups