Not-yet-federated open source social network inspired by VK.
Find a file
2024-11-04 00:35:54 +03:00
.github ci(actions): try load flag 2024-11-04 00:35:54 +03:00
CLI Coin: Add ability to see how much voices you reveiced trough notifications 2022-06-02 14:07:31 +03:00
data whoops 2023-02-03 14:23:22 +03:00
Email chore: remove mentions of our older domain names 2024-04-19 11:05:24 +03:00
install fix(sqls): add NOT NULL to id in 00049-ignored-sources.sql 2024-11-03 17:52:09 +03:00
locales feat(users): ignore users and groups (#987) 2024-11-03 17:17:34 +03:00
misc Initial commit 2020-06-07 19:04:43 +03:00
ServiceAPI Обновы для плейлистов и поиска (#1137) 2024-10-25 16:28:35 +03:00
storage Fix missing dirs 2020-06-07 21:36:55 +03:00
themepacks fix(theme-midnight): bump version to 0.0.3.0 2024-10-30 18:59:03 +07:00
tmp/api-storage Add photos.save, photos.saveWallPhoto, photos.saveOwnerPhoto, photos.getUploadServer 2022-03-29 20:43:34 +03:00
VKAPI feat(users): ignore users and groups (#987) 2024-11-03 17:17:34 +03:00
Web fix(al_feed): fix selectors for feed settings 2024-11-03 18:15:13 +03:00
.gitignore 4 2023-01-29 19:16:10 +02:00
bootstrap.php feat(users): ignore users and groups (#987) 2024-11-03 17:17:34 +03:00
CODE_OF_CONFLICT.md Rename CoC and CS files 2022-05-23 16:25:27 +03:00
CODE_STYLE.md Rename CoC and CS files 2022-05-23 16:25:27 +03:00
composer.json improvement(bootstrap): small compat fixes for WIN_NT on PHP 8.1 2024-03-30 12:29:50 +02:00
composer.lock build(composer.lock): update dependencies 2024-11-03 00:20:54 +03:00
COPYING Change license to less restrictive LGPLv2.1 2020-06-14 19:56:16 +03:00
crowdin.yml Update Crowdin configuration file 2021-09-13 19:17:49 +03:00
DBEntity.updated.php Add logging system (#940) 2023-08-11 16:43:39 +03:00
manifest.yml Global: Get rid of OpenVK 2 branding (#105) 2021-10-31 18:29:52 +07:00
openvk-example.yml feat(users): ignore users and groups (#987) 2024-11-03 17:17:34 +03:00
openvkctl Coin: A very early implementation of Toncoin fetching 2022-05-07 02:33:22 +03:00
quirks.yml Add polls (#743) 2022-10-11 19:04:43 +03:00
README.md build(js): remove yarn support, and update lock-file (#1142) 2024-11-03 17:37:35 +03:00
README_RU.md build(js): remove yarn support, and update lock-file (#1142) 2024-11-03 17:37:35 +03:00
Vagrantfile Update vagrantfile (i'm still not sure it works) 2022-04-10 18:15:19 +03:00

openvkOpenVK

Русский

OpenVK is an attempt to create a simple CMS that cosplays imitates old VKontakte. Code provided here is not stable yet.

VKontakte belongs to Pavel Durov and VK Group.

To be honest, we don't know whether if it even works. However, this version is maintained and we will be happy to accept your bugreports in our bug tracker. You should also be able to submit them using ticketing system (you will need an OpenVK account for this).

When's the release?

We will release OpenVK as soon as it's ready. As for now, you can:

  • git clone this repo's master branch (use git pull to update)
  • Grab a prebuilt OpenVK distro from GitHub artifacts

Instances

A list of instances can be found in our wiki of this repository.

Can I create my own OpenVK instance?

Yes! And you are very welcome to.

However, OVK makes use of Chandler Application Server. This software requires extensions, that may not be provided by your hosting provider (namely, sodium and yaml. these extensions are available on most of ISPManager hostings).

If you want, you can add your instance to the list above so that people can register there.

System requirements

Here is our minimum hardware recommendation:

  • CPU: Recent (AMD Zen2 or equivalent) quad-core 2GHz+ CPU
  • RAM: At least 2GB RAM (we recommend 6GB or 8GB for OpenVK with Kafka)
  • Minimum database space: 10GB

Installation procedure

  1. Install PHP 7.4, web-server, Composer, Node.js, NPM and Chandler
  • PHP 8 is still being tested; the functionality of the engine on this version of PHP is not yet guaranteed.
  1. Install MySQL-compatible database.
  • We recommend using Percona Server, but any MySQL-compatible server should work too.
  • Server should be compatible with at least MySQL 5.6, MySQL 8.0+ is recommended.
  • Support for MySQL 4.1+ is WIP, replace utf8mb4 and utf8mb4_unicode_520_ci with utf8 and utf8_unicode_ci in SQLs.
  1. Install commitcaptcha and OpenVK as Chandler extensions like this:
git clone https://github.com/openvk/openvk /path/to/chandler/extensions/available/openvk
git clone https://github.com/openvk/commitcaptcha /path/to/chandler/extensions/available/commitcaptcha
  1. And enable them:
ln -s /path/to/chandler/extensions/available/commitcaptcha /path/to/chandler/extensions/enabled/
ln -s /path/to/chandler/extensions/available/openvk /path/to/chandler/extensions/enabled/
  1. Import install/init-static-db.sql to the same database you installed Chandler to and import all sqls from install/sqls to the same database
  2. Import install/init-event-db.sql to a separate database (Yandex.Clickhouse can also be used, highly recommended)
  3. Copy openvk-example.yml to openvk.yml and change options to your liking
  4. Run composer install in OpenVK directory
  5. Run composer install in commitcaptcha directory
  6. Move to Web/static/js and execute npm install
  7. Set openvk as your root app in chandler.yml

Once you are done, you can login as a system administrator on the network itself (no registration required):

  • Login: admin@localhost.localdomain6
  • Password: admin
    • It is recommended to change the password of the built-in account or disable it.

💡 Confused? Full installation walkthrough is available here (CentOS 8 and family).

Looking for Docker or Kubernetes deployment?

See install/automated/docker/README.md and install/automated/kubernetes/README.md for Docker and Kubernetes deployment instructions.

If my website uses OpenVK, should I release its sources?

It depends. You can keep the sources to yourself if you do not plan to distribute your website binaries. If your website software must be distributed, it can stay non-OSS provided the OpenVK is not used as a primary application and is not modified. If you modified OpenVK for your needs or your work is based on it and you are planning to redistribute this, then you should license it under terms of any LGPL-compatible license (like OSL, GPL, LGPL etc).

Where can I get assistance?

You may reach out to us via:

Attention: bug tracker, board, Telegram and Matrix chat are public places, ticketing system is being served by volunteers. If you need to report something that should not be immediately disclosed to general public (for instance, a vulnerability), please contact us directly via this email: openvk [at] tutanota [dot] com

Get it on Codeberg