Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Document question] Where is construct user data located? #188

Open
recolic opened this issue Aug 15, 2021 · 5 comments
Open

[Document question] Where is construct user data located? #188

recolic opened this issue Aug 15, 2021 · 5 comments
Labels
document Documentation of code for developers or features for users.

Comments

@recolic
Copy link

recolic commented Aug 15, 2021

I'm building a docker image for construct. But I don't know where does construct store its data?

The docker image should be stateless, so I need to create a volume for the directories containing stateful data to make them persistent. such as /var/db/construct.

@TheOneWithTheBraid
Copy link

Do you have any link for the work on the docker image, @recolic? I'd like to include construct in automated CI/CD integration tests of another Matrix project in order to ensure compatibility. As this is only one of four homeserver implementations tested in the pipeline, it would be far out of scope to build construct from source.

@recolic
Copy link
Author

recolic commented Jul 14, 2022

Hi @TheOneWithTheBraid ,

This directory contains a build script, and a docker container to build & run construct. https://git.recolic.net/root/construct-docker/-/tree/master/build
This repo is mostly abandoned, so you might need to do some testing...

@jevolk
Copy link
Member

jevolk commented Jul 15, 2022

Docker images are available here: https://registry.hub.docker.com/r/jevolk/construct/tags. I'm uploading another image with a fully built snapshot of construct right now, so it might not appear there quite yet. I'll be updating that each tagged release.

Construct stores its data in directories configurable at both compile-time and runtime. For building, check out ./configure --help tuning of installation directories. At runtime, directories can be changed with environment variables. The database directory can be set with $STATE_DIRECTORY or $IRCD_DB_DIR or $ircd_fs_base_db which are all the same thing. The default is probably /var/db/construct/. Any other directories are listed alongside in https://github.com/jevolk/charybdis/blob/master/ircd/fs_path.cc

@jevolk jevolk closed this as completed Jul 15, 2022
@jevolk jevolk added the document Documentation of code for developers or features for users. label Jul 15, 2022
@TheOneWithTheBraid
Copy link

Thanks a lot @jevolk!

Could you maybe provide some more documentation on the docker image?

I'd like to have a no-interaction deployment in our integration tests. Is there any way for it? Can I somehow declaratively deploy a very minimal configuration?

@jevolk jevolk reopened this Jul 16, 2022
@jevolk
Copy link
Member

jevolk commented Jul 27, 2022

You can get around interactive configuration (such as the instructions to type net listen ... at console) by using e.g. -execute "net listen ..." as program options to ./construct. Each console command gets its own -execute. I guess this needs to be footnoted somewhere...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
document Documentation of code for developers or features for users.
Projects
None yet
Development

No branches or pull requests

3 participants