# Server

- [Introduction](/docs/server/introduction.md): Adamite is a self hosted consolidated server that you're in complete control of.
- [Database](/docs/server/database.md)
- [Configuration](/docs/server/database/configuration.md): By default, Adamite will attempt to connect to a locally running RethinkDB instance on the default port of 28015. You can change this within the adamite.js config file.
- [Using different adapters](/docs/server/database/using-different-adapters.md): Adamite is designed to work with RethinkDB, but you can connect to virtually any database using different adapters.
- [Memory Adapter](/docs/server/database/using-different-adapters/memory-adapter.md)
- [Securing your data](/docs/server/database/securing-your-data.md): By default Adamite doesn't enforce security on the database. When you're ready to configure security, you can do so with database rules.
- [Securing read operations](/docs/server/database/securing-your-data/securing-read-operations.md)
- [Functions](/docs/server/functions.md): Adamite Functions can be used to add custom server side logic to your application that you can't accomplish through the base database access.
- [Invokable Functions](/docs/server/functions/invokable-functions.md): Invokable Functions can be called from the client at will. They can be passed arguments and can return a value.
- [Runtime Functions](/docs/server/functions/runtime-functions.md): Runtime Functions are executed when the server starts. These functions are useful for starting any additional servers your back-end might require, or to establish connections to other services.
- [Scheduled Functions](/docs/server/functions/scheduled-functions.md): Scheduled functions are invoked on a defined schedule using cron syntax.
