socioboard / Socioboard-5.0

Socioboard is world's first and open source Social Technology Enabler. Socioboard Core is our flagship product.
http://www.socioboard.org
Other
1.16k stars 364 forks source link

docker support #102

Open ghost opened 5 years ago

ghost commented 5 years ago

Did you have a docker-compose for deploy ?

Sathish-Globussoft commented 5 years ago

No, Currently we dont have.

mihazs commented 5 years ago

+1 for docker version

nickwild-999 commented 5 years ago

+1 for docker version

leoborlot commented 4 years ago

have you any one stack or docker compose?

mtcaddy commented 4 years ago

any update on docker? Happy to help.

TechnologyClassroom commented 4 years ago

The first step to making a docker compose script would be to make a bash script to install. No one has published one yet.

rsmithlal commented 4 years ago

I will take a look at what's required to get this running in docker and script the install process. This seems like an interesting and useful platform and if it can help us with our social media workload I would be happy to work with you to contribute this

mtcaddy commented 4 years ago

I will take a look at what's required to get this running in docker and script the install process. This seems like an interesting and useful platform and if it can help us with our social media workload I would be happy to work with you to contribute this

I'm happy to set it up with you.

rsmithlal commented 4 years ago

@mtcaddy sorry, I commented after just discovering the software and not trying it out. I signed up to the free plan of the commercial version and it had so many bugs that it was unusable. Lots of CORS issues in the front end. I would like this software to be worth my time, but right now it isn't.

TechnologyClassroom commented 4 years ago

@rsmithlal Can you share your scripts? Making issues for the CORS issues would help too.

rsmithlal commented 4 years ago

@TechnologyClassroom I didn't end up writing more than just the initial couple of empty files because realized that I hadn't tried the software yet and had no idea what it was like or if it was worth investing time in. The bugs that I encountered were with the commercial production software and not the open source edition, and they don't have a clear way of reporting issues with that software as far as I could see. No contact email listed or open bug tracker portal.

TechnologyClassroom commented 4 years ago

@rsmithlal I see. I think this is also the bug tracker for that.

stvhanna commented 3 years ago

@rsmithlal Did you find an alternative since Socioboard appears to have bugs and not worth dockerizing right now?

rsmithlal commented 3 years ago

Unfortunately not! I didn't need the features bad enough to keep looking extensively. It's something that I will be building into my open source community engine, though. It's not released yet, but you can find it in my profile if you're interested in something like this and would like to keep up to date and/or help build it!  ---- On Tue, 24 Nov 2020 20:29:38 -0330 notifications@github.com wrote ---- @rsmithlal Did you find an alternative since Socioboard appears to have bugs and not worth dockerizing right now?

—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or unsubscribe.

kenjibailly commented 2 years ago

Would love to see docker support :)

tiritibambix commented 2 years ago

Oh yes please, we need this ;)

ovizii commented 2 years ago

sadly not going to happens since it has been "requested" for about 3 years already

axe312ger commented 2 years ago

How about you people create your own container setup and publish it?

Open Source is about collaboration :)

ovizii commented 2 years ago

How about you people create your own container setup and publish it?

Open Source is about collaboration :)

Very true, but my guess is people who could create their own container setup wouldn't be asking for one here :-)

tiritibambix commented 2 years ago

but my guess is people who could create their own container setup wouldn't be asking for one here

Very true. If I had the knowledge or the time to learn it, I wouldn't be asking here :p

vaughngx4 commented 2 years ago

Anyone still looking at this? I'm currently working on a Docker solution. However the lack of comprehensive documentation is making it quite difficult. Is there anyone I can discuss this with? I just need a breakdown on the configs(are they loaded individually? Does "NODE_ENV=development" decide whether "development.json" is loaded instead of "default.json"?). I have yet to use the software, but I would like to and don't mind contributing if it doesn't take up too much time. I'd have to dive into the code to find such things.

vaughngx4 commented 2 years ago

Uhh my bad, I have located developer docs. <3

TechnologyClassroom commented 2 years ago

@vaughngx4 The closest thing to GNU/Linux documentation is the work that was posted to issue 112. What I wrote earlier in this thread still applies. Once we have a functional bash script to install and configure a working site with sane defaults, a docker file would be trivial to make. On the other hand if someone were to make a docker compose file out of the findings from that issue, making a bash script from the docker file would also be trivial.

vaughngx4 commented 2 years ago

@TechnologyClassroom Thanks! I am separating to avoid running all services in a single container, I won't separate the api from the frontend to avoid any unexpected errors. So far I have 3 containers being socioboard, socioboard-mysql and socioboard-mongo. Using alpine as the base image for the main container. Question: Is it necessary to set social media api details and/or mail details in the configs or can that be done via the frontend?

TechnologyClassroom commented 2 years ago

Sounds reasonable. Carry on.

I think that is all handled in the configs, but I have not actually seen the web interface yet other than screenshots others have posted.

vaughngx4 commented 2 years ago

I faffed around with containerizing it on stream the other day if anyone is interested. Keep in mind I hadn't found all the docs and stuff at that point xD - https://www.twitch.tv/videos/1517387240

jon4short commented 2 years ago

@TechnologyClassroom Thanks! I am separating to avoid running all services in a single container, I won't separate the api from the frontend to avoid any unexpected errors. So far I have 3 containers being socioboard, socioboard-mysql and socioboard-mongo. Using alpine as the base image for the main container. Question: Is it necessary to set social media api details and/or mail details in the configs or can that be done via the frontend?

The developers have mentioned in one of the setup videos that it has to be done in the configs in the backend. Not sure why as it does have a frontend for it.

vaughngx4 commented 2 years ago

@jon4short I see, thank you. In the video above I was using sed but I've switched to editing with jq since the placeholders in the config files are not uniform. I've added Docker env vars for each entry in the config that needs to be changed. All local.socioboard.com and localhost entries will be replaced with the domain specified in Docker env. So there will be options to set all configs from the backend(copy pasted for like an hour but it works). Will open a PR when it's done.

vaughngx4 commented 2 years ago

@vaughngx4 The closest thing to GNU/Linux documentation is the work that was posted to issue 112. What I wrote earlier in this thread still applies. Once we have a functional bash script to install and configure a working site with sane defaults, a docker file would be trivial to make. On the other hand if someone were to make a docker compose file out of the findings from that issue, making a bash script from the docker file would also be trivial.

@TechnologyClassroom Are these 3 lines of config still necessary?

"base_path": "../../media",
"payment_path": "../../media/payments",
"template": "public/template/paymentTemplate.html"
TechnologyClassroom commented 2 years ago

@TechnologyClassroom Are these 3 lines of config still necessary?

¯\(ツ)

vaughngx4 commented 2 years ago

So, it's almost ready. However the frontend listens on 127.0.0.1:8000 by default and is therefore not accessable outside the container. I'm not familiar with Laravel or the LAMP stack, I will look into it later but if anyone knows how to change the bind address just drop a comment, thanks.

vaughngx4 commented 2 years ago

So, it's almost ready. However the frontend listens on 127.0.0.1:8000 by default and is therefore not accessable outside the container. I'm not familiar with Laravel or the LAMP stack, I will look into it later but if anyone knows how to change the bind address just drop a comment, thanks.

Fixed by running frontend using php8 artisan serve --host=0.0.0.0 --port=8000

vaughngx4 commented 2 years ago

YO! It's done, seems to be working fine. However I don't know how to create a user(tried signing up and activating the account manually in the database using update user_activations set activation_status = 1; but I get 'undefined' error on signup and nothing in the database). If anyone knows how to or can get it working, please add to the docs in Docker.README.md (and let me know xD). Will open a PR now.

vaughngx4 commented 2 years ago

Screenshot_8

This seems to be an unrelated issue. Anyone willing to test the containers, check my fork.

vaughngx4 commented 2 years ago

I have changes to push that are not related to Docker. The current PR needs to be merged before I make these changes or they will be merged under the Added Docker Files PR.

vaughngx4 commented 2 years ago

Hi all! Apologies for the spam. It seems the developers are not very active. If anyone would like to discuss the project or other dev please join me on Discord: https://discord.gg/TSnvnjE6zP I will be available soon.

ovizii commented 2 years ago

@vaughngx4 no need to apologize, you've done what we all asked for. As soon as I have a moment, I'll give your fork a try.

vaughngx4 commented 2 years ago

I've figured out administration. Will add to the Docker docs soon and update the other docs after.

axe312ger commented 2 years ago

Ohh wow, something happening here! Amazing folks, especially @vaughngx4 :)

vaughngx4 commented 2 years ago

Sorted. I've created another PR and the docker setup should be fully functional as an internal application. Let me know if it dies after 7 days xD but it shouldn't Screenshot_13 .

vaughngx4 commented 2 years ago

I think this issue can be close after the latest merge? Unless we want to wait until I get it running as non-root, with it's current vulnerabilities I don't like it running as root.

Actually I haven't set test_url in the config as I don't know what is expected and the frontend shows notification error(possibly related).

vaughngx4 commented 2 years ago

Docker container is ready to use. Admin UI and all. This issue can be closed :)

tiritibambix commented 2 years ago

Docker container is ready to use. Admin UI and all.

That was fast ! Thank you so much !!

I still have to understand how to make it work though 😂

TechnologyClassroom commented 2 years ago

@tiritibambix https://github.com/socioboard/Socioboard-5.0/blob/master/Docker.README.md

tiritibambix commented 2 years ago

https://github.com/socioboard/Socioboard-5.0/blob/master/Docker.README.md

Great ressource. Thank you. But there's more. Like, I need to understand how it literally works x) Like where do I get FACEBOOK_API_APP_ID, FACEBOOK_API_APP_SECRET, TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_API_APP_NAME, etc...

And if ports 8000, 3000, 3001... are already in use, if I can change that.

I really got to study here :p

vaughngx4 commented 2 years ago

@tiritibambix The API details you will have to get from facebook, twitter etc. (Google facebook api keys and go from there). I haven't actually connected any APIs myself yet. As far as ports go, you can change which ports are exposed in docker/docker-compose.yaml. For example: to change the port the frontend is served on to port 8989 we would change "8000:8000" to "8989:8000". You would also need to change the url scheme in docker/socioboard/init.sh to match (change port 8000 to 8989).

vaughngx4 commented 2 years ago

@tiritibambix The API details you will have to get from facebook, twitter etc. (Google facebook api keys and go from there). I haven't actually connected any APIs myself yet. As far as ports go, you can change which ports are exposed in docker/docker-compose.yaml. For example: to change the port the frontend is served on to port 8989 we would change "8000:8000" to "8989:8000". You would also need to change the url scheme in docker/socioboard/init.sh to match (change port 8000 to 8989).

Regarding the API details, this gives the application functionality. The API details are used by the applications to perform functions like logging in, posting etc. These should not be linked to your personal accounts(you log in with those on the frontend).

The developers released the code for the SSO version of the application. It's still made for being deployed on the web(even though it isn't safe to do so).

TechnologyClassroom commented 2 years ago

This project should not duplicate the effort of rewriting documentation to get the API keys, but linking to the appropriate documentation for the various sites would be helpful to jump start people in the right direction.

vaughngx4 commented 2 years ago

@TechnologyClassroom I agree. I've been focused on the Docker version thus far but will write more documentation as I make progress with the application.

TechnologyClassroom commented 2 years ago

At this rate, @vaughngx4 will squash all of the issues by next week. lol