Git Product home page Git Product logo

mastodon-oca's Introduction

Linode Marketplace Mastodon One-Click App

This repository has been archived, and is unsupported.

The Mastodon One-Click App is still available in the Marketplace Apps repo


The Linode Marketplace is designed to make it easier for developers and companies to share One-Click Apps with the Linode community. One-Click Apps are portable and modular solutioning tools written as Ansible playbooks. The Linode Marketplace allows users to quickly deploy services and perform essential configurations on a Linode Compute Instance's first boot.

About Mastodon

Mastodon is an open-source and decentralized micro-blogging platform. Like Twitter, it lets users follow other users and post text, photos, and video content. Mastodon also allows you to create a non-profit social network based on open web standards and principles. Unlike Twitter, Mastodon is decentralized, meaning that its content is not maintained by a central authority.

What sets the Mastodon platform apart is its federated approach to social networking. Each Mastodon instance operates independently โ€” anyone can create an instance and build their community. But users from different instances can still follow each other, share content, and communicate.

Mastodon participates in the Fediverse, a collection of social networks and other websites that communicate using the ActivityPub protocol. That allows different Mastodon instances to communicate, and also allows other platforms in the Fediverse to communicate with Mastodon.

Mastodon servers range in size from small private instances to massive public instances and typically center on specific interests or shared principles. The biggest Mastodon server is Mastodon.social, a general-interest server created by the developers of the Mastodon platform. It has over 540,000 users and boasts a thorough Code of Conduct.

Deploying a Marketplace App

The Linode Marketplace allows you to easily deploy software on a Compute Instance using the Cloud Manager.

  1. Ensure that your domain is using the Linode name servers as the authoritative name servers at the registrar level.

  2. Log in to the Cloud Manager and select the Marketplace link from the left navigation menu. This displays the Linode Create page with the Marketplace tab pre-selected.

  3. Under the Select App section, select the app you would like to deploy.

  4. Complete the form by following the steps and advice within the Creating a Compute Instance guide. Depending on the Marketplace App you selected, there may be additional configuration options available. See the Configuration Options section below for compatible distributions, recommended plans, and any additional configuration options available for this Marketplace App.

  5. Click the Create Linode button. Once the Compute Instance has provisioned and has fully powered on, wait for the software installation to complete. If the instance is powered off or restarted before this time, the software installation will likely fail.

  6. Follow the instructions within the Getting Started After Deployment section to access and start using your application.

Estimated deployment time: Mastodon should be fully installed within 10-15 minutes after the Compute Instance has finished provisioning.

Mastodon Options

Name Description
Linode API Token A valid Linode API token with Read/Write permissions to Domains. Required
SOA Email An email address you control to be the Source of Authority for the generated DNS zone. Required
Domain A valid domain name for your Mastodon instance, with Linode's name servers configured as the authoritative name servers. Required
Mastodon Owner User The username for the Admin user that will be created for the Mastodon server. Required
Mastodon Owner Email The contact email for the Admin user that will be created for the Mastodon server. Required
Single User Mode Enabling Single User Mode prevents other users from joining the Mastodon Server, while disabling it allows it. Required

mastodon-oca's People

Contributors

bradcarnage avatar hmorris3293 avatar linode-solutions avatar lno0 avatar n0vabyte avatar tbaka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mastodon-oca's Issues

healthcheck for Postgres uses nonexistent user

I was getting an error on the health check for Postgres because on the provided docker-compose file the database is made with a user named mastodon but the healthcheck uses a user named postgres.

You can correct this by replacing test: ['CMD', 'pg_isready', '-U', 'postgres'] with test: ['CMD', 'pg_isready', '-U', 'mastodon'].

EACCES: Permission denied @ dir_s_mkdir

I was running into 500 errors and not able to update any profile images, follow people etc. I think you need to update the Ansible Ruby scripts to handle this. Also adding in some guidance on how to re-point to Object Storage would be great. I am fluent in AWS, new to Linode.

The docker log from the container live_web_1 was showing a permissions issue:

InboxesController action=create status=500 error='Errno::EACCES: Permission denied @ dir_s_mkdir - /opt/mastodon/public/system/cache'

I ran chown -R 991:991 /home/mastodon/livepublic/ and that resolved my issues.

Ref --> Maston GitHub Issue 18229

'ansible_specdoc' ModuleNotFoundError during build process

Tried setting up an instance following the guide a few times and ran into this error each time.

TASK [mastodon : create a domain] **********************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ModuleNotFoundError: No module named 'ansible_specdoc'
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File "/root/.ansible/tmp/ansible-tmp-1676606791.8480763-13130-215321695114481/AnsiballZ_domain.py", line 107, in \n _ansiballz_main()\n File "/root/.ansible/tmp/ansible-tmp-1676606791.8480763-13130-215321695114481/AnsiballZ_domain.py", line 99, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File "/root/.ansible/tmp/ansible-tmp-1676606791.8480763-13130-215321695114481/AnsiballZ_domain.py", line 47, in invoke_module\n runpy.run_module(mod_name='ansible_collections.linode.cloud.plugins.modules.domain', init_globals=dict(_module_fqn='ansible_collections.linode.cloud.plugins.modules.domain', _modlib_path=modlib_path),\n File "/usr/lib/python3.9/runpy.py", line 210, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File "/usr/lib/python3.9/runpy.py", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File "/usr/lib/python3.9/runpy.py", line 87, in _run_code\n exec(code, run_globals)\n File "/tmp/ansible_linode.cloud.domain_payload_u9nofybv/ansible_linode.cloud.domain_payload.zip/ansible_collections/linode/cloud/plugins/modules/domain.py", line 11, in \nModuleNotFoundError: No module named 'ansible_specdoc'\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

Installation & Support for tootcli

tootcli is a pretty essential tool for managing mastodon content. From what I can tell, it is not included.

Also, upon going through all the hoops and installing manually, you get:
`rescue in new_client': could not translate host name "db" to address: Name or service not known

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.