1
0
Fork
You've already forked myconet
0
forked from myconet/myconet
This is my personal fork of Myconet where I can work on issues in the typical PR-style way of working that I'm used to. The idea is to have my own branch, while keeping clear what changes I made so they can be upstreamed later. The code runs on https://myconet.ilja.space/ but the service is mostly down bc it's only used for develop and testing purposes atm.
  • Elixir 92.5%
  • HTML 5.3%
  • CSS 1.3%
  • Dockerfile 0.5%
  • JavaScript 0.3%
Find a file
ilja space 0b38c39628 Change min version to elixir 1.15
I tried with elixir 1.14.0 (latest version on Debian), but it doesn't work due to
 ** (UndefinedFunctionError) function Macro.expand_literals/2 is undefined or private.
It seems this function was introduced "(since 1.14.1)", <https://hexdocs.pm/elixir/main/Macro.html#expand_literals/2>
This function is used by :phoenix_live_view. Checking the docs, it seems the previous version is 0.20.17,
<https://hexdocs.pm/phoenix_live_view/0.20.17/Phoenix.LiveView.html>, but then the webview doesn't work properly.
There's also
 warning: the dependency :floki requires Elixir "~> 1.15" but you are running on v1.14.0
 warning: the dependency :ex_doc requires Elixir "~> 1.15" but you are running on v1.14.0
While they didn't seem to give compilation errors, and because Debian users need a work around for 1.14.1 anyhow, I decided that moving the version to 1.15.0 is probably best.
It compiles and runs with `mix phx.server` (using elixir 1.15.0-otp-25 installed through asdf)
2025年09月27日 09:41:11 +02:00
assets save missing url and subject from federation along with the note 2025年03月25日 13:18:06 +01:00
config fix tests 2025年03月24日 22:15:32 +01:00
documentation detect and linkify webfingers in textarea parser 2025年03月02日 18:47:26 +01:00
lib fix spec typo 2025年05月14日 14:10:11 +02:00
priv search support Note (id, uri, url) 2025年03月26日 18:47:46 +01:00
rel/overlays/bin Myconet can be build in a container 2025年02月26日 18:22:43 +01:00
test fetch objects and reply to with the targeted actor by inbox 2025年03月28日 16:34:23 +01:00
.dockerignore Myconet can be build in a container 2025年02月26日 18:22:43 +01:00
.envrc /dev/null 2024年12月15日 12:46:33 +01:00
.formatter.exs /dev/null 2024年12月15日 12:46:33 +01:00
.gitignore document build process, using releases 2025年02月12日 17:19:58 +01:00
CHANGELOG.md polish documentation 2025年03月21日 14:10:01 +01:00
Dockerfile Myconet can be build in a container 2025年02月26日 18:22:43 +01:00
entrypoint.sh Myconet can be build in a container 2025年02月26日 18:22:43 +01:00
LICENSE /dev/null 2024年12月15日 12:46:33 +01:00
mix.exs Change min version to elixir 1.15 2025年09月27日 09:41:11 +02:00
mix.lock add background job dependency 2025年03月13日 16:45:05 +01:00
README.md polish documentation 2025年03月21日 14:10:01 +01:00
shell.nix document build process, using releases 2025年02月12日 17:19:58 +01:00

Myconet

Myconet is social network project to host and own your data and internet presence. Its focus is to talk the ActivityPub protocol, to be a part of the Fediverse.

Features

This is a wannabe but not complete list of features available in Myconet:

  • multi-seats: it supports multiple local accounts
  • multi-users: each account may have as many user as wished
  • registrations:
    • can be opened or closed
    • can require an invitation to be valid
  • user to user:
    • follow/unfollow
    • follow request/withdraw
    • force a user to unfollow
    • relations page that summaries all the above in a single view
  • server side render frontend bundled: very-little to no-javascript required

A curated list of features can be looked in the changelog file.

multi-accounts multi-users?

To explain a bit the confusion with the multi-accounts and multi-users:

  • an account is:
    • usually managed by a human-shaped entity
    • internal to Myconet and doesn't federate
    • can't interact with anything
  • a user is:
    • a federated entity that can interact with other entity
    • owned by an account
    • might be shared to other accounts (this is on the todo list)

In short if a separation of contexts is wished, it allows to create an alt at virtually no cost.

Development

The project is made using the Elixir language and the Phoenix framework. If one uses the Nix package manager, a shell.nix is available.

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

License

This project is distributed under the GNU Affero General Public License. A copy of the license is distributed under the LICENSE file.