Skip to content

linux-universe/nextcloud-podman-quadlets

Repository files navigation

nextcloud-podman-quadlets

nextcloud for podman, based on https://github.com/nextcloud/docker

Note

If you encounter any issues relating to this installation method, please raise an issue on this repository rather than bothering the official Nextcloud team.

Installation steps

  1. Either clone or manually write the quadlet files to /etc/containers/systemd/nextcloud:

For rootless Podman setups, clone the repository to ~/.config/containers/systemd/nextcloud instead.

git clone https://github.com/linux-universe/nextcloud-podman-quadlets.git /etc/containers/systemd/nextcloud
  1. Make sure to pass in values for MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD variables before you run this setup

  2. Reload systemd:

    systemctl daemon-reload
  3. Then start the nextcloud pod:

    systemctl start nextcloud-pod

Run steps 3 and 4 with the --user argument for rootless setups.

Accessing the Nextcloud command-line interface (occ)

$ podman exec -it --user www-data systemd-nextcloud php occ

Reverse Proxy

It is highly recommended that you run this setup with a reverse proxy. To use it, uncomment the reverse proxy-related lines in nextcloud.container.

Make sure you configure the necessary redirects for service discovery: https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/reverse_proxy_configuration.html#service-discovery.

It is also recommended that you configure HSTS. Please check the documentation for your reverse proxy for further information.

caddy example:

https://example.xyz:443 {
# HSTS
	header {
		Strict-Transport-Security max-age=31536000;
	}

# redirects
	redir /.well-known/carddav /remote.php/dav/ 301
	redir /.well-known/caldav /remote.php/dav/ 301

# reverse proxy
	reverse_proxy localhost:8080
}

Euro-Office

  1. Create a new file named euro-office.container
[Container]
#AutoUpdate=registry
Image=ghcr.io/euro-office/documentserver:latest
Environment=JWT_SECRET=<provide-a-secret-here>
PublishPort=8081:80

[Service]
TimeoutStartSec=900

[Install]
WantedBy=default.target
  1. Start with systemctl daemon-reload && systemctl restart euro-office

  2. Don't forget to configure your reverse-proxy with it Caddy example:

https://office.example.xyz:443 {
	reverse_proxy localhost:8081
}
  1. Install and configure the Euro-Office Nextcloud integration with your secret and reverse-proxied URL.

Install and configure the Nextcloud Talk High-performance backend

Follow the steps in the guide at https://nextcloud-talk.readthedocs.io/en/latest/quick-install/#installation-steps. For Step 2, however, follow these instructions instead:

  1. Uncomment the additional exposed ports in nextcloud.pod

  2. Create a new file named nextcloud-talk-hpb.container:

[Container]
AutoUpdate=registry
Pod=nextcloud.pod
Image=ghcr.io/nextcloud-releases/aio-talk:latest
Environment=NC_DOMAIN=<your_domain>
Environment=TALK_HOST=<your_signaling_domain>
Environment=TALK_PORT=3478
Environment=TURN_SECRET=<your_turn_secret>
Environment=SIGNALING_SECRET=<your_signaling_secret>
Environment=INTERNAL_SECRET=<your_internal_secret>

[Service]
TimeoutStartSec=900
  1. Restart your Pod with systemctl daemon-reload && systemctl restart nextcloud-pod

About

nextcloud for podman

Resources

License

Stars

6 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors