Not-yet-federated open source social network inspired by VK.
See the code
OpenVKOpenVK is an attempt to create a simple CMS that cosplays imitates old VKontakte. Code provided here is not stable yet.
[!WARNING] OpenVK it is fan project, not affiliated in any way with VKontakte and it's company VK LLC. Below is the same message in Russian.
OpenVK является любительской разработкой и никак не связан с ВКонтакте и компанией ООО "ВК".
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).
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)A list of instances can be found in our wiki of this repository.
Yes! And you are very welcome to.
However, OVK requires extensions, that may not always be available on web hostings (namely, sodium and yaml. these extensions are available on most of ISPManager hostings). That's why it is recommended to host your instances on VPS/VDS or dedicated servers.
If you want, you can add your instance to the list above so that people can register there.
Here is our minimum hardware recommendation:
See install/automated/docker/README.md and install/automated/kubernetes/README.md for Docker and Kubernetes deployment instructions.
Install PHP 8.4 or later, web-server, Composer, and NPM.
Install MySQL-compatible database.
utf8mb4 and utf8mb4_unicode_520_ci with utf8 and utf8_unicode_ci in SQLs.git clone https://github.com/openvk/openvk /opt/openvk
cd /opt/openvk && composer install
cd Web/static/js && npm install
Configure your database: you need 2 databases — one for the main data, another for events.
Copy openvk-example.yml to openvk.yml and edit to your liking.
Run database migrations:
cd /opt/openvk && ./openvkctl upgrade
openvk/htdocs./opt/openvk/htdocs (or wherever you installed OpenVK).Once you are done, you can login in a default system administrator account on the site itself (no registration required):
[email protected]admin
[!WARNING] OpenVK installation procedure has been changed after code restructurisation. Now you don't need to install Chandler separately and install OpenVK as its extension.
If you are migrating from the old structure, make a backup of your Chandler+OpenVK installation, do a git pull, and consult the migration script:
php bin/upgrade-structure.php --help. (When running the upgrade, it is recommended to use--extractflag, to move openvk dir out of Chandler's folder).After the migration, do not forget to change webserver's DocumentRoot from Chandler's
htdocsto OpenVK'shtdocs.
You can also use auto-install script for FreeBSD 15:
pkg install wget
wget https://github.com/OpenVK/openvk/raw/refs/heads/master/install/automated/freebsd-15/install
chmod +x install
./install
You can install Redis to take advantage of real-time notifications (if you enabled Event DB in config).
notificationsBroker under credentials to trueIt should work out of box. If not, tweak Redis and OpenVK config settings
[!WARNING] Kafka in OpenVK was been deprecated since this commit and no longer used in OpenVK codebase. If you see any mention of Kafka in source code, config or documentation, you should know that this will not work at all.
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).
Want to translate our project to your native language? You can try either:
Localization is located in "locales" repository. List of languages is maintained in list.yml file, and the languages itself are in iOS String format.
You may reach out to us via:
Attention: bug tracker, board, Telegram, Discord 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: contact [at] openvk [dot] org
183 followers · starred Feb 2025
25 followers · starred Jun 2022
127 followers · starred Dec 2024
Not-yet-federated open source social network inspired by VK.
See the code
OpenVKOpenVK is an attempt to create a simple CMS that cosplays imitates old VKontakte. Code provided here is not stable yet.
[!WARNING] OpenVK it is fan project, not affiliated in any way with VKontakte and it's company VK LLC. Below is the same message in Russian.
OpenVK является любительской разработкой и никак не связан с ВКонтакте и компанией ООО "ВК".
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).
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)A list of instances can be found in our wiki of this repository.
Yes! And you are very welcome to.
However, OVK requires extensions, that may not always be available on web hostings (namely, sodium and yaml. these extensions are available on most of ISPManager hostings). That's why it is recommended to host your instances on VPS/VDS or dedicated servers.
If you want, you can add your instance to the list above so that people can register there.
Here is our minimum hardware recommendation:
See install/automated/docker/README.md and install/automated/kubernetes/README.md for Docker and Kubernetes deployment instructions.
Install PHP 8.4 or later, web-server, Composer, and NPM.
Install MySQL-compatible database.
utf8mb4 and utf8mb4_unicode_520_ci with utf8 and utf8_unicode_ci in SQLs.git clone https://github.com/openvk/openvk /opt/openvk
cd /opt/openvk && composer install
cd Web/static/js && npm install
Configure your database: you need 2 databases — one for the main data, another for events.
Copy openvk-example.yml to openvk.yml and edit to your liking.
Run database migrations:
cd /opt/openvk && ./openvkctl upgrade
openvk/htdocs./opt/openvk/htdocs (or wherever you installed OpenVK).Once you are done, you can login in a default system administrator account on the site itself (no registration required):
[email protected]admin
[!WARNING] OpenVK installation procedure has been changed after code restructurisation. Now you don't need to install Chandler separately and install OpenVK as its extension.
If you are migrating from the old structure, make a backup of your Chandler+OpenVK installation, do a git pull, and consult the migration script:
php bin/upgrade-structure.php --help. (When running the upgrade, it is recommended to use--extractflag, to move openvk dir out of Chandler's folder).After the migration, do not forget to change webserver's DocumentRoot from Chandler's
htdocsto OpenVK'shtdocs.
You can also use auto-install script for FreeBSD 15:
pkg install wget
wget https://github.com/OpenVK/openvk/raw/refs/heads/master/install/automated/freebsd-15/install
chmod +x install
./install
You can install Redis to take advantage of real-time notifications (if you enabled Event DB in config).
notificationsBroker under credentials to trueIt should work out of box. If not, tweak Redis and OpenVK config settings
[!WARNING] Kafka in OpenVK was been deprecated since this commit and no longer used in OpenVK codebase. If you see any mention of Kafka in source code, config or documentation, you should know that this will not work at all.
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).
Want to translate our project to your native language? You can try either:
Localization is located in "locales" repository. List of languages is maintained in list.yml file, and the languages itself are in iOS String format.
You may reach out to us via:
Attention: bug tracker, board, Telegram, Discord 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: contact [at] openvk [dot] org
183 followers · starred Feb 2025
25 followers · starred Jun 2022
127 followers · starred Dec 2024